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

MQL5 Asesores Expertos

Trabajo finalizado

Plazo de ejecución 27 días
Comentario del Ejecutor
Хороший заказ. Было сложно, но интересно. Заказчик с сильными идеями. Рекомендую к сотрудничеству!
Comentario del Cliente
Благодарю Владимира за погружение в идею и за предложения/улучшение как кода так и визуальной составляющей. Сильный разработчик, рекомендую.

Tarea técnica

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




Archivos adjuntos:

PNG
43i78oc3_1.png
129.1 Kb
PNG
oztiehh6_3.png
135.1 Kb

Han respondido

1
Desarrollador 1
Evaluación
(34)
Proyectos
35
20%
Arbitraje
2
0% / 100%
Caducado
1
3%
Libre
2
Desarrollador 2
Evaluación
(92)
Proyectos
110
17%
Arbitraje
6
33% / 17%
Caducado
5
5%
Trabaja
Ha publicado: 1 ejemplo
3
Desarrollador 3
Evaluación
(7)
Proyectos
7
86%
Arbitraje
0
Caducado
0
Libre
4
Desarrollador 4
Evaluación
(112)
Proyectos
132
56%
Arbitraje
1
0% / 0%
Caducado
0
Libre
5
Desarrollador 5
Evaluación
(198)
Proyectos
254
20%
Arbitraje
22
50% / 18%
Caducado
0
Trabajando
6
Desarrollador 6
Evaluación
(41)
Proyectos
45
38%
Arbitraje
1
0% / 0%
Caducado
0
Libre
7
Desarrollador 7
Evaluación
(572)
Proyectos
664
32%
Arbitraje
42
45% / 45%
Caducado
12
2%
Trabaja
8
Desarrollador 8
Evaluación
(174)
Proyectos
233
61%
Arbitraje
3
33% / 33%
Caducado
6
3%
Libre
Ha publicado: 1 ejemplo

Información sobre el proyecto

Presupuesto
100+ USD
Plazo límite de ejecución
de 1 a 3 día(s)