Обсуждение статьи "Как написать модуль торговых сигналов для Мастера MQL5" - страница 3

 
beginner:

Посмотрите плиз, что не так. Не торгует в тестере.

этот модуль торгует

для вашего случая замените для лонгов

if(  High(1) > High(2) && Low(2)>Low(3) && High(2)<High(3) && Close(3)>Open(3) ){
     return(100);
   }
//--- условие не выполнено
   return(0);  
  }

 на 

Open(1)< Open(2)

 для шортов - найдете сами

Файлы:
 
gdtt:

этот модуль торгует

для вашего случая замените для лонгов

 на 

 для шортов - найдете сами

Да торгует, спасибо! День потратил, вроде все сделал как в статье, в чем моя ошибка?
 
beginner:
Да торгует, спасибо! День потратил, вроде все сделал как в статье, в чем моя ошибка?

в новом визарде по сравнению с предыдущим очень большие изменеия. насчет, например,    

virtual bool      CheckOpenLong(double& price,double& sl,double& tp,datetime& expiration);

virtual bool      CheckOpenShort(double& price,double& sl,double& tp,datetime& expiration);

я понял так, должен существовать объект класса  CExpertSignal среди нескольких, используемых в советнике с признаком главного, он и может использовать эти функции. остальные объекты принимают участие в открытии позиций через функции 

   virtual int       ShortCondition();      //проверка условия открытия селла

   virtual int       LongCondition();       //проверка условия открытия бая

 

чтобы расставить точки над и  - нужна статься по тому как написать свой модуль сигналов в новом визарде, ее и ждем.

 

 

 
Да статьи не хватает, и документацию по CExpertSignal наверно надо дополнить.
 

Подскажите, каким образом можно при помощи LongCondition и ShortCondition не только открывать, но и закрывать позицию без открытия противоположной? Например, параметр Signal threshold value to open = 30 и Signal threshold value to close = 70.

Мы хотим открыть long при выполнении Condition1 и закрыть позицию при выполнении Condition2. Какие значения должны возвращать LongCondition и ShortCondition в этом случае? 

Если управления возвращаемыми значениями LongCondition и ShortCondition недостаточно, то как это можно сделать? Предполагается, что мы используем только один сигнал.

Спасибо.

 

Добрый день, 

Посоветуйте, пожалуйста, как увеличить (долить) позицию в советнике, который написан на базе Мастера MQL5 и где позиции открываются через

   virtual int       LongCondition();
   virtual int       ShortCondition();   

Я написал робот по рекомендациям в статье  

 https://www.mql5.com/ru/articles/367   "создай торговый робот за 6 шагов" и он прекрасно работает, но попытки повлиять на размер позиции

(неважно увеличить или уменьшить) через повторную генерацию условия  в , например в 

LongCondition();

ни к чему не приводит, уже открытая позиция не изменяется, ее можно только удалить через выполнение условия закрытия или по срабатыванию sl , tp.

 Мастер MQL5 мне нравиться, можно легко и быстро "собирать" многоиндикаторный советник, менять модуль отслеживания sl, менять модуль управления капиталом.

Но попытка написать советник, который открывает минимальную позицию при формировании условия от одного индикатора и увеличивает (доливает) позицию при подтверждении тренда другим индикатором

натолкнулась на вышеописанную проблему - уже открытая позиция не изменяется при повторной выдаче сигнала на открытие через. например LongCondition();

Спасибо. 

Создай торговый робот за 6 шагов!
Создай торговый робот за 6 шагов!
  • 2012.06.01
  • MetaQuotes Software Corp.
  • www.mql5.com
Вы не знаете, как устроены торговые классы, и пугаетесь слов "Объектно-ориентированное программирование"? На самом деле вовсе не обязательно всё это знать, чтобы написать свой собственный модуль торговых сигналов - достаточно следовать простым правилам. Всё остальное сделает Мастер MQL5, и вы получите готовый торговый робот!
 
файл из статьи не видно в мастере, кто в теме, подскажите пж-та что подправить.
 
thejobber:
файл из статьи не видно в мастере, кто в теме, подскажите пж-та что подправить.

В комментариях нужно заменить строчку

//| Type=Signal

на

//| Type=SignalAdvanced

После этого у меня мастер стал видеть сигнал. 

 
Скачал, сгенерил через Мастер, попробовал запустить в тестере.  Не работает. Он даже не заходит в методы CheckOpenLong/Short() в samplesignal. Они вызываются в ExpertSignal, но не в SampleSignal. Что еще сделать, чтобы наверняка переопределить их?
 
t101:
Скачал, сгенерил через Мастер, попробовал запустить в тестере.  Не работает. Он даже не заходит в методы CheckOpenLong/Short() в samplesignal. Они вызываются в ExpertSignal, но не в SampleSignal. Что еще сделать, чтобы наверняка переопределить их?

Вы так делали:

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Обсуждение статьи "Как написать модуль торговых сигналов для Мастера MQL5"

SaprykinON, 2015.02.06 19:04

В комментариях нужно заменить строчку

//| Type=Signal

на

//| Type=SignalAdvanced

После этого у меня мастер стал видеть сигнал. 


и так:

Следует отметить, что для того чтобы этот файл был потом "обнаружен" Мастером MQL5 как генератор сигналов, его следует создать в папке Include\Expert\Signal\.

?
Причина обращения: