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

MQL5 エキスパート

仕事が完了した

実行時間27 日
開発者からのフィードバック
Хороший заказ. Было сложно, но интересно. Заказчик с сильными идеями. Рекомендую к сотрудничеству!
依頼者からのフィードバック
Благодарю Владимира за погружение в идею и за предложения/улучшение как кода так и визуальной составляющей. Сильный разработчик, рекомендую.

指定

Необходима разработка эксперта на языке 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




応答済み

1
開発者 1
評価
(34)
プロジェクト
35
20%
仲裁
2
0% / 100%
期限切れ
1
3%
2
開発者 2
評価
(92)
プロジェクト
110
17%
仲裁
6
33% / 17%
期限切れ
5
5%
仕事中
パブリッシュした人: 1 code
3
開発者 3
評価
(7)
プロジェクト
7
86%
仲裁
0
期限切れ
0
4
開発者 4
評価
(112)
プロジェクト
132
56%
仲裁
1
0% / 0%
期限切れ
0
5
開発者 5
評価
(198)
プロジェクト
254
20%
仲裁
22
50% / 18%
期限切れ
0
取り込み中
6
開発者 6
評価
(41)
プロジェクト
45
38%
仲裁
1
0% / 0%
期限切れ
0
7
開発者 7
評価
(572)
プロジェクト
664
32%
仲裁
42
45% / 45%
期限切れ
12
2%
仕事中
8
開発者 8
評価
(174)
プロジェクト
233
61%
仲裁
3
33% / 33%
期限切れ
6
3%
パブリッシュした人: 1 code

プロジェクト情報

予算
100+ USD
締め切り
最低 1 最高 3 日