Работа завершена
Техническое задание
Нужно написать код советника, который ведёт сделки по принципу Zone Recovery.
Кратко: робот строит сетку ордеров, которая должна закрыться в общем безубытке или с заданной прибылью.
Механизм:
Основная функция советника – выводить убыточную сделку в безубыток или плюс.
Перед открытием первой сделки вручную, задаём её параметры (пункты 1-3), а также Stop Loss, роль которого выполняет пункт 5.
Пункты 4 и 6 включаются только при условии, что первая сделка ушла в минус (или в нем находится).
Восстановление – это серия сделок, которые открывает советник при проходе цены зоны, указанной в пункте 5.
Это аналог Stop Loss с той разницей, что первая убыточная сделка не закрывается, а к ней добавляется встречная (Stop ордер) с большим объемом.
Этот отложенный ордер устанавливается на противоположную границу зоны восстановления сразу же в момент открытия стартовой сделки. Если стартовая сделка закрылась в плюс или по безубытку, он удаляется.
При прохождении выбранной зоны восстановления робот открывает новые сделки в разных направлениях (не более, чем разрешено в пункте 4).
Для открытия встречной сделки необходимо пробитие зоны восстановления с обратной стороны. Советник отслеживает, чтобы новый sell открывался только после buy (а не две сделки в одном направлении подряд).
Сделки удерживаются, пока вся группа не достигнет заданной прибыли в пункте 6. Затем робот их закрывает.
Наращивание объёмов:
Выполняется по выбранному в пункте 7 сценарию, который активирует таблицу множителей.
В момент запуска советник проверяет, есть ли открытая сделка. Если да, то рассчитывает для неё сценарий восстановления и сопровождает (выставляет stop ордер).
Подробное ТЗ в приложении.