仕事が完了した
指定
Необходимо написать два аналогичных скрипта на установку сетки отложенных ордеров и один советник, выставляющий новые отложенные ордера в сетку отложенных ордеров по мере открытия отложенных ордеров, предварительно установленных скриптом, при движении цены.
1. Скрипт «LimitGrid» на установку сетки из отложенных ордеров sell limit выше текущей цены и buy limit ниже текущей цены.
Входные параметры скрипта:
- Volume (в лотах) - объем каждого отложенного ордера (по умолчанию 0,01).
- Step (в пунктах) - шаг сетки, через который открываются отложенные ордера (по умолчанию 50).
- Take_profit (в пунктах) – take profit каждого отложенного ордера (по умолчанию 50). Если равно 0, то take profit у отложенных ордеров не задаётся.
- Stop_loss (в пунктах) – stop loss каждого отложенного ордера (по умолчанию 0). Если равно 0, stop loss у отложенных ордеров не задаётся.
- Buy_from - начало сетки отложенных ордеров buy limit (цена первого отложенного ордера buy limit) (по умолчанию 0). Если равно 0, то ордера buy limit устанавливать не надо.
- Buy_to - конец сетки отложенных ордеров buy limit (цена последнего отложенного ордера buy limit) (по умолчанию 0). Если не кратно шагу сетки от цены Buy_from, то последний ордер должен быть с предыдущей Buy_to ценой, кратной шагу сетки.
Buy_from < Buy_to.
Примеры правильно заданных параметров:
Buy_from 0 Buy_to 0 - скрипт не выставляет ордера buy limit.
Buy_from 0 Buy_to 125.00 - скрипт не выставляет ордера buy limit.
Buy_from 110.00 Buy_to 125.00 - скрипт выставляет сетку с первым ордером по цене 110.00 и последним ордером по цене 125.00
Примеры НЕправильно заданных параметров:
Buy_from 125.00 Buy_to 110.00 - скрипт возвращает ошибку.
- Sell_from - начало сетки отложенных ордеров sell limit (цена первого отложенного ордера sell limit) (по умолчанию 0). Если равно 0, то ордера sell limit устанавливать не надо.
- Sell_to - конец сетки отложенных ордеров sell limit (цена последнего отложенного ордера sell limit) (по умолчанию 0). Если не кратно шагу сетки от цены Sell_from, то последний ордер должен быть с предыдущей Sell_to ценой, кратной шагу сетки.
Sell_from > Sell_to.
Примеры правильно заданных параметров:
Sell_from 0 Sell_to 0 - скрипт не выставляет ордера sell limit.
Sell_from 0 Sell_to 110.00 - скрипт не выставляет ордера sell limit.
Sell_from 125.00 Sell_to 110.00 - скрипт выставляет сетку с первым ордером по цене 125.00 и последним ордером по цене 110.00
Примеры НЕправильно заданных параметров:
Sell_from 110.00 Sell_to 125.00 - скрипт возвращает ошибку.
2. Скрипт «StopGrid» на установку сетки из отложенных ордеров buy stop выше текущей цены и sell stop ниже текущей цены. Полностью аналогичен скрипту LimitGrid, только выставляет ордера по типу stop, a не limit. Отложенные ордера, выставленные скриптом StopGrid не должны приниматься во внимание советником LimitGrid.
3. Советник «LimitGrid», который работает с отложенными ордерами только типа limit, предварительно открытыми только скриптом LimitGrid или самим советником (buy limit и sell limit). При открытии предварительно установленного отложенного ордера (когда цена достигает цены открытия отложенного ордера), советник должен установить новый отложенный ордер такого же объёма и с таким же take profit, но в противоположном направлении. Например, открылась позиция по отложенному ордеру buy limit по цене 110.00 с целью 110.25. Необходимо, чтобы после выполнения этого условия (то есть открытия отложенного ордера buy limit), советник установил новый отложенный ордер sell limit по цене 110.25 с целью 110.00. И аналогично, но наоборот, при открытии позиции по отложенному ордеру sell limit советник устанавливает отложенный ордер buy limit.
Таким образом, назначение советника – заполнять сетку отложенных ордеров недостающими отложенными ордерами, которые образуются при открытии позиций по ранее установленным отложенным ордерам.
- Советник без входных параметров: все параметры вновь устанавливаемых советником отложенных ордеров (объём Volume, цена, цель Take_profit) должны быть взяты советником из открывающегося предварительно установленного отложенного ордера.
- Советник должен ориентироваться только на отложенные ордера, установленные скриптом только LimitGrid и установленные самим советником. То есть советник НЕ должен брать какие-либо параметры с открытых позиций или позиций и отложенных ордеров, выставленных НЕ советником и НЕ скриптом LimitGrid (например, выставленных вручную).
- Сетка отложенных ордеров должна быть ровной, строго по шагу первоначальной сетки, расставленной скриптом LimitGrid и самим советником, вне зависимости от проскальзываний при фактическом открытии позиций.
Коды не должны быть заблокированы для просмотра и содержать комментарии, поясняющие операторы в коде и алгоритм работы скриптов/советника.