工作已完成
指定
1. Настраиваемые параметры:
а) сумма профита, при которой необходимо закрыть сетку;
б) время старта торговли (в часах и минутах);
в) расстояние S между ордерами (в пунктах пятизначных котировок);
г) объем (для всех ордеров одинаковый)
д) направление торговли (buy или sell).
2. Алгоритм:
Советник в указанное время старта открывает один рыночный ордер и от него на одинаковом друг от друга расстоянии S, указанном в параметрах, выставляет 4 отложенных ордера (если рыночный ордер buy, то ордера типа buy stop, если sell — sell stop, лимитные ордера не используются). Всего получается 5 ордеров (1 рыночный + 4 отложенных) на одинаковом расстоянии друг от друга (см. скриншот).
Сразу же при открытии рыночного ордера выставляется стоп-лосс для всех ордеров на одном уровне, находящемся на расстоянии равном 4*S (в четыре раза больше S) от рыночного ордера.
Далее возможны три сценария:
а) цена идет к стоп-лоссу, тогда после срабатывания стоп-лосса все отложенные ордера отменяются и торговля останавливается;
б) цена касается отложенного ордера, стоп-лосс для всех ордеров переносится на новый уровень, соответствующий расстоянию 4*S от уровня общего безубытка сетки;
в) прибыль по открытым позициям достигает указанной в параметрах суммы, тогда закрываются все позиции и торговля останавливается.
3. Моменты связанные с отключениями автоматической торговли, отсутствием связи, ручными ордерами, изменениями настроек.
Советник будет использоваться на реальном счете на выделенном сервере (VPS), поэтому важно обеспечить стабильность и гибкость его работы.
а) Если пропадает связь с торговым сервером, то советник должен продолжить работу, как только связь восстановится.
б) Если была отключена автоматическая торговля пользователем, то при включении автоматической торговли установленный советник должен либо продолжить выполнять торговый алгоритм (если есть ордера, которые открывал советник), либо начать алгоритм заново, ориентируясь на время старта торговли (если нет открытых ордеров).
в) Если пользователь включил советника с выбранными параметрами, а потом решил изменить параметры, то советник принимает изменения в расчет только в том случае, если еще не наступило время старта торговли. Если пользователь пытается менять параметры уже после открытия первого ордера, то такие изменения игнорируются советником.
г) Если пользователь открыл ордер вручную или другим советником на счете, то во избежание нарушения алгоритма такие инородные ордера сразу же закрываются либо блокируются (если такое технически возможно).
4. Визуализация.
На графике должны отображаться крупным шрифтом только две суммы: сумма стартового баланса (на момент времени старта, указанного в параметрах) и сумма равная сумме баланса + сумма профита (которая указана в параметрах). Например, стартовый баланс равен 2000 USD, а профит указанный в параметрах равен 400 USD, тогда на графике будут указаны две суммы: 2000 USD и 2400 USD.
На скриншоте пример расположения ордеров при работе советника.
