Динамические схемы трейда
Полное описание.

- Это изменяемые по расписанию и/или условию схемы трейда.

Зачем это нужно?

  1. Автоматическое поддержание нужного возврата трейдерам.
    Предположим что Вы хотите возвращать трейдерам ровно 110% от трафика, который они прислали Вам. Продуктивности на Вашем сайте может либо хватать с избытком (трейдеры 'переливаются' - необходимо увеличить *скимминг), либо не хватать (трейдеры недополучают трафика, необходимо уменьшить скимминг). Таким образом, изменяя схему трейда (по сути - скимминг) Вы влияете на возврат трейдерам.
  2. Изменение скимминга в зависимости от времени суток и дня недели.
    Всем известно, что имеются суточные провалы и подъёмы трафика. Связано это само собой с физиологией человека - ночью люди чаще всего спят, а в Интернете бывают чаще всего утром и днем. Поэтому когда в США ночь (а американцы - весомая часть посетителей) - на сайтах наблюдается провал трафика. Причем падение трафика наблюдается не только у Вас, но и у всех Ваших трейдеров. А теперь представьте - в период сильного падения трафика (по графику 'Hourly stats' этот период легко определить), скажем часа на 3 Вы уменьшаете скимминг с 60% до 30%. Скрипт начнет отдавать трафика трейдерам больше! В моменту очередного подъема трафика скимминг автоматически вернется к прежним 60%, но во время провала трафика вы не только не уменьшили отдачу трейдерам, а наоборот - увеличили ее! В итоге Ваш сайт будет находится в более выгодном положении у трейдеров, чем если б динамическая схема трейда не применялась.
    То же касается и провалов трафика по выходным - на субботу и воскресенье (к примеру) можно установить схему трейда со слегка уменьшенным скиммингом.

* Скимминг здесь - это процент трафика, идущий на галереи.

Принцип работы динамических схем.

Для каждой схемы трейда можно добавить неограниченное количество правил (условий), при срабатывании которых меняется схема трейда. У каждого правила имеется свой вес (Rule priority) - чем больше вес, тем выше правило в очереди на проверку. Если для схемы сработало какое-либо правило, и имеются другие правила, с меньшими весами - они проверяться не будут. В период действия какой-либо схемы проверки на другие условия не происходят. Если по прошествии времени действия схемы проверка динамических схем не показала необходимости выполнения какой-либо схемы, то включается схема по умолчанию.

Если какая-либо динамическая схема активна, то в соответствующей колонке 'In Use' будет показано время действия этой схемы с момента включения. Иначе же в этой колонке будет пусто.

Для того чтобы из обычной схемы трейда сделать 'динамическую' нужно:

  1. В меню Settings -> Trade Schemes поставить галочку 'Use Dynamic' напротив нужной схемы трейда и нажать 'Update'.

     
  2. Нажав на ссылку 'Edit' задать правило(а) включения динамической схемы.

     

Динамические схемы могут включаться либо по расписанию, либо при выполнении заданного условия.

Включение схемы по расписанию.

Здесь все просто - в таком же формате как и расписание заданий для крона задается время, в которое будет включаться схема трейда. В поле Duration задается продолжительность (в минутах), в течении которого данная схема будет работать.
Описание формата задания времени:

1 2 3 4 5
Минуты Часы День месяца Номер месяца День недели
0-59 0-23 1-31 1-12 0-6
0 - воскресенье
1- понедельник
....
6- суббота
  • * - означает 'каждый/каждая'.
  • Через дефис указываются диапазоны.
  • Через запятую указываются несколько значений


Примеры:
* 7 * * * - в каждую минуту каждого дня в 7 часов утра
0-15 10 * * 1 - в первые 15 минут 10го часа каждого понедельника
10-20 20 * * 5 - в каждую пятницу в 20 часов в период с 10 до 20 минут
* 10-15 * * 0,5,6 - в пятницу, субботу и воскресенье, в период с 10ти утра до 15 часов.

