Нужен советник на MQL5.

MQL5 Experts

Tâche terminée

Temps d'exécution 27 jours
Commentaires de l'employé
Хороший заказ. Было сложно, но интересно. Заказчик с сильными идеями. Рекомендую к сотрудничеству!
Commentaires du client
Благодарю Владимира за погружение в идею и за предложения/улучшение как кода так и визуальной составляющей. Сильный разработчик, рекомендую.

Spécifications

Необходима разработка эксперта на языке MQL5.

Данная идея одна из вариаций сеточной стратегии. 

В результате я бы хотел получить файлы со скриптами и комментариями.Файлы для запуска онлайн, и для проверки на истории.

Далее расписываю саму логику робота. 

Бот работает на паре EURJPY.

При запуске ищется базовый уровень. Базовый уровень - это цена до второго знака после запятой. На питоне этот поиск выглядел следующим образом: бралась цена bid (у нее три знака после запятой), например 148.671, округлял её до двух ближайших потенциальных уровней, в нашем примере это 148.67 и 148.68 и ждал, когда цена bid коснётся одного из них. Возможно, поиск базового уровня можно организовать намного проще. Базовый уровень ищется один раз при запуске советника, больше к этому не возвращаемся.


У бота есть несколько линий:

Базовая линия (базовый уровень, base_line) – линия бота, от которой ведутся все расчеты.

Order_line – линия, на которой бот входит в сделку по limit или по stop. Находится на +-40 пунктов от базовой линии.

TakeProfit_line – при достижении этой линии должен срабатывать TakeProfit и выставляться ордер на Order_line. Находится на +-60 пунктов от базовой линии.

New base_line – обновление базового уровня, на +-500 пунктов от базовой линии.



Далее для простоты объяснения, приведу пример на базовом уровне 150.00 и только на сделках Buy. Сторона Sell делает все то же самое, только зеркально.


После нахождения базового уровня (150.00), бот выставляет ордер на покупку Buy_limit на order_line (149.60). В данный момент у бота есть два варианта:

Вверху его ждёт новый базовый уровень на +500 пунктов (155.00)

Внизу будет вход по order_limit на 40 пунктов от базовой линии (149 60). 


При достижении нового уровня, можно сказать что бот начинает круг заново, единственное, ему нужно удалить предыдущий выставленный ордер. У бота не может быть открыто несколько сделок или выставлено несколько ордеров! Либо один ордер, либо одна открытая сделка. 

При достижении order_limit открывается сделка с тейкпрофитом на TakeProfit_line и стоплоссом (про стопы далее будет подробнее).


При достижении тейкпрофита закрывается сделка в плюс. Два дальнейших варианта:

Сверху новый базовый уровень на +500 пунктов (155.00)

Снизу выставляется ордер на Order_line, то есть назначение -60 от базовой линии (149.60). 


При достижении стопа:

Выставляется ордер стоп на уровень Order_line сверху.

Снизу ждёт новый уровень на -500 базовый уровень на 145.00.



Одной из особенностей данного бота является разное значение стопа. Первый стоп равен 15, второй – 30, третий – 15. Далее бот должен принимать значения по этому кругу. 

15 – 30 – 15 – 15 – 30 – 15. 

При достижении нового базового уровня или тейка, стоп должен начинать круг заново с 15.



Теперь к главному. Таких базовых уровней должно быть 100. Через 5 пунктов каждый. То есть при первом базовом уровне на 150.00 следующий уровень будет либо на 150.05 либо 149.95. Логика новых уровней ничем не отличается, у каждого есть свой Order_line, TakeProfit_line и New base_line. Уровни должны быть адаптивны, если рынок пойдет в одну сторону, уровни должны открываться через 5 пунктов вплоть до 154.95 если рынок пойдет строго вверх или 145.05 если вниз. Уровни друг от друга не зависят и никак не влияют друг на друга. Если получится регулировать количество уровней переменной – будет супер. 


Еще прошу добавить комментарии к сделкам и ордерам. В комментариях нужно указать базовую линию, например 150.00. Этого достаточно. Также, прошу добавить логи, которые сохраняются в отдельный файл. В логах достаточно добавить время, тип сделки (открытие, стоп, тейк, выставление ордера, новый уровень) и базовый уровень бота с кем это произошло.


В результате должен получиться советник, который при запуске находит базовый уровень и выставляет 2 ордера один buy limit другой sell limit (на + и - 40 соответственно). Далее опустившись или поднявшись на 5 пунктов найдется новый базовый уровень и снова выставятся два ордера также по +-40 уже от этого базового уровня. Далее открытые сделки будут закрываться по стопа или тейкам, а новый уровни будут находиться.



Прикладываю блок схему для сделок Buy:

Вложение 1


Линии для Buy выглядят следующим образом:

Вложение 2



Для сделок Sell, по сути все тоже самое, прикладываю чтобы не запутаться:

Вложение 3


Линии для Sell выглядят следующим образом:

Вложение 4




Répondu

1
Développeur 1
Évaluation
(34)
Projets
35
20%
Arbitrage
2
0% / 100%
En retard
1
3%
Gratuit
2
Développeur 2
Évaluation
(92)
Projets
110
17%
Arbitrage
6
33% / 17%
En retard
5
5%
Travail
Publié : 1 code
3
Développeur 3
Évaluation
(7)
Projets
7
86%
Arbitrage
0
En retard
0
Gratuit
4
Développeur 4
Évaluation
(112)
Projets
132
56%
Arbitrage
1
0% / 0%
En retard
0
Gratuit
5
Développeur 5
Évaluation
(198)
Projets
254
20%
Arbitrage
22
50% / 18%
En retard
0
Chargé
6
Développeur 6
Évaluation
(41)
Projets
45
38%
Arbitrage
1
0% / 0%
En retard
0
Gratuit
7
Développeur 7
Évaluation
(572)
Projets
664
32%
Arbitrage
42
45% / 45%
En retard
12
2%
Chargé
8
Développeur 8
Évaluation
(174)
Projets
233
61%
Arbitrage
3
33% / 33%
En retard
6
3%
Gratuit
Publié : 1 code

Informations sur le projet

Budget
100+ USD
Délais
de 1 à 3 jour(s)