工作已完成
![](https://c.mql5.com/i/avatar/avatar_na2.png)
![](https://c.mql5.com/i/avatar/avatar_na2.png)
指定
Добрый день!
Есть версия советника, которую нужно модифицировать.
Суть текущей версии такова:
Есть индикатор корреляции и на основе этого индикатора советник получает сигнал на открытие позиций (то есть устанавливается определенный порог корреляции, при котором будут открываться сделки, данный порог указывается в параметрах советника). Далее, при получении сигнала, советник открывает две позиции BUY + SELL (символы для открытия указываются в параметрах советника sybmol1 и symbol2), какой символ нужно продавать а какой покупать определяется на основе пользовательских индикаторов. Далее, закрытие этих двух ордеров происходит либо по общему профиту (указывается целевой профит в параметрах) или по общему убытку (указывается общий убыток в параметрах), при этом новые сигналы на открытие позиций игнорируются, пока текущие ордера не будут закрыты.
Суть модификации:
Сигнал на открытие остается как и есть (на основе индикатора корреляции), после чего советник должен будет открывать не две позиции BUY + SELL, а четыре (разбив эти четыре ордера на два сэта), то есть BUY + SELL и SELL + BUY
В итоге получается два сэта сделок , в параметрах остаются параметры symbol1 и symbol2, но также добавляются четыре новых параметрах:
-
Symbol Buy для Set 1 - выбирать между Symbol_1 и
Symbol_2, дэфолтное значение нужно поставить:
Symbol_1
- Symbol Sell для Set 1- выбирать между
Symbol_1 и Symbol_2, дэфолтное значение нужно
поставить: Symbol_2
- Symbol Buy для Set 2 - выбирать
между Symbol_1 и Symbol_2, дэфолтное значение
нужно поставить: Symbol_2
- Symbol Sell для Set
2 - выбирать между Symbol_1 и Symbol_2, дэфолтное
значение нужно поставить: Symbol_1
То есть какой символ продавать а какой покупать уже не определяется автоматом, а четко указывается в параметрах;
Советник должен к каждой сделке присваивать определенный комментарий (к примеру: Set 1 Buy, Set 1 Sell, Set 2 Buy, Set 2 Sell), по которым он будет понимать какая сделка к какому сэту относится. Советник должен уметь отслеживать профит (в валюте счета соответственно) для каждого сэта отдельно, то есть текущий профит/убыток для Set 1 и для Set 2 (для наглядности эту инфу нужно будет вынести в угол графика)
Дальнейшее закрытие этих сэтов идет следующим образом, в параметрах советника указываются параметры:
-
'Примарная
прибыль' (изначальная прибыль,
которая
применяется к обоим сэтам, то есть один
из сэтов в любом случае закроется по
этому профиту) ,
-
'Вторичная
прибыль' (применяется к оставшемуся
сэту, который остался открытым),
- 'Предельный
убыток'
(значение
общего убытка по всем открытым позициям,
при котором все сделки закрываются
разом)
+ добавить функцию Прерывание оптимизации — включено/выключено. Применяется только тогда, когда советник запущен в тестере и включена Оптимизация. При включенном параметре советник будет прерывать текущий прогон и принудительно переходить на следующий прогон, при условии когда срабатывает триггер предельного убытка. То есть как только ордера закрываются по предельному убытку, проход прерывается и идет уже на следующий проход.
+ перенести один параметр/функцию из еще одной версии советника в этот новый.
PS.
- Файл с исходником советников (код содержит комменты) и индикатором, будет отослан на этапе согласования ТЗ.
- Полное описание текущей версии советника и модификации будет также отослано на этапе согласования ТЗ.
- При полном окончании работ, должен будет предоставлен файл с исходником (новые добавленные или модифицированные функции должны также содержать соответствующий комментарий) и скомпилированный файл советника