Группа "Стол заказов MQL"

Рейтинг 2146



РЕКОМЕНДУЮ



Доработка советника "Торговый робот с усреднением для MT4"

Просьба сделать две доработки в данном советнике: www.opentraders.ru/downloads/2929/
1. Сейчас стоит тейкпрофит в валюте депозита, просьба поменять данный тейкпрофит на пункты профита от безубытка. Например поставили тейкпрофит 100 пунктов, то когда цена дойдёт до безубытка и еще на 100 пунктов в плюс, то все сделки закроются. Тейкпрофит должен работать только для одного направления сделок, закрывать все либо buy, либо sell.
2. Так как тейкпрофит виртуальный, то можно ли сделать какую-то линию на графике, которая будет показывать, где произойдёт закрытие сделок? Чтобы понимать сколько цене осталось до тейкпрофита.

(Опционально) 3. Если заказ на данный момент большой, то могу в следующей доработке попросить сделать третий пункт. Хотелось бы еще один параметр, а именно фильтр по спреду во время открытия сделок и закрытию их по тп. Например если спред пары больше N пунктов, то попробовать открыть ордер или закрыть ордера через 10 секунд и тд.
  • 0
  • Просмотров: 3550
  • 21 апреля 2021, 20:17
  • anathem
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

Вступите в группу "Стол заказов MQL", чтобы следить за обновлениями
ПРИСОЕДИНИТЬСЯ К ГРУППЕ
присоединиться
  Предыдущая запись в группе
Прошу доработать советник.
Следующая запись в группе  
Внести изменения в советник
21 апреля 2021
22 апреля 2021

Брокер для ваших роботов, 15 лет на рынке

Комментарии (16)

+
+1
на 26-е
avatar

  35  AM2 Сообщений: 16247 - Андрей

  • 21 апреля 2021, 20:50
+
0
Поправил ТЗ:
Просьба сделать две доработки в данном советнике: www.opentraders.ru/downloads/2929/
1. В советнике есть параметр язь, но если выставить например язь: 20, то он закрывает сделки в минус (пробовал торговлю только в одну сторону), в итоге надо ставить прилично больше. Есть возможность сделать, чтобы язь считался в пунктах от безубытка?
2. Сделать наш язь виртуальным и если можно, то добавить еще какую-то линию на графике, которая будет показывать, где произойдёт закрытие сделок? Чтобы понимать сколько цене осталось до тейкпрофита.

(Опционально) 3. Если заказ на данный момент большой, то могу в следующей доработке попросить сделать третий пункт. Хотелось бы еще один параметр, а именно фильтр по спреду во время открытия сделок и закрытию их по тп. Например если спред пары больше N пунктов, то попробовать открыть ордер или закрыть ордера через 10 секунд и тд.

Еще почему-то советник открывает на демо сразу два ордера игнорируя индикаторы, хотя в тестере всё ок.

Редактирован: 22 апреля 2021, 23:45
avatar

  7  anathem Автор Сообщений: 142

  • 22 апреля 2021, 21:17
+
0
Еще почему-то советник открывает на демо сразу два ордера игнорируя индикаторы, хотя в тестере всё ок.


у меня в коде стоит открытие сразу двух ордеров:


   if(CountTrades()<1)
     {
   r=OrderSend(NULL,0,Lots,NormalizeDouble(Ask,_Digits),Slip,0,0,"",Magic,0,Blue);
   r=OrderSend(NULL,1,Lots,NormalizeDouble(Bid,_Digits),Slip,0,0,"",Magic,0,Red);
     }


здесь одни доработки видимо наслоились на другие.

напишите целиком с нуля тз.
avatar

  35  AM2 Сообщений: 16247 - Андрей

  • 26 апреля 2021, 23:10
+
0
ТЗ:
Сделать обычный усреднитель по трём moving average c виртуальным тейкпрофитом, этот же тейкпрофит должен закрывать все сделки в одну сторону (buy or sell) в пнуктах от безубытка, не в валюте депозита. И чтобы этот же наш виртуальный тейкпрофит отображался линией на графике, чтобы можно было видеть когда произойдёт закрытие.
extern double Lots = 0.1; // торговый объем ордера
extern double MaxLot = 5; // максимальный торговый объем
extern double KLot = 1; // увеличение лота
extern double KStep = 1; // увеличение шага
extern double Profit = 5; // вирутальный профит в шагах от безубытка
extern int StopLoss = 0; // лось
extern int Step = 100; // шаг

extern int Count = 10; // макс число поз
extern int Slip = 30; // фильтр макс разрешенного спреда
extern int Shift = 1; // бар индикатора
extern int Magic = 123; // магик

extern int MA1Period = 40; // период МА 1
extern int MA2Period = 24; // период МА 2
extern int MA3Period = 300; // период МА 3

extern ENUM_MA_METHOD MAMetod = 0; // метод МА
extern ENUM_APPLIED_PRICE MAPrice = 0; // цены МА1
extern ENUM_TIMEFRAMES TF = 0; // тф индикатора
avatar

  7  anathem Автор Сообщений: 142

  • 27 апреля 2021, 17:06
+
0
avatar

  35  AM2 Сообщений: 16247 - Андрей

  • 27 апреля 2021, 18:29
+
0
почему то на тестере не открывает сделку
avatar

  9  Najj Сообщений: 104

  • 28 апреля 2021, 00:09
+
0
Почему-то редко сделки открывает, в чём может быть дело?
avatar

  7  anathem Автор Сообщений: 142

  • 28 апреля 2021, 16:41
+
0
Почему-то редко сделки открывает, в чём может быть дело?


условие стоит такое: 1-я ма пересекла 2-ю и они над 3-й
avatar

  35  AM2 Сообщений: 16247 - Андрей

  • 28 апреля 2021, 17:51
+
0
Да но на скриншоте видно, что во всех трёх условиях не открыло сделки, на демо сейчас есть сигнал, но не открывает ( 
avatar

  7  anathem Автор Сообщений: 142

  • 28 апреля 2021, 18:08
+
0
можно поставить совсем простое условие, например 3 ма друг над другом
avatar

  35  AM2 Сообщений: 16247 - Андрей

  • 28 апреля 2021, 19:44
+
+1
поменял условие, все сделки открылись:



значит в вашем случае не выполнилось условие
avatar

  35  AM2 Сообщений: 16247 - Андрей

  • 28 апреля 2021, 19:51
+
0
Понял в чём дело, он открывает только после нового пересечения. То есть если произошло закрытие, ему надо потом опять новое пересечение и долго не открывает сделки.
Это можно изменить или в новый заказ в след месяце только?
avatar

  7  anathem Автор Сообщений: 142

  • 28 апреля 2021, 20:47
+
+1
напишите новое условие. поправлю
avatar

  35  AM2 Сообщений: 16247 - Андрей

  • 28 апреля 2021, 21:11
+
0
Новое условие:
1. Новые сделки должны открываться мгновенно после закрытия всей сетки. Сейчас надо ждать новое пересечение линий для нового сигнала.
2.(Опционально, могу сделать заказ авансом на след месяц) Сейчас по фильтру открывается только первая сделка, а следующие по шагу. Просьба сделать чтобы фильтр работал на все сделки. Например открыл советник сетку на buy, цена поменялась и пока сигнал sell советник не будет открывать сделки, пока не будет опять buy.
Благодарю :) 
avatar

  7  anathem Автор Сообщений: 142

  • 28 апреля 2021, 21:34
+
+1
подробные скрины по новым условиям в студию
avatar

  35  AM2 Сообщений: 16247 - Андрей

  • 28 апреля 2021, 22:42
+
0
1. Новые сетка должна открываться мгновенно по текущему сигналу, сразу после закрытия всей прошлой сетки. Сейчас же надо ждать новое пересечение линий для нового сигнала и только после нового пересечения линий, откроются сделки. Поменять на мгновенное открытие.
Вот пример:


2. Сейчас по фильтру открывается только первая сделка, а следующие по шагу. Просьба сделать чтобы фильтр работал и на все следующие колена. Например открыл советник сетку на buy, цена поменялась и пока сигнал sell советник не будет открывать сделки, пока не будет опять сигнал на buy и наш шаг соотственно
Пример:

Редактирован: 28 апреля 2021, 23:38
avatar

  7  anathem Автор Сообщений: 142

  • 28 апреля 2021, 23:36

Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий