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

Рейтинг 1315



РЕКОМЕНДУЮ



Советник мартин мультивалютный

Доброго дня Андрей! Родилась стратегия торговли по сигналам с мартином на разных парах. Можно использовать пересечение двух Moving Average для входа.Парамерты медленной 50, быстрой 10. Например советник получает сигнал на открытие сразу с N-го кол-ва пар. Пары можно сделать самые основные штук 15 и прописать их, если можно сделать параметр вкл./выкл. определенную пару было бы круто. И в зависимости от прошлого исполнения ордера, если был стоп лосс по какой то паре, и пришел сигнал с другой пары советник умножает лот и открывает по этой паре, и если опять получили стоп лосс, и пришел сигнал ещё с одной пары то открываем по ней увеличенным лотом новый ордер и т.д. При профите начинаем все заново.

В советнике нужно:

MA1_Period=3; // Период 1-й МА
MA1_Method=0; // Метод вычисления МА1 (SMA=0,EMA=1,SMMA=2,LWMA=3)
MA1_Price=0; // Метод вычисления цены МА1 
MA1_Shift=0; // Временной сдвиг МА1

MA2_Period=13; // Период 2-й МА
MA2_Method=3; // Метод вычисления МА2 (SMA=0,EMA=1,SMMA=2,LWMA=3)
MA2_Price=4; // Метод вычисления цены МА2
MA2_Shift=0; // Временной сдвиг МА2

StartHour= 0; // час начала торговли
StartMin= 30; // минута начала торговли
EndHour= 23; // час окончания торговли
EndMin= 30; // минута окончания торговли

Lots = 0.1; // лот
KLot = 1; // умножение лота
MaxLot = 5; // максимальный лот
StopLoss = 2000; // лось
TakeProfit = 3000; // язь

Reverse = 0; // 1-реверс
Magic = 123; // магик
slippage = 0; // Отклонение цены для рыночных ордеров

В советнике можно сделать торговлю отложенными ордерами.
  • +3
  • Просмотров: 1291
  • 7 июля 2018, 11:35
  • a887
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

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

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

+
0
И в зависимости от прошлого исполнения ордера, если был стоп лосс по какой то паре, и пришел сигнал с другой пары советник умножает лот и открывает по этой паре, и если опять получили стоп лосс, и пришел сигнал ещё с одной пары то открываем по ней увеличенным лотом новый ордер и т.д. При профите начинаем все заново.


могу сделать на 9 пар и без этого. будет просто с контролем лосей по одной паре.
avatar

  27  AM2 Сообщений: 8028 - Андрей

  • 8 июля 2018, 16:19
+
0
Стратегия торговли вроде бы не измениться при таком раскладе, да?
Редактирован: 8 июля 2018, 16:39
avatar

  8  a887 Автор Сообщений: 29

  • 8 июля 2018, 16:36
+
0
Ну в принципе это тоже самое. Самое главное что бы советник ловил сигналы с многих пар и умножал лот при стопе. На 9 пар норм.
avatar

  8  a887 Автор Сообщений: 29

  • 8 июля 2018, 16:38
+
0
на 17-е
avatar

  27  AM2 Сообщений: 8028 - Андрей

  • 8 июля 2018, 18:46
+
0
Спасибо, Андрей. Буду ждать.
avatar

  8  a887 Автор Сообщений: 29

  • 8 июля 2018, 18:49
+
0
avatar

  27  AM2 Сообщений: 8028 - Андрей

  • 13 июля 2018, 20:03
+
0
Спасибо, Андрей!!!
avatar

  8  a887 Автор Сообщений: 29

  • 13 июля 2018, 23:38
+
0
www.opentraders.ru/downloads/1977/

Случаем не опечатка в строке 107?
avatar

  9  profit76 Сообщений: 63 - Олег

  • 23 июля 2018, 15:31
+
0
да есть очепятка :) 


      bool buy  = ma1>ma2;
      bool sell = ma1<ma2;
avatar

  27  AM2 Сообщений: 8028 - Андрей

  • 23 июля 2018, 17:43
