Открытие, закрытие в советнике сгенерированном Мастером MQL5 - страница 3

 

а Вы можете сказать, какое значение в итоге возвращает SignalITF? Объясните мне, недалекому, что значит empty_value?

 
PeretsCHILI:

а Вы можете сказать, какое значение в итоге возвращает SignalITF? Объясните мне, недалекому, что значит empty_value?


Я уже и не помню, пока вот что нашёл: 

Сигналы внутридневного временного фильтра

 

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

 
Andy:

Закрывает, если сигналы на лонг и шорт оба по 100.


Посмотрите Конструктор вашего модуля сигнала: какие веса у паттернов?

(что-то вроде этого:

//+------------------------------------------------------------------+
//| Constructor                                                      |
//+------------------------------------------------------------------+
CSignalDEMA::CSignalDEMA(void) : m_ma_period(12),
                                 m_ma_shift(0),
                                 m_ma_applied(PRICE_CLOSE),
                                 m_pattern_0(20),
                                 m_pattern_1(60),
                                 m_pattern_2(80),
                                 m_pattern_3(60)
  {

)

 
Andy:

У меня просто сигнал = 100 в условиях и покупки и продажи. Условие только одно: бычий бар > 30 пипсов - покупка, медвежий - продажа.


Значит выдавайте не 100, а 80. В таком случае можно будет выставив в советнике параметр Signal threshold value to close [0...100] равным 100 запретить закрытие вообще.

 
Andy:

...

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

...


Нужно написать свой модуль сопровождения позиций. Подробнее в статье: Мастер MQL5: Как написать свой модуль сопровождения открытых позиций


Andy:

...

А можно еще сделать так, чтобы при развороте тренда позиция просто закрывалась без открытия противоположной?

Да можно. Необходимо наследоваться от CExpert и прописать в полученном классе свои правила.
 
Andy:

При использовании указанного вами модуля выдаются ошибки в журнале эксперта во время загрузки советника на график:

2017.09.06 00:28:29.873 1 (EURUSD,M5) OnInit: error initializing indicators

2017.09.06 00:31:20.256 1 (EURUSD,M5) CExpertBase::SetPriceSeries: changing of timeseries is forbidden

2017.09.06 00:31:20.256 1 (EURUSD,M5) CExpertBase::SetOtherSeries: changing of timeseries is forbidden

2017.09.06 00:31:20.256 1 (EURUSD,M5) CExpertBase::InitIndicators: parameters of setting are not checked

2017.09.06 00:31:20.256 1 (EURUSD,M5) CExpert::InitIndicators: error initialization indicators of trailing object

2017.09.06 00:31:20.256 1 (EURUSD,M5) OnInit: error initializing indicators

Возможно он устарел, где взять новый или что исправить в этом?

Чтобы получать ответы, пожалуйста пользуйтесь ЦИТИРОВАНИЕМ сообщений:

Уважаем собеседника

 
Andy:

При использовании указанного вами модуля выдаются ошибки в журнале эксперта во время загрузки советника на график:

2017.09.06 00:28:29.873 1 (EURUSD,M5) OnInit: error initializing indicators

2017.09.06 00:31:20.256 1 (EURUSD,M5) CExpertBase::SetPriceSeries: changing of timeseries is forbidden

2017.09.06 00:31:20.256 1 (EURUSD,M5) CExpertBase::SetOtherSeries: changing of timeseries is forbidden

2017.09.06 00:31:20.256 1 (EURUSD,M5) CExpertBase::InitIndicators: parameters of setting are not checked

2017.09.06 00:31:20.256 1 (EURUSD,M5) CExpert::InitIndicators: error initialization indicators of trailing object

2017.09.06 00:31:20.256 1 (EURUSD,M5) OnInit: error initializing indicators

Возможно он устарел, где взять новый или что исправить в этом?

Ответил в обсуждении статьи:

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

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

Vladimir Karputov, 2017.09.06 07:26


Внесите изменение в модуль трейлинга "sampleTrailing.mqh":

//+------------------------------------------------------------------+
//| Проверка параметров настройки.                                   |
//| INPUT:  нет.                                                     |
//| OUTPUT: true-если настройки правильные, иначе false.             |
//| REMARK: нет.                                                     |
//+------------------------------------------------------------------+
bool CSampleTrailing::ValidationSettings()
  {
   if(!CExpertTrailing::ValidationSettings())
      return(false);
//--- а вдруг не вызывался метод Init
   if(m_symbol==NULL) return(false);
//--- проверка параметров
   if((m_profit-m_stop_level)*m_adjusted_point<=m_symbol.StopsLevel()*m_symbol.Point() && m_profit!=0.0)
     {
      printf(__FUNCTION__+": уровень пороговой прибыли должен быть больше уровня установки ордеров");
      return(false);
     }
//--- ok
   return(true);
  }

 
Andy:

А в стандартных модулях сигналов MA и RSI как определить, какая сила сигнала в данный момент

***


Вам, как пользователю, это точно нужно?


Andy:

***

какое значение ставить для открытия и закрытия позиции?


Подбирайте уровни для открытия и закрытия экспериментально:

Signal threshold value to open [0...100]
Signal threshold value to close [0...100]


а также значения весов во входных параметрах

Moving Average(12,0,...) Weight [0...1.0]
Relative Strength Index(8,...) Weight [0...1.0]


То есть всё подбирается экспериментально для каждого отдельного случая (символа и таймфрейма).

 
Andy:
А в модуле МА какая сила сигнала на открытие и закрытие (мне это надо для объединения с другим модулем)?

Загляните в код модуля сигналов пользовательского индикатора MovingAverage (Expert\Signal\SignalMA.mqh), в конструктор.

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