Trabajo finalizado
Tarea técnica
1. Входные данные (все приведенные значения указаны по умолчанию, но они изменяемые, включая параметры индикаторов):
1.1. Входные торговые данные:
1.1.1. Начальный лот - 0.01.
1.1.2. Коэффициент умножения (мартин) - 1.5
//В последовательности объемы ордеров не должны повторяться! Если же мартин = 1, то все ордера одинаковые по объему, если мартин > 1, то при умножении предыдущего значения на мартин новое значение округляется в сторону следующего допустимого значения. Даже если мартин = 1.01, то последовательность ордеров будет такой: 0.01, 0.02, 0.03, 0.04, 0.05, 0.06 ….
1.1.3. Шаг сетки по ATR - 1.0
//Коэффициент умножается на текущий показатель ATR и получаем размер шага сетки.
1.1.4. Период модификации отступа (секунды) - 3600
//После выставления отложенного ордера через заданное количество времени если ордер не активировался, то он передвигается относительно цены с заданным отступом (следующий пункт ТЗ).
1.1.5. Отступ сетки от текущей цены по ATR - 0.5
//Коэффициент умножается на показатель ATR и получаем размер отступа отложенного ордера от цены.
1.1.6. Количество баров подряд одного цвета на установку отложенного ордера (Q) - 3
//Здесь вводим понятие «цветности бара»: Цвет бара красный - MA падает, OsMA падает. Цвет бара зеленый - MA растет, OsMA растет. Цвет бара синий - MA и OsMA разнонаправленны. Число Q означает № бара по счету одним и тем же цветом, с 1 тика (или секунды) которого начинается проверка на цветность бара (следующий пункт ТЗ).
1.1.7. Период проверки (t) цвета бара (секунды) - 300
//На 1 тике (или секунде) нового бара № которого по счету = Q, при том, что цвета предыдущих баров удовлетворяют условию выставления отложенного ордера, советник выполняет первую проверку цвета бара, и далее через заданный интервал времени. Если бар сохранил свой цвет – ордер остается. Если бар сменил цвет – отложенный ордер удаляется. При каждой следующей проверке на Q баре отложенный ордер удаляется или снова выставляется в зависимости от цвета в момент проверки. Выставление/удаление отложенного ордера может происходить несколько раз за бар.
1.1.8. Максимальное количество ордеров на бар - 2
//Если ставим 0, то ограничений нет. Целое число >0 накладывает ограничение в количестве ордеров разрешенных к открытию на одном баре. При достижении данного значения на одном баре (в данном примере 2) новые ордера не открываются до появления новой свечи (т.е. лимитный ордер удаляется). В момент открытия следующего бара проверяется расстояние от последнего открытого ордера до текущей цены. Если расстояние больше чем шаг сетки, то по текущей цене открывается следующий по объему ордер, и выставляется следующий отложенный ордер. Если же расстояние меньше чем шаг сетки, то на расстоянии шага сетки от последнего открытого ордера выставляется следующий по логике отложенный ордер.
1.1.9. Магическое число - 1001
1.1.10. Локирование по просадке ($) - 100
//Если ставим 0, то локирование отключено. При достижении просадкой указанного значения советник удаляет все отложенные ордера и входит по текущей цене одним ордером суммарным объемом открытой сетки в противоположном направлении. Т.е. происходит полное локирование. Далее автоматическая торговля приостанавливается.
1.1.11. Трал мани старт ($) - 10
//Если ставим 0, то трал мани не действует. Если значение >0, то при достижении указанного значения включается трал мани. При откате на указанное значение $ (следующий пункт ТЗ) закрываются все позиции и удаляются все отложенные ордера.
1.1.12. Шаг/Откат трал мани ($) - 1
//После активации трала: если цена движется в нашу сторону (прибыль на счетчике растет), то через шаг трала фиксируется несгораемая сумма, если же сумма на счетчике откатывается назад на установленное значение, то сетка закрывается с прибылью "фиксированной несгораемой суммой".
1.1.13. Трал поинтс старт (пункты) - 50
//Если ставим 0, то трал поинтс не действует. Если значение >0, то при достижении указанного значения включается трал поинтс. При откате на указанное значение пунктов (следующий пункт ТЗ) закрываются все позиции и удаляются все отложенные ордера. Трал поинтс старт отсчитывается от точки безубытка текущей набранной сетки ордеров и пересчитывается при каждом новом открытом ордере.
1.1.14. Шаг/Откат трал поинтс (пункты) - 10
//После активации трала: если цена движется в нашу сторону (прибыль на счетчике растет), то через шаг трала фиксируется "несгораемая цена выхода сети", если же сумма на счетчике откатывается назад на установленное значение, то сетка закрывается с прибылью "фиксированной несгораемой цены выхода сетки".
1.1.15. Закрытие сетки при смене цвета бара - 3
//Действует только когда активирован хотя бы 1 ордер. Если ставим 0, то закрытие по смене цвета баров не действует. Если значение >0, то при закрытии заданного по счету во входных параметрах бара цветом, отличающимся от цвета баров на которых набрана сетка, советник проверяет, есть ли минимальная прибыль (следующий пункт ТЗ), если прибыль удовлетворяет параметрам во входных данных, то сетка закрывается и удаляется отложенный ордер. Если минимальная прибыль в сетке не достигнута в данный момент, то сетка продолжает существовать, пока условие по цветности баров соблюдается - сетка будет немедленно закрыта при достижении минимальной прибыли. Если снова появляется закрытый бар цветом, на котором была раскинута сетка, то отсчет баров по данной функции для закрытия сетки обнуляется.
1.1.16. Минимальная прибыль к закрытию по цвету ($) - 1
1.1.17. Время начала торговли - 01:00
1.1.18. Время окончания торговли - 06:00
//Если выставленный отложенный ордер до окончания времени торговли не активировался, то он удаляется и советник ждет разрешения на торговлю по времени.
1.2. Входные индикаторные данные:
ОsMA //Индикатор ответственный за формирование «цвета бара» - сигнала к действию советника.
1.2.1. Период быстрого EMA - 8
1.2.2.. Период медленного EMA - 60
1.2.3. Период MACD SMA - 24
1.2.4. Тип цены - median price HL/2
MA //Индикатор ответственный за формирование «цвета бара» - сигнала к действию советника.
1.2.5. Период - 60
1.2.6. Тип цены – median price HL/2
1.2.7. Метод усреднения - Smoothed
Envelopes //Индикатор ответственный за фильтрование размера баров. Т.е. если цена в момент проверок цвета бара через интервал времени t (п.1.1.7. ТЗ) находится внутри линий индикатора, то отложенный ордер не выставляется. Если же цена в момент проверки цвета бара находится за пределами канала, то разрешено выставить отложенный ордер.
1.2.8. Период - 5
1.2.9. Тип цены - median price HL/2
1.2.10. Метод усреднения - Simple
1.2.11. Отклонение - 0.05
ATR //Индикатор ответственный за формирование отступа сетки от цены и шага сетки.
1.2.12. Период - 14
2. Алгоритм работы советника:
Пример входных параметров:
2.1. Настройки входа:
Начальный лот - 0.01
Коэффициент умножения (мартин) - 1.1
Шаг сетки по ATR - 1.25
Период модификации отступа (секунды) - 3600
Период проверки (t) цвета бара (секунды) - 300
Отступ сетки от текущей цены по ATR - 0.5
Количество баров подряд одного цвета на установку сетки (Q) - 3
Максимальное количество ордеров на бар - 2
Фильтр по Envelopes: 5, median price HL/2, Simple, 0.05.
2.2. Настройки выхода:
Локирование по просадке ($) - 100
Трал мани старт ($) - 10
Шаг трал мани ($) - 2
Трал поинтс старт (пункты) - 50
Шаг трал поинтс (пункты) - 10
Закрытие сетки при смене цвета бара - 3
Минимальная прибыль к закрытию по цвету ($) - 1
2.3. Вход в сделки:
2.3.1. OsMA растет, МА падает - синий бар. Отложенных ордеров нет. Торговли нет.
2.3.2. OsMA растет, МА растет на протяжении 2 баров, АТR=0,00247. При открытии 3 бара (значение Q) на 1 тике (или секунде) выполняется проверка цвета бара – цвет зеленый. В момент проверки цвета бара цена находится выше верхней линии Envelopes. Условия выполнены - выставляется отложенный ордер на продажу на расстоянии 0,00247*0,5 от текущей цены (т.к. Отступ сетки от текущей цены по ATR - 0.5).
2.3.3. Далее с интервалом t проводится проверка на цветность бара. Если зеленые – ордер остается в игре, при смене цвета – отложенный ордер удаляется. При окрасе снова в зеленый – отложенный ордер опять выставляется, и т.д.
2.3.4. Если по установленной цене в течение 3600 секунд ордер не сработал, но цвет баров остался зеленый, то происходит модификация ордера с учетом нового значения ATR. Перестановка ордера на новый отступ: расстояние 0,5*ATR от текущей цены.
2.3.5. Если первый ордер сработал, то в момент срабатывания первого ордера идет фиксация показания ATR, например 0,00345 и выставление следующего ордера объемом 0,02 на расстояние шага сетки с учетом ATR т.е. 0,00345*1,25. Каждый последующий ордер выставляется с учетом значения ATR в момент срабатывания предыдущего ордера.
2.3.6. Если на одном баре уже сработало 2 ордера (Максимальное количество ордеров на бар – 2), то вне зависимости от величины дальнейшего движения на данном баре больше не срабатывают ордера.
2.3.7. Если на открытии следующего бара выполняется условие «шаг сетки < расстояния от цены до последнего открытого ордера» (см. п.1.1.8 ТЗ), то по текущей цене открывается следующий по объему ордер и выставляется следующий за ним отложенный ордер. Если условие не выполняется, и это шаг сетки больше этого расстояния, то на расстоянии шага сетки от последнего ордера выставляется следующий отложенный ордер.
2.4. Выход из сделок:
2.4.1. Допустим цена пошла против нас и уже на счетчике прибыли просадка 100$, - советник должен удалить все отложенные ордера и выставить рыночный противоположный набранной сетке ордер равный суммарному объему сетки (т.е. полное локирование). После локирования советник перестает реагировать на сигналы к открытию новых позиций.
2.4.2. Тралы. После набора сетки цена идет вниз - в направлении прибыли. Количество баров поменявших цвет меньше 3 (Закрытие сетки при смене цвета бара – 3). Если начался тралл мани то сетка будет выходить по нему (трал поинтс не действует) или по цвету баров, если трал поинтс сработал первый то выход сетки будет по нему (трал мани не действует) или по цвету баров.
2.4.3. Если цена пошла вниз и сработал один из тралов, то закрытие сетки случится при откате на заданное значение $/пунктов (шаг тралов = откату трала). Если корзина ордеров достигла 12$, то минимальный выход уже 10$, если прибыль достигла 18$ то минимальный выход будет уже 16$. Аналогично с тралом по пунктам, если он сработает первей чем трал мани.
2.4.4. Закрытие сетки при смене цвета бара. Если тралы не включились, а уже 3 бара не зеленые и прибыль от сетки составляет >=1$ (Минимальная прибыль к закрытию по цвету), то сетка закрывается. Если же 3 бара не зеленые, а прибыль в 1$ не достигнута, то советник ожидает на счетчике эту прибыль или же добора ордеров.
3. Кнопки
Нужна панель управления советником в окне метатрейдера, содержащее следующие кнопки:
3.1. Кнопка Buy. Когда кнопка нажата, то она подсвечена другим цветом (что бы было видно, что она нажата) – она позволяет советнику выставлять отложенный ордер buylimit. Отжатие кнопки удаляет и запрещает выставление отложенного ордера. Если уже имеются открытые ордера, то они остаются в игре, а отложенный ордер удаляются.
3.2. Кнопка Sell. Аналогично кнопке Buy, но распространяется на selllimit.
3.3. Кнопка CloseBuy. На кнопке горит текущая прибыль/убыток (с учетом свопов). При нажатии закрывает все позиции buy ордеров (открытые и отложенные). Кнопка разового нажатия. Но желательно что бы было видно как она нажимается, например при нажатии затемнилась, и пока не закроет и не удалит все ордера она не посветлеет – для наглядности.
3.4. Кнопка CloseSell.Аналогично кнопке CloseBuy, но распространяется на ордера sell и selllimit.
3.5. Кнопка ручное локирование (Lock). На кнопке горит текущий суммарный объем всех открытых позиций. При нажатии советник удаляет отложенный ордер и локирует открытые позиции суммарным объемом одним ордером и прекращает автоматическую торговлю. Кнопка разового нажатия. Но желательно что бы было видно как она нажимается, например при нажатии затемнилась, и пока не удалит все отложенные ордера и не откроет локирующий ордер она не посветлеет – для наглядности.
3.6. Кнопка StopTrade. Когда кнопка нажата, то она подсвечена другим цветом (что бы было видно, что она нажата) – Когда кнопка нажата, то в случае выхода сетки по прибыли или закрытии кнопками Close в автоматическом режиме советник больше не будет раскидывать сеток и входить в торговлю. Когда кнопка отпущена, то советник торгует в автоматическом режиме: раскидывает сетки снова после закрытия предыдущей сетки по прибыли или по нажатию кнопок Close.
3.7. Кнопка Clear. Кнопка разового нажатия. При нажатии кнопки график цены очищается от объектов рисования (стрелок, пунктирных линий…).
3.8. Нужна возможность вкл/откл панель во входных данных для облегчения процесса тестирования.
4. Особенности работы советника
1) Советник не должен терять свои ордера при исчезновении/восстановлении Интернет-соединения, закрытии (или зависании) метатрейдера, а так же, при экстренном отключении ПК на котором работает советник. Что бы после включения ПК, и запуска метатрейдера, советник находил ордера которые он открыл сам, подхватывал их и завершал сделку согласно алгоритму.