Выбор сигнала

 

Собрал советника из модулей СБ на основе MACD, но беда в том что в этом модуле сразу 5 сигналов (в одну сторону) открывают ордера.

Подскажите как использовать только выбранные сигналы для открытия ордеров.

https://www.mql5.com/ru/docs/standardlibrary/expertclasses/csignal/signal_macd

Тип сигнала

Описание условий

За покупку

  • Разворот — осциллятор развернулся вверх (осциллятор растет на анализируемом баре, а на предыдущем он падал).

 

  • Пересечение основной и сигнальной линии — на анализируемом баре основная линия выше сигнальной, а на предыдущем — ниже.

 

  • Пересечении нулевого уровня — на анализируемом баре основная линия выше нулевого уровня, а на предыдущем — ниже.

 

  • Дивергенция — первая анализируемая впадина осциллятора мельче предыдущей, а соответствующая ей впадина цены глубже предыдущей.

 

  • Двойная дивергенция — осциллятор сформировал три последовательных впадины, каждая из которых мельче предыдущей, а цена сформировала три соответствующие им впадины, каждая из которых глубже предыдущей.
 
Texnolog:

Собрал советника из модулей СБ на основе MACD, но беда в том что в этом модуле сразу 5 сигналов (в одну сторону) открывают ордера.

Подскажите как использовать только выбранные сигналы для открытия ордеров.

https://www.mql5.com/ru/docs/standardlibrary/expertclasses/csignal/signal_macd

Тип сигнала

Описание условий

За покупку

  • Разворот — осциллятор развернулся вверх (осциллятор растет на анализируемом баре, а на предыдущем он падал).

 

  • Пересечение основной и сигнальной линии — на анализируемом баре основная линия выше сигнальной, а на предыдущем — ниже.

 

  • Пересечении нулевого уровня — на анализируемом баре основная линия выше нулевого уровня, а на предыдущем — ниже.

 

  • Дивергенция — первая анализируемая впадина осциллятора мельче предыдущей, а соответствующая ей впадина цены глубже предыдущей.

 

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

Модуль торговых сигналов выдаёт обобщенный сигнал (направление и силу). А вот что делать: вставлять ОТЛОЖЕННЫЕ ОРДЕРА или ОТКРЫВАТЬ ПОЗИЦИЮ - это дело настроек советника

Подробнее о параметре "Signal_PriceLevel":

Обратите внимание на параметр Signal_PriceLevel. По умолчанию эксперт генерируется с параметром Signal_PriceLevel=0. Этот параметр отвечает за уровень отступа от текущей цены. При значении, равном нулю, ордер будет открыт по текущей рыночной цене. Чтобы открыть отложенный ордер, следует задать ненулевое значения для параметра Signal_PriceLevel, т.е. Signal_PriceLevel может быть как меньше нуля, так и больше.

Параметр Signal_PriceLevel указывается в "больших" пунктах. На картинках ниже показана разница между отрицательными и положительными значениями:

При Signal_PriceLevel=-50:

Рис. 1. Signal_PriceLevel=-50

Рис. 1. Signal_PriceLevel=-50

При Signal_PriceLevel=50:

Рис. 2. Signal_PriceLevel=50

Рис. 2. Signal_PriceLevel=50

Таким образом, при Signal_PriceLevel=-50, отложенный ордер будет открываться по цене хуже текущей, а при Signal_PriceLevel=50, отложенный ордер будет открываться по цене лучшей, чем текущая.

 

В Вашем же случае ТАК ПРОСТО не выйдет. Хотите только один вид паттерна из модуля сигналов: поработайте ручками. 

Например можно обнулить вес паттернов:

//+------------------------------------------------------------------+
//| Constructor                                                      |
//+------------------------------------------------------------------+
CSignalMACD::CSignalMACD(void) : m_period_fast(12),
                                 m_period_slow(24),
                                 m_period_signal(9),
                                 m_applied(PRICE_CLOSE),
                                 m_pattern_0(10),
                                 m_pattern_1(30),
                                 m_pattern_2(80),
                                 m_pattern_3(50),
                                 m_pattern_4(60),
                                 m_pattern_5(100)

Обнулите нужный паттерн и заново скомпилируйте советник.

 
Vladimir Karputov:

В Вашем же случае ТАК ПРОСТО не выйдет. Хотите только один вид паттерна из модуля сигналов: поработайте ручками. 

Например можно обнулить вес паттернов:

Обнулите нужный паттерн и заново скомпилируйте советник.

Если паттерну присвоить значение 0, это означает, что эта модель не будет использоваться?

 
Texnolog:

Если паттерну присвоить значение 0, это означает, что эта модель не будет использоваться?

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

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