+
0
Очень не помешает здесь безубыток, например через 100 п. + профита в Spread*2…
avatar

  9  profit76 Сообщений: 63 - Олег

  • 23 июля 2018, 16:53
+
0
Андрей, вот если голосом пару моментов подскажешь, то я бы доработал советник и сам, есть пара мыслей:
1. б/у+профит в п.
2. прикрутить как фильтр еще один индикатор.

буду рад помочь форумчанам.
avatar

  9  profit76 Сообщений: 63 - Олег

  • 23 июля 2018, 17:56
+
0
в выходные можно по скайпу
avatar

  27  AM2 Сообщений: 8028 - Андрей

  • 23 июля 2018, 18:01
+
0
Дополнительно в советник прописал фильтры:
1. ADX как дополнительный фильтр.
2. Уровень закрытия предыдущей свечи ниже/выше быстрой ма1.

Осталось прикрутить безубыток и трал…

Вопросы:
1. Не понял цикла на умножение лота, он увеличивает в случае если идет убыточный трейд?
if(OrderProfit()>0) break;
if(OrderProfit()<0)

Вопрос к автору ТЗ — может быть было бы целесообразно после убыточного трейда сделать паузу и открывать не ранее чем через какое-то время (через Sleep)? Или иной сигнал на возобновление работы по валютной паре прописать…

А я бы вообще сделал «антимартингейл», примерно вот так —

if(OrderProfit()<0) break;
if(OrderProfit()>0)

Только прерывание увеличения лота сделать при смене направления позиции, а то увеличивает при единственном условии OrderProfit()>0…
Редактирован: 25 июля 2018, 12:49
avatar

  9  profit76 Сообщений: 63 - Олег

  • 25 июля 2018, 12:14
+
0
Задержку можно сделать. Попробовать.
avatar

  8  a887 Автор Сообщений: 29

  • 25 июля 2018, 21:29
+
0
Я никак не пойму, он в тестере не отрывает по другим парам прописанным да?!
avatar

  8  a887 Автор Сообщений: 29

  • 25 июля 2018, 21:30
+
0
в тестере только на мкл5 можно прогнать
avatar

  27  AM2 Сообщений: 8028 - Андрей

  • 25 июля 2018, 21:46
+
+2
Немного доработал советник (добавлены безубыток, трал, ADX как фильтр, + открытие сделок только если цена закрытия предыдущего бара ниже/выше быстрой МА). На отчете просадка великовата (для депо в 213 долларов), но это нужно оптимизировать.

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



Доработанный советник www.opentraders.ru/downloads/2012/

Дает лучшие результаты при оптимизации (период ADX, MA медленная, БУ, пофит при БУ, Трал, Лось, Язь) на H1 за период с 02.01.18 по 10.08.2018. Оптимизация по всем правилам с проверкой на устойчивость не проводилась (лень).
Редактирован: 10 августа 2018, 16:37
avatar

  9  profit76 Сообщений: 63 - Олег

  • 10 августа 2018, 11:01
+
0
extern bool Reverse       = 0;        // 1-реверс
....
найдите разницу :

            if(OrderType()==OP_BUY)
              {
               if(Bid-OrderOpenPrice()>TrailingStop*Point)
                 {
                  if(OrderStopLoss()<Bid-TrailingStop*Point)
                    {
                    


и





            if(OrderType()==OP_SELL)
              {
               if((OrderOpenPrice()-Ask)>TrailingStop*Point)
                 {
                  if((OrderStopLoss()>(Ask+TrailingStop*Point)) || (OrderStopLoss()==0))
                    {
                     

avatar

  8  axe44 Сообщений: 374 - Алек

  • 12 августа 2018, 10:45
+
0
axe44, чтобы людям не додумывать вопрос, то уж выскажи мысль до конца..., в чем подвох?

Формально разница в функциях, операторах,… если намек на одинаковый результат при вычислениях — то наверное так и нужно..., вопрос к кодеру. В текущем советнике я склеил готовые куски из разных кодов от Андрея.
avatar

  9  profit76 Сообщений: 63 - Олег

  • 12 августа 2018, 12:03
+
0
Разница не более чем в машине с запаской и без неё. И то и другое поедет, только когда остановиться машина… Кто поможет? Опять Андрей? А если занят?
Учись делать код красивым.
avatar

  8  axe44 Сообщений: 374 - Алек

  • 12 августа 2018, 12:46
+
0
axe, дорогой форумчанин, умудренный опытом поможет, гордец язвительно подначит…

Я знаю чего хочу и двигаюсь в выбранном направлении. Прогаммированием занимался последний раз в институте в далеком 1994 году, это больше 20 лет назад. Всему свое время, восстановлю пробелы в знаниях…
avatar

  9  profit76 Сообщений: 63 - Олег

  • 12 августа 2018, 12:55
+
0
О славься мудрец спектрумовских начал, пока не видящий разницы в кодах.
avatar

  8  axe44 Сообщений: 374 - Алек

  • 12 августа 2018, 13:09
+
0
Верно подмечено, спектрумовских времен и пока не видящий разницы в кодах. Но я предлагаю другую тему — обсуждение даже не кодов, а идей для роботов. По сути все придумано до нас, изобретение велосипеда — трата времени. Вот работа на пересечении МА разных видов, каналов, сеточники и прочее — насколько они рабочие с учетом спреда, времени торговли, мартина/усреднителя, флет/тренд… вот об этом нужно прежде поговорить. Только после этого код. Далее об алгоритмах отладки. С уважением, Олег.
avatar

  9  profit76 Сообщений: 63 - Олег

  • 12 августа 2018, 13:20
+
0
axe, будет корректным предложить свой вариант кода, + указать на возможные неудобства при использовании текущей версии кода (сложность, дополнительная нагрузка при расчетах....?). Критикуешь — предлагай…
avatar

  9  profit76 Сообщений: 63 - Олег

  • 12 августа 2018, 13:40
+
0
Индикаторы проверяются на закрытом коде, поэтому, что бы не гонять проверку каждый тик, можно сделать проверку раз в бар. Нет защиты от НОВОСТЕЙ когда спред под размер северной лисицы… Количество ордеров меньше ста, когда об стабильности можно говорить при 300 сделок или больше. Не проверялся советник при глобальном выносе усреднителей. Хотя бы по котировкам с 2014 года хотя бы по франку и фунту.
Редактирован: 12 августа 2018, 13:54
avatar

  8  axe44 Сообщений: 374 - Алек

  • 12 августа 2018, 13:54
+
0
1. Согласен, по поводу проверки за период и про достоверность статистики, об этом тоже писал выше. спред — отдельная тема, тут тоже можно поработать над фильтрами, и как мысль — ввести интрадей (некий прием функции close of day) с последующим открытием в том же направлении в заданное время.

2. Защита от новостей как мысль пристутствует — это будет отключение за 5-10 минут до и включение через 60-120 минут после новости.

3. Этот советник в текущей версии как усреднитель не вижу. Фунт с его брекзитом наверное не самый лучший вариант для теста?
avatar

  9  profit76 Сообщений: 63 - Олег

  • 12 августа 2018, 14:11
+
0
Мудрецы: Добавьте в советник открытие ордеров по шагу, от открытого ордера по сигналу.Што бы тренд не ходил в холостую, до закрытия ордера.
avatar

  5  juozas Сообщений: 82

  • 12 августа 2018, 13:37
+
0
Как я вижу, то холостой ход ограничивается в текущей версии безубытком и размером трала. Т.е. холостой ход = уровень трэйлинг стопа. Иных вариантов выжать из трейда максимум пока не вижу. Ведь неизвестно когда закончится движение. Ориентир на индексы как фильтры слабоват, по-моему.

juozas, это хочется сделать некое подобие пирамидинга/доливочного варианта?
avatar

  9  profit76 Сообщений: 63 - Олег

  • 12 августа 2018, 13:47
+
0
Совершенно верно, при выставлении большого СЛ.цена уходит от открыто ордера: на пример 200 пп.вот и открываются ордера по шагу от цены, пака не закроется при развороте тренда открытый ордер.
avatar

  5  juozas Сообщений: 82

  • 12 августа 2018, 13:55
+
0
усреднитель?
avatar

  9  profit76 Сообщений: 63 - Олег

  • 12 августа 2018, 14:00
+
0
Я пробивал добавить открытие ордеров по шагу, не получилось *cry* 
avatar

  5  juozas Сообщений: 82

  • 12 августа 2018, 13:59
+
0
Да ,*yes* 
avatar

  5  juozas Сообщений: 82

  • 12 августа 2018, 14:02
+
+1
Для себя лично не вижу перспективу работы с усреднителями, практически непредстказуемо нагружают депо. не мой путь.
avatar

  9  profit76 Сообщений: 63 - Олег

  • 12 августа 2018, 14:25
+
0
А я бы хотел, па пробивать с усреднением *think* 
avatar

  5  juozas Сообщений: 82

  • 12 августа 2018, 14:39
+
0
Советник заточен под конкретную идею, автор заказа был согласен с моей доработкой, другой вариант будет уже совсем другим советником — это в стол заказов.
avatar

  9  profit76 Сообщений: 63 - Олег

  • 12 августа 2018, 14:44
+
0

Оптимизировать на старых ноутбуках нужно быстро.
avatar

  8  axe44 Сообщений: 374 - Алек

  • 12 августа 2018, 14:06
+
0
не уловил, к чему это?

у меня железо позволяет нормально оптимзацию проводить, не жалуюсь.
Редактирован: 12 августа 2018, 14:17
avatar

  9  profit76 Сообщений: 63 - Олег

  • 12 августа 2018, 14:15
+
0
1. Согласен, по поводу проверки за период и про достоверность статистики, об этом тоже писал выше. спред — отдельная тема, тут тоже можно поработать над фильтрами, и как мысль — ввести интрадей (некий прием функции close of day) с последующим открытием в том же направлении в заданное время.

2. Защита от новостей как мысль пристутствует — это будет отключение за 5-10 минут до и включение через 60-120 минут после новости.

3. Этот советник в текущей версии как усреднитель не вижу. Фунт с его брекзитом наверное не самый лучший вариант для теста?

как-то продублировалось сообщение. ну да ладно.
Редактирован: 12 августа 2018, 14:14
avatar

  9  profit76 Сообщений: 63 - Олег

  • 12 августа 2018, 14:13
+
0
по поводу проверки не по тикам, а по барам -тоже думал, меньше будет нагрузка, но пока до этого руки не дошли, видел примеры на такую проверку. Подумаю.
avatar

  9  profit76 Сообщений: 63 - Олег

  • 12 августа 2018, 14:41
+
0
avatar

  8  axe44 Сообщений: 374 - Алек

  • 12 августа 2018, 14:58
+
0
Этот советник в нашем архиве есть
avatar

  5  juozas Сообщений: 82

  • 12 августа 2018, 15:25
+
0
Как то так
avatar

  5  juozas Сообщений: 82

  • 12 августа 2018, 16:10
+
0
И какой алгоритм входа, открытия дополнительных позиций? Наверное, нужно перенести в отдельную ветку, т.к. уже далеко от первоначального авторского ТЗ. + выложить сам робот…
avatar

  9  profit76 Сообщений: 63 - Олег

  • 12 августа 2018, 16:31
+
0
double buy1=iMA(NULL,0,MA1Period,MA1Shift,MA1Method,MA1Price,0);
double sell2=iMA(NULL,0,MA2Period,MA2Shift,MA2Method,MA2Price,1);
avatar

  5  juozas Сообщений: 82

  • 12 августа 2018, 16:42
+
0
Робот ещё не доделан
avatar

  5  juozas Сообщений: 82

  • 12 августа 2018, 16:44
+
0
хочу увидеть код. можно в личку.
Редактирован: 12 августа 2018, 16:48
avatar

  9  profit76 Сообщений: 63 - Олег

  • 12 августа 2018, 16:47

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