Trabalho concluído
Termos de Referência
Техзадание на советника SWZ
Общее описание
Советник будет работать на терминале MT4, 4-5-значные котировки, подстраивается автоматически;
Стратегия трендовая по трем индикаторам – SRoc, ZigZag и %W. По SRoc и ZigZag определяется тренд, по %W открывается/закрывается ордер.
Торговля по одной валюте, на график которой установлен советник. Параллельно на другой валютной паре может работать такой же советник, но с другими параметрами, и они не должны мешать друг другу.
Работает на текущем таймфрейме и любой валюте.
Сигнал на открытие и закрытие ордера учитывается только после закрытия свечи.
Скриншот открытия и закрытия сделок здесь.
Условия открытия и закрытия ордеров на покупку.
Сначала определяется восходящий тренд при помощи индикаторов SRoc и ZigZag. Тренд является восходящим при возникновении одного из двух условий:
SRoc на текущей вершине ZigZag выше, чем на предыдущей или
SRoc на текущей впадине ZigZag выше, чем на предыдущей
На скриншоте моменты проверки этих условий отмечены вертикальными оранжевыми линиями.
Если условия п.2.1 выполнены, дожидаемся, когда %W пересечет уровень -80 сверху вниз. Открывается первый ордер (на скриншоте отмечено красной стрелкой вверх). Открытие ордера возможно также, если на текущей свече %W выше уровня -80, но на предыдущей свече был ниже.
Второй и последующие ордера открываются в качестве доливки каждый раз, как только %W опускается ниже уровня -80. Каждый ордер открывается только один раз, когда %W<-80. Следующие ордера открываются только если %W поднимается выше уровня -80 и потом опять опускается ниже. В данном примере открыто 3 сделки на покупку;
Все ордера на покупку закрываются при обратном сигнале индикаторов, т.е. сначала SRoc и ZigZag показывают тренд вниз (описано в п. 3.1). На скриншоте тренд вниз определяется по двум впадинам на ZigZag в 18.00 и 19.25. Потом ждем, когда %W пересечет уровень -20 (произошло в 19.50) и закрываем все сделки.
Условия открытия и закрытия ордеров на продажу противоположные.
Определяется нисходящий тренд при помощи индикаторов SRoc и ZigZag. Тренд является нисходящим при возникновении одного из двух условий:
SRoc на текущей вершине ZigZag ниже, чем на предыдущей или
SRoc на текущей впадине ZigZag ниже, чем на предыдущей
На скриншоте моменты проверки этих условий отмечены вертикальными оранжевыми линиями.
Если условия п.3.1 выполнены, дожидаемся, когда %W пересечет уровень -20 снизу вверх. Открывается первый ордер (на скриншоте отмечено красной стрелкой вниз в 19.50 одновременно с закрытием ордеров на покупку). Открытие ордера возможно также, если %W на текущей свече ниже уровня -20, но на предыдущей свече был выше.
Второй и последующие ордера открываются в качестве доливки каждый раз, когда %W поднимается выше уровня -20. Каждый ордер открывается только один раз, когда %W выше уровня -20. Следующие ордера открываются только если %W опускается ниже уровня -20 и потом опять поднимается выше. В данном примере открыто 4 сделки на продажу;
Все ордера на продажу закрываются при обратном сигнале индикаторов, т.е. сначала SRoc и ZigZag показывают тренд вверх (п.2.1). На скриншоте тренд вверх определился по двум вершинам на ZigZag в 22.00 и 23.00. Потом ждем, когда %W пересечет уровень -80.
Мани- и риск-менеджмент.
При достижении определенного уровня профита (параметр Breakeven) стоп лосс переносится в безубыток плюс/минус (для покупки/продажи) несколько пунктов (параметр ProfitLock);
Как только появляется сигнал на разворот тренда по индикаторам SRoc и ZigZag стоп лосс также переносится в безубыток:
для покупки: под последним минимумом ZigZag минус несколько пунктов (параметр ProfitLock)
для продажи: над последним максимумом ZigZag плюс несколько пунктов (параметр ProfitLock)
Перенос в безубыток по п.4.1 и 4.2 производится по принципу “что случилось раньше”, т.е. если раньше наступили условия п.4.1, то перенос в безубыток осуществляется по нему, если 4.2 - то соответственно, тоже.
Стоп лосс не переносится против позиции, если, например, случилась ситуация, когда п.4.1 и 4.2 противоречат друг другу.
Динамический лот. Размер лота определяется параметром Lot/1000, т.е.размер лота на 1000 единиц эквити. Например, если Lot/1000=0,1 применяются следующие соотношения:
Эквити | Лот |
100 | 0,01 |
500 | 0,05 |
1000 | 0,1 |
10000 | 1 |
Если при определенных значениях Lot/1000 низкий уровень эквити не позволяет установить нужный размер лота, то лот определяется как минимальное значение, которое разрешает брокер, т.е. 0,01. Например, при эквити 50 и Lot/1000=0,1 размер лота должен быть 0,005, но такого нет, поэтому ставится 0,01.
Входные параметры, которые задаются вручную:
Параметры | Ед. изм. | Описание |
параметры SRoc | ||
параметры ZigZag | ||
%W Period | Период %W | |
UpperLevel%W | Верхний уровень %W | |
BottomLevel%W | Нижний уровень %W | |
SL | пункты | Уровень стоп-лосса |
Breakeven | пункты | Уровень профита, при котором стоп переносится в безубыток |
ProfitLock | пункты | Уровень профита, который добавляется к цене открытия при переносе стопа в безубыток |
Lot/1000 | Размер лота на 1000 единиц эквити | |
MaxOrders | штук | Максимальное количество открытых ордеров по текущему инструменту |