ВАЖНО!
Учитывая специфику запуска 'крона' в самом протоне (крона как такового нет, пересчет статистики запускается только при наличии трафика на сайте, приблизительно каждые 2 минуты - тем точней чем больше трафика) я бы рекомендовал указывать не точную минуту запуска схемы, а диапазон минут (хотя бы минут 10, лучше больше), чтобы в этот диапазон времени кто-то точно был на сайте и инициировал запуск крона. Просроченные задания выполняться не будут!

Включение схемы по условию.

Имеется Condition1 (что сравнивается), Condition2 (с чем сравнивается) и sign (знак) между ними.
В condition1 и condition2 допускается использовать 30 заранее рассчитанных переменных, константы, и операции над ними. Например:

condition1 sign condition2
$Dout/($Din+1) >= 0.8

- динамическая схема включится если указанное отношение Dout/($Din+1) будет больше или равно 0.8

ВАЖНО!
Если вы используете дроби, то прибавляйте к знаменателю единицу. Это позволит избежать деления на ноль в некоторых случаях.
Список доступных переменных:

$Din Общее количество raw инов за прошедшие 24 часа
$Din1 Общее количество raw инов за период 25 часов назад - 1 час назад
$Din24 Общее количество raw инов за период 48 часов назад - 24 часа назад
$Dout Количество raw аутов на трейд за прошедшие 24 часа
$Dout1 Количество raw аутов на трейд за период 25 часов назад - 1 час назад
$Dout24 Количество raw аутов на трейд за период 48 часов назад - 24 часа назад
$Dclick Общее количество raw кликов за прошедшие 24 часа
$Dclick1 Общее количество raw кликов за период 25 часов назад - 1 час назад
$Dclick24 Общее количество raw кликов за период 48 часов назад - 24 часа назад
$Hin Общее количество raw инов за прошедший час
$Hin1 Общее количество raw инов за период 2 часа назад - 1 час назад
$Hin24 Общее количество raw инов за период 25 часов назад - 24 часа назад
$Hout Количество raw аутов на трейд за прошедший час
$Hout1 Количество raw аутов на трейд за период 25 часов назад - 1 час назад
$Hout24 Количество raw аутов на трейд за период 25 часов назад - 24 часа назад
$Hclick Общее количество raw кликов за прошедший час
$Hclick1 Общее количество raw кликов за период 25 часов назад - 1 час назад
$Hclick24 Общее количество raw кликов за период 25 часов назад - 24 часа назад
$TradeDin Количество raw инов от трейдеров за прошедшие 24 часа
$TradeDin1 Количество raw инов от трейдеров за период 25 часов назад - 1 час назад
$TradeDin24 Количество raw инов от трейдеров за период 48 часов назад - 24 часа назад
$TradeDout Количество raw аутов на трейд от трейдеров за прошедшие 24 часа
$TradeDout1 Количество raw аутов на трейд от трейдеров за период 25 часов назад - 1 час назад
$TradeDout24 Количество raw аутов на трейд от трейдеров за период 48 часов назад - 24 часа назад
$TradeHin Количество raw инов от трейдеров за прошедший час
$TradeHin1 Количество raw инов от трейдеров за период 2 часа назад - 1 час назад
$TradeHin24 Количество raw инов от трейдеров за период 25 часов назад - 24 часа назад
$TradeHout Количество raw аутов на трейд от трейдеров  за прошедший час
$TradeHout1 Количество raw аутов на трейд от трейдеров  за период 25 часов назад - 1 час назад
$TradeHout24 Количество raw аутов на трейд от трейдеров  за период 25 часов назад - 24 часа назад

ВАЖНО!
  • Переменные чувствительны к регистру. Употребляйте их именно в таком виде, как они представлены в таблице. Для удобства редактирования кода в админ-зоне щелкните по кнопке с той или иной переменной чтобы она скопировалась в буфер обмена.

Если Вы знаете как можно усовершенствовать фичу 'Динамические схемы трейда' или Вам не хватает каких-либо дополнительных опций - напишите мне на мыло protontm@gmail.com - если идея мне понравится, я обязательно реализую ее.


Успехов!