Советник на Мартингейле.

MQL4 专家

工作已完成

执行时间3 天
客户反馈
отличный программист

指定

Советник на Мартингейле. Открытие ордеров происходит с применением умножения ордеров по Мартингейлу и определенным расстоянием между открывающимися ордерами - шагом (PipStep). Значение Мартингейла для открытия последующих ордеров изменяется (KF_Lots_ ), значение расстояния между ордерами - шаг - тоже изменяется по Мартингейлу (PipStep*KF_Lots_PS ). Есть три группы настроек для открытия ордеров. От 1 до 5 ордера, к примеру, свои настройки профита (TP_MTG_1), Мартингейла - множителя следующего ордера (KF_Lots_1) и шага между ордерами (PipStep1, KF_Lots_PS1), с 6 по 10 ордер, свои настройки профита (TP_MTG_2), Мартингейла - множителя следующего ордера (KF_Lots_2) и шага между ордерами (PipStep2, KF_Lots_PS2), с 11 до 100 ордера, свои настройки профита (TP_MTG_3), Мартингейла - множителя следующего ордера (KF_Lots_3) и шага между ордерами (PipStep3, KF_Lots_PS3). Значение, с какого ордера будет работать каждая группа настроек по Мартингейлу (KF_Lots_ ), профиту (TP_MTG) и своему шагу между ордерами (PipStep) - должно меняться (MTG_Level_1, MTG_Level_2, MTG_Level_3). Пример - MTG_Level_1 = 5, значит с 1 по 5 ордер - профит (TP_MTG_1), мартингейл множитель открываемых ордеров KF_Lots_1=2,0 и расстояние между ордерами PipStep1=50 пунктов (PipStep1*KF_Lots_PS1 ), MTG_Level_2 = 10, значит с 6 по 10 ордер - профит (TP_MTG_2), мартингейл множитель открываемых ордеров KF_Lots_2=1,5 и расстояние между ордерами PipStep2=150 пунктов (PipStep2*KF_Lots_PS2 ), MTG_Level_3 = 100, значит с 11 по 100 ордер - профит (TP_MTG_3), мартингейл множитель открываемых ордеров KF_Lots_3=1,2 и расстояние между ордерами PipStep3=250 пунктов (PipStep3*KF_Lots_PS3 ).

      Стратегия.
   Первоначально открываются два ордера в разные стороны по рынку. Есть тейк-профит (Takeprofit), стоп-лосс (Stoploss) - настраивается для Мартингейла, но обычно нет его. При движении цены в одну сторону один ордер в плюсе, второй в минусе. Ордер с плюсом закрывается по тейк-профиту (Takeprofit) и тут же открывается такой же ордер в ту же сторону (Lots). Если цена пошла дальше в плюс, все повторяется. Минусовой ордер в это же время начинает открывать ордера по Мартингейлу со своими параметрами. Когда цена развернется, плюсовой ордер перейдет в минусовой и начнет открывать сетку по Мартингейлу, минусовая сетка по Мартингейлу уже открытая, закроется по тейк-профиту для Мартингейла (TP_MTG_). Далее открывается ордер с первоначальным значением размера лота (Lots) в ту же сторону, что и закрытый Мартингейл, если была сетка ордеров Sell - значит открываем Sell ордер (Lots). Необходимы разные профиты для - просто профита и по Мартингейлу. Тейк-профит по мартингейлу рассчитывается как сумма - безубытка и заданного значения тейк-профита в пунктах (TP_MTG_). Для простого профита значение остается таким, как задали изначально в пунктах (Takeprofit). Значение первоначально открываемого лота одинаково для всех сеток (Lots). Если не задано - равно 0, тогда размер лота равен значению - риск - значение лота в процентах от депозита (Risk).
   
Нужно сделать вывод на экран следующие значения - начального депозита, депозита на данный момент (начальный депозит  плюс профит - баланс), профита общего (минусовой сетки и плюсового ордера вместе, если уже две сетки мартингейла, то сумме их значений), профита плюсового ордера отдельно (если уже перешел в сетку по мартингейлу, то ее результат), минусовой сетки в данный момент отдельно, значение в процентах оставшегося депозита в данный момент, количество открытых buy и sell ордеров отдельно. Сделать ниже выводимых параметров кнопки закрытия отдельно для отрицательной сетки, положительного ордера (если уже перешел в сетку по мартингейлу, то ее результат), общего профита (закрытие всех ордеров) и кнопку функции MTG_Close, чтобы не включать каждый раз в советнике, когда нужно :) .

Было бы хорошо, чтобы информационное окошко меняло положение - видел в некоторых советниках. Просто иногда пересекаются значения открытых ордеров слева и значение советника - сливаются, ничего не видно в итоге на экране или перенести вправо немного.

   Сделать выделение цветом линии профита для минусовой сетки, положительного ордера (если уже перешел в сетку по мартингейлу, то ее результат) и общего профита разными цветами. Было бы хорошо выделить цветом линию безубытка минусовых сеток для визуального просмотра ситуации.
Сделать пригодным для работы на реальных счетах (проскальзывание, потеря связи, повторный сигнал на открытие или закрытие при отклонении запроса по ордерам, пересчитывание для 3 и 5 знаковых счетов). Настройки по еквити, стоплоссу. Желательно, что бы как можно меньше нагружал систему. Работа на всех таймфреймах.
   
   Нужно, чтобы на графике оставался след сделок (место открытия, SL, TP, место закрытия, место открытия и закрытия соединяются линией, и линия окрашивается в цвет либо красный (убыток сделки), либо синий (прибыль сделки)), понятно, что при наведении на место совершения сделки и ее окончания, высвечиваются, время и параметры.


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

ModeTrade = 0 - открывать как позиции на продажу, так и на покупку одновременно, 1 - только продажи, 2 - только покупки, 3 - чередовать покупки и продажи.  
Orders = 15 — кол-во выставляемых ордеров каждого направления для отложенников (получается тогда для первой сетки 5 ордеров, для второй 10 сразу выставляются отложенные ордера, также 15 для простого ордера, ордера пересчитывать, если ушла цена в другую сторону и открылся один ордер, лишний убрать, недостающий установить до значения 15, если простой ордер перешел в Мартингейл, удалить все его прежние и выставить сетки до 15 колена по Мартингейлу).
MTG_Close - при включении этой функции, советник прекратит торговлю, после достижения позициями тейк-профита, лучше закрывать после профита по мартингейлу.
Lots = 0,01 - размер первоначального ордера, если 0, тогда равен значению Risk.
Risk = 0,01 - параметр задается, лот позиции должен быть такой, чтобы при открытии позиции первоначальный ордер был равен 0,01 % от депозита.
Stoploss = 0, возможность выставить стоп-лосс для ордеров по Мартингейлу, если 0 - отключен.
Takeprofit = 50, тейкпрофит для первоначального ордера - в пунктах.
 TP_MTG_1 = 50, тейкпрофит для первой сетки ордеров по Мартингейлу - в пунктах.
 TP_MTG_2 = 35, тейкпрофит для второй сетки ордеров по Мартингейлу - в пунктах.
 TP_MTG_3 = 15, тейкпрофит для третьей сетки ордеров по Мартингейлу - в пунктах.
MTG_Level_1 — до какого колена будет работать первая сетка ордеров по Мартингейлу, если равно 5, тогда первая сетка от 1 до 5 ордера.
MTG_Level_2 — до какого колена будет работать вторая сетка ордеров по Мартингейлу, если равно 10, вторая сетка ордеров с 6 до 10 ордера.
MTG_Level_3 — до какого колена будет работать третья сетка ордеров по Мартингейлу, если равно 100, третья сетка ордеров с 11 до 100 ордера.
 KF_Lots_1 = 2.0 — какой множитель применить для последующих ордеров по Мартингейлу, при первой сетке ордеров (MTG_Level_1) от 1 до 5 ордера.
 KF_Lots_2 = 1.5 — какой множитель применить для последующих ордеров по Мартингейлу, при второй сетке ордеров (MTG_Level_2) с 6 до 10 ордера.
 KF_Lots_3 = 1.2 — какой множитель применить для последующих ордеров по Мартингейлу, при третьей сетке ордеров (MTG_Level_3) с 11 до 100 ордера.
PipStep1 = 50 - расстояние между ордерами при открытии ордеров по первой сетке от 1 до 5.
PipStep2 = 150 — расстояние между ордерами при открытии ордеров по второй сетке с 6 до 10.
PipStep3 = 250 — расстояние между ордерами при открытии ордеров по третьей сетке с 11 до 100.
 KF_Lots_PS1 = 2.0 — какой множитель применить для увеличения расстояния между ордерами при открытии последующих ордеров по Мартингейлу, при первой сетке ордеров (MTG_Level_1) от 0 до 5 (PipStep1*KF_Lots_PS1).
 KF_Lots_PS2 = 1.5 — какой множитель применить для увеличения расстояния между ордерами при открытии последующих ордеров по Мартингейлу, при второй сетке ордеров (MTG_Level_2) с 6 до 10 (PipStep2*KF_Lots_PS2).
 KF_Lots_PS3 = 1.2 — какой множитель применить для увеличения расстояния между ордерами при открытии последующих ордеров по Мартингейлу, при третьей сетке ордеров (MTG_Level_3) с 11 до 100 (PipStep3*KF_Lots_PS3).
MaxTrade — максимально допустимое число колен на продажу и на покупку.
 UseEquityStop = false - возможность ограничить максимальную просадку в процентах.
 TotalEquityRisk = 20 — ограничение максимальной просадки в процентах - 20 % от депозита.
TrailStart = 15 - параметр задается, если 0 - отключен, для первого ордера.
TrailStop = 15 - параметр задается, если 0 - отключен, для первого ордера.
TrailStart1 = 15 - параметр задается, если 0 - отключен, для первой сетки ордеров.
TrailStop1 = 15 - параметр задается, если 0 - отключен, для первой сетки ордеров.
TrailStart2 = 15 - параметр задается, если 0 - отключен, для второй сетки ордеров.
TrailStop2 = 15 - параметр задается, если 0 - отключен, для второй сетки ордеров.
TrailStart3 = 15 - параметр задается, если 0 - отключен, для третьей сетки ордеров.
TrailStop3 = 15 - параметр задается, если 0 - отключен, для третьей сетки ордеров.  
 Slippage = 30, проскальзывание.
Magic = 777888, уникальный номер ордеров советника.
Настройки линии (цвет, тип) - профит для минусовой сетки.
Настройки линии (цвет, тип) - профит положительного ордера (если уже перешел в сетку по мартингейлу, то ее результат).
Настройки линии (цвет, тип) - общий профит.
Настройки линии (цвет, тип) - безубыток минусовой сетки buy .
Настройки линии (цвет, тип) - безубыток минусовой сетки sell .  
Настройки линии (цвет, тип) - безубыток общий.
Info = true - включение и выключение выводимой на экран информации.

   Нужно сделать советник на основе отложенных ордеров. Важна возможность работы на всех таймфреймах.

反馈

1
开发者 1
等级
(69)
项目
146
34%
仲裁
13
8% / 62%
逾期
26
18%
空闲
发布者: 6 代码
2
开发者 2
等级
(80)
项目
117
67%
仲裁
16
25% / 13%
逾期
12
10%
空闲
发布者: 2 代码
3
开发者 3
等级
(351)
项目
679
56%
仲裁
33
15% / 39%
逾期
63
9%
空闲
4
开发者 4
等级
(281)
项目
650
28%
仲裁
112
19% / 62%
逾期
319
49%
空闲
5
开发者 5
等级
(40)
项目
106
52%
仲裁
17
12% / 65%
逾期
25
24%
空闲
6
开发者 6
等级
(458)
项目
796
49%
仲裁
73
16% / 52%
逾期
139
17%
已载入
7
开发者 7
等级
(157)
项目
220
50%
仲裁
2
50% / 0%
逾期
14
6%
空闲

项目信息

预算
20 - 50 USD