Необходимо исправить советник inbleback

MQL4 Experts

Trabalho concluído

Tempo de execução 3 dias
Comentário do cliente
Работа, как всегда выполнена быстро (даже существенно раньше срока) и качественно.
Comentário do desenvolvedor
Заказчик на связи, точно представляет что хочет получить на выходе задания. Оперативно общается, все четко, без лишних задержек. Спасибо.

Termos de Referência

Нужно исправить  ошибки советника: поменять характеристики открытия у него отложенных ордеров и их закрытия по ТП.

Приношу заранее свои извинения за то, что мне придется долго описывать возникшие проблемы. Когда я буду готовить ТЗ на эту работу, то его текст, по отношению к этому, я существенно сокращу.

Я уже не в первый раз обращаюсь к Вам по поводу исправления этого советника, то таковы реальности, которые требуют его очередной правки.

Напоминаю, что мой советник - ночной, т.е. его торговая сессия каждый день начинается поздно вечером текущего дня (например, в 22:45 или 23:00) и заканчивается рано утром следующего дня (например, в 2:45,3:00). При переходе суток с 23:55 текущего дня до 1:00 (терминального времени следующего дня) резко возрастает спред всех валютных пар и реквоты  (проскальзывание) при открытии (закрытии) сделок, а  к 1:00 следующего дня спреды становятся более менее нормальными. Тестирование эти проблемы не отражает.

Используя  данный советник на реальной торговле  даже после его модификаций с вашей помощью,  выясняются все новые его проблемы. Это вызвано тем, что 2 используемые мною для торговли пары резко в настоящее время увеличили свою волатильность в период с 0:00 до 1:00 следующего дня и эти проблемы проявились только сейчас, чего раньше не было.

Из-за высокой волатильности у меня уже несколько раз открывались  ордера в период с 0:00 до 1:00 с огромным  спредом и  реальная цена такого открытия резко отличалась от того, что должен был по спецификации открыть советник. Также и при закрытии ордеров в период  от 00:00 до 1:00 по ТП стала проявляться та же проблема  – советник дает команду закрыть сделку по ТП, а из-за большого среда она закрывается не по тому  ТП, что обозначен в спецификации сделки (т.е. с доходом) , а с большим убытком.

Т.е. подводя итог: чтобы исключить вышеуказанные проблемы надо запретить советнику открывать ордера и закрывать их по ТП  в период с 00:00 до1:00 следующего дня.

В советнике есть функция «Время удержания отложенных ордеров торговой сессии».

При тестировании я, чтобы исключить открытие ордеров в период  с 00:00 по 1:00 , для пары, которая открывает торговую сессию в 23:00,  проставил «время удержания отложенных ордеров» 0:57 (в это время спред у валютных пар не сильно увеличен) и думал, что хоть проблема с неправильным открытием первого блока отложенных ордеров уйдет, но не тут-то было: советник, закрывая все отложенные ордера  первого блока ордеров в 0:57 в это же время (т.е. в 0:57 повторно  открывает блок отложенных ордеров на 57 минут, т.е. до 0:54 мин следующего дня ( т.е.  дублирует блок отложенных ордеров, хотя в настройках у меня стоит, что советник может открывать только один блок отложенных ордеров).

Для справки: если время удержания отложенных ордеров переходит на следующий день, например, для если пары, которая открывается в 23:00,  поставить время закрытия отложенных ордеров не в 0:57, а в 1:05, то никакого дублирования  блока отложенных ордеров после закрытия первого блока отложенных ордеров не происходит.

Все это легко увидеть на тестировании – параметры тестирования для пары GBPCHF для таймфрейма  М5 и спреда в настойках 20 я Вам привожу. Период тестирования возьмите с 2021.04.01 по 2021.02.26.

А. 1-я проблема, которую надо решить:

Нужно программно ликвидировать повторное открытие блока отложенных ордеров после закрытия первого блока отложенных ордеров, если в настройках стоит время закрытия первого блока отложенных ордеров в 23:57(по терминальному времени), т. е. в день начала торговой сессии.

Б. 2-я проблема, которую надо решить.

При закрытии ордеров по ТП в период с 00:00 по 1:00 следующего дня вместо закрытия их по ценам, прописанным в спецификации ордеров, из-за огромного спреда ордера закрываются не с доходом, а с огромным убытком.

Т.е. чтобы этого избежать, надо программо во временной период с 23:57(по терминальному времени) (для советника, который открывается в 23:00 это время будет прописано 0:57) до 1:00 (терминального времени) следующего  дня отключить ТП у всех открытых ордеров. А в  1:00 по терминальному времени  следующего дня советник должен  будет снова  прописать  для данной валютной пары в колонке ТП те ТП для всех открытых ордеров, которые были прописаны при открытии торговой сессии.

Эту функцию надо прописать также, как сейчас в советнике прописана функция «время удержания отложенных ордеров торговой сессии», а именно: отсчет времени до временного выключения ТП и его повторного включения должен идти от момента начала  текущей торговой сессии для конкретной валютной пары.

Например:

 Если время включения советника текущей торговой сессии для конкретной валютной пары – 23:00, то  время  выключения всех ТП для открытых ордеров для нее должно быть прописано в интерфейсе как 0:57 (что будет соответствовать терминальному  времени 23:57). Повторное включение ТП для всех открытых ордеров этой валютной пары надо прописать - 2:00, что будет соответствовать терминальному времени 1:00.

Я, как пользователь, должен буду увидеть, что для валютной пары, которая включается в 23:00, в 0:57 (что будет соответствовать 23:57 (по терминальному времени) в открытом терминале у всех открытых ордеров в колонке ТП должны появиться нули, а в 2:00 (что будет соответствовать терминальному времени 1:00) в колонке ТП открытых ордеров снова появиться такие-же величины ТП, как при включении советника в начале торговой сессии в 23:00.

В интерфейсе советника надо ввести 2 дополнительные заполняемые строки:

            Время отключения ТП: (время должно отражаться по принципу 0:57)

            Время повторного включения ТП: (время должно отражаться по принципу 2:00).


Respondido

1
Desenvolvedor 1
Classificação
(7)
Projetos
14
7%
Arbitragem
2
50% / 50%
Expirado
1
7%
Livre
2
Desenvolvedor 2
Classificação
(224)
Projetos
284
20%
Arbitragem
5
0% / 100%
Expirado
4
1%
Livre
3
Desenvolvedor 3
Classificação
(3)
Projetos
7
0%
Arbitragem
1
0% / 100%
Expirado
0
Livre
4
Desenvolvedor 4
Classificação
(493)
Projetos
1022
58%
Arbitragem
30
27% / 23%
Expirado
133
13%
Trabalhando
5
Desenvolvedor 5
Classificação
(174)
Projetos
233
61%
Arbitragem
3
33% / 33%
Expirado
6
3%
Livre
Publicou: 1 código
6
Desenvolvedor 6
Classificação
(361)
Projetos
644
26%
Arbitragem
92
72% / 14%
Expirado
12
2%
Trabalhando
Publicou: 1 código
7
Desenvolvedor 7
Classificação
(69)
Projetos
146
34%
Arbitragem
13
8% / 62%
Expirado
26
18%
Livre
Publicou: 6 códigos

Informações sobre o projeto

Orçamento
50+ USD
Prazo
para 4 dias