User Tools

Site Tools


ru:trade_formula

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
ru:trade_formula [2014/11/12 16:47]
admin [Какая формула лучше]
ru:trade_formula [2023/07/21 08:06] (current)
admin [Trade Formula]
Line 1: Line 1:
 +====== Trade Formula ======
 + 
 +**Trade Formula** – формула, по которой скрипт вычисляет приоритет каждого трэйда, а как известно, чем выше приоритет тем выше вероятность трэйдеру получить хит. Итак, все трэйдеры ранжируются по нескольким параметрам 
 +  TOTAL_OWED общая задолженность 
 +  HOUR_OWED часовая задолженность 
 +  HOUR_HITS кол-во хитов за час 
 +  HOUR_PROD продуктивность за текущий час 
 +  TOTAL_HITS общее кол-во хитов 
 +  TOTAL_PROD общая продуктивность 
 +  TOTAL_OUT2CLICK общее соотношение аутов к кликам
 +  HOUR_OUT2CLICK – часовое соотношение аутов к кликам
 +  TOTAL_RELOWN общая задолженность относительно величины трэйда, те если мы должны 10 при трэйде в 10к то это не так страшно как 10 при трэйде в 50 хитов. 
 +  HOUR_RELOWN часовая относительная задолженность 
 +
 +При расчете приоритета каждый из этих параметров учитывается в определенной степени, какой-то параметр для нас важнее, какой-то менее важен. Формула показывает, на какой параметр скрипт должен придавать больше веса. Если вам в этой формуле что-то не ясно, то лучше ничего не меняйте. 
 +
 +
 +Классическая 
 +
 +  TOTAL_OWED*0.2 + 
 +  HOUR_OWED*0.2 +
 +  HOUR_HITS*0 + 
 +  HOUR_TRADE_PROD*0+
 +  HOUR_PROD*0 + 
 +  TOTAL_HITS*0 + 
 +  TOTAL_TRADE_PROD*0.2+
 +  TOTAL_PROD*0 +
 +  TOTAL_OUT2CLICK*0 + 
 +  HOUR_OUT2CLICK*0 + 
 +  TOTAL_RELOWN*0.4 + 
 +  HOUR_RELOWN*0  
 +
 +
 +Порядок цифры ничего не значит, те можно смело умножать на 100, 1000 или 100000 - результат будет тот же, важно соотношение между весами параметров. 0.2 и прочее тут сделано лишь в целях удобства восприятия - те сумма всех весов = 1. Если мы сделаем какой-то параметр с 0.1 на 0.2 - это значит увеличим его вес на 10%.
 +
 +
 +
 +
 +
 +
 +Формула awm_mark
 +
 +<code>
 +TOTAL_OWED*0 + 
 +HOUR_OWED*0 +
 +HOUR_HITS*1 + 
 +HOUR_TRADE_PROD*0 +
 +HOUR_PROD*1 + 
 +TOTAL_HITS*9 + 
 +TOTAL_TRADE_PROD*3 +
 +TOTAL_PROD*1 +
 +TOTAL_OUT2CLICK*0 + 
 +HOUR_OUT2CLICK*0 + 
 +TOTAL_RELOWN*5 + 
 +HOUR_RELOWN*0 
 +</code>
 +
 +
 +
 +
 +===== Какая формула лучше =====
 +
 +Если б какая-то конкртеная формула была лучше всех и на все случаи жизни, и это было точно известно - почему бы ее не зашить ее прямо в скрипт ? зачем писать в вики и делать откротой формулу в сетингах ?
 +
 +
 +===== Formula Limits =====
 +
 +Поскольку сама по себе формула предполагает какие-то вычисления, то есть 2 варианта их вычисления.
 +
 +1. Когда скрипт разбирает формулу и пытается сам разобраться в  + - и прочем.
 +
 +2. Когда скрипт делает eval - это когда данный вами кусок выполняется непосредственно самим пхп.
 +
 +Вариант 1 используется по умолчанию тк он более безопасный. Однако он не умеет делать сложные вычисления, а только +- */
 +
 +Вариант 2 умеет все что умеет пхп, однако, он менее безопасный. 
 +Дело в том, что крон запускается от имени пользователя, следовательно в варианте 2 весь код, который вы можете вписать в админке, будет выполнен от имени пользователя.
 +
 +Те в вариенте 2 если кто-то попадет в админку или сможет писать в базу у вас на серваке - фактически сможет выполнить, что угодно на сервере от имени пользователя.
 +
 +Дабы включить такой вариант вам надо добавить в config.php
 +
 +$config['allow_eval'] = true;
 +
 +и тогда в формуле можно использовать любой пхп код.
 +
 +
 +
 +По умолчанию в формуле трейда можно использовать только
 +
 +$config['allow_eval'] = true;
 +
 +
 +С этим параметром можно использовать Формулы предложенные пользователями
 +
 +<code>
 +
 +Fett
 +http://smartcj.com/forum/viewtopic.php?f=2&t=93113&start=20
 +
 +1; $_POST[priority] = @round( (((($d['day']['cd']/$d['day']['od'])*100)*0.7) + ((($d['day']['ud']/$d['day']['rd'])*100)*0.3)) + ( (((($d['day']['rd']-$d['day']['od'])/$d['day']['rd'])*100)*0.25) + ((($d['day']['rd']/$d['day']['od'])*100)*0.75) ) );
 +
 +
 +</code>
 +
 +
 +
 +Простой вариант
 +<code>
 +  $_POST[priority] = @round( ($d['day']['ctd']+$d['day']['cud'])/$d['day']['od']* $d['trat'] / 100);
 +</code>
 +
 +
 +Пользовательские формулы 
 +
 +<code>
 +  $_POST[priority] = round ( (( ( ($d['day']['thishourct']+$d['day']['thishourcu'])/($d['day']['thishouro']+1)*100)/3) 
 +  +((($d['day']['ctd']+$d['day']['cud'])/($d['day']['od']+1)*100)/2))
 +  *pow(round((($d['day']['last_click'])/($d['day']['od']+1))*100)/100,1) )
 +</code>
 +
 +
 +
 +
 +переменные для кастом формул
 +
 +<code>
 +$d[trat] - trade ratio
 +
 +$d[day] => Array
 +    (
 +        [rd] => rows
 +        [ud] => uni
 +        [od] => out
 +        [cd] => clicks daily
 +        [ctd] => clicks trade daily
 +        [cud] => clicks url daily
 +        [quality] => quality to trade (prod using quality settings)
 +        [quality_url] => quality to url(prod using quality settings)
 +        [pr] => in prozy count
 +        [pr_out] => out proxy count
 +        [ch] => cheat
 +        [ncd] => next click count
 +        [last_click] => last click count
 +        [thishouru] => this hour row
 +        [thishourr] => this hour uni
 +        [thishouro] => this hour out
 +        [thishourct] => this hour  click trade
 +        [thishourcu] => this hour  click url
 +        [thishourcq] => this hour quality
 +        [thishourcq_url] => this hour quality url
 +        [thishournc] => this hour next click
 +    )
 +
 +[prod] => Array
 +    (
 +        [hour_trade] => prod to trade 
 +        [hour_total] => 
 +        [day_trade] => 
 +        [day_total] => 
 +        [hour_out2click] => 
 +        [day_out2click] => 
 +    )
 +
 +</code>
 +