Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «cmrdfxstrategy.mqh» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
Краткий обзор
О программе
CMrdFXStrategy.mqh — это MQL4-библиотека (include-файл), реализующая торговую стратегию через класс CMrdFXStrategy. Класс наследует интерфейс IStrategy и объединяет несколько технических индикаторов для формирования торговых сигналов.
Стратегия использует стрелки ZigZag как основной сигнал, а подтверждение ищет через индикатор MBFX, трендовые линии, 15-периодную скользящую среднюю и при необходимости — фильтр тренда на основе SMA 200. Дополнительно доступен фильтр поддержки и сопротивления на нескольких таймфреймах.
Метод Refresh() пересчитывает все индикаторы и возвращает объект CSignal с направлением сделки, уровнем стоп-лосса и состояниями валидности каждого фильтра. Класс поддерживает как покупочные, так и продажные сигналы с различными условиями подтверждения.
Настройки программы
Настройка
Описание
_srfilter_
Заголовок раздела настроек фильтра поддержки и сопротивления в интерфейсе параметров.
UseSupportResistanceFilter
Переключатель включения/выключения фильтра уровней поддержки и сопротивления.
MaxPipsFromSR
Максимальное расстояние в пунктах от уровня поддержки или сопротивления, в пределах которого уровень считается релевантным для фильтра.
SR_1Hours
Переключатель включения проверки уровней поддержки и сопротивления на таймфрейме H1.
SR_4Hours
Переключатель включения проверки уровней поддержки и сопротивления на таймфрейме H4.
SR_Daily
Переключатель включения проверки уровней поддержки и сопротивления на таймфрейме D1.
SR_Weekly
Переключатель включения проверки уровней поддержки и сопротивления на таймфрейме W1.
__trendfilter
Заголовок раздела настроек трендового фильтра в интерфейсе параметров.
UseSma200TrendFilter
Переключатель включения фильтра тренда на основе 200-периодной простой скользящей средней (SMA 200).
__signals__
Заголовок раздела настроек свечей подтверждения сигналов в интерфейсе параметров.
ZigZagCandles
Количество свечей назад, на которых ищутся стрелки ZigZag для формирования сигнала.
MBFXCandles
Количество свечей назад, на которых проверяется состояние индикатора MBFX для подтверждения сигнала.
__movingaverage__
Заголовок раздела настроек скользящей средней в интерфейсе параметров.
MovingAveragePeriod
Период скользящей средней, используемой в качестве одного из условий подтверждения сигнала.
MovingAverageType
Тип скользящей средней (например, MODE_SMA), используемой в стратегии.
Класс торговой стратегии, объединяющий несколько технических индикаторов (ZigZag, MBFX, трендовые линии, скользящие средние, уровни поддержки и сопротивления) для генерации торговых сигналов на покупку и продажу.
Конструктор класса. Принимает символ торгового инструмента и инициализирует объекты уровней поддержки/сопротивления для таймфреймов H1, H4, D1 и W1, а также объекты индикаторов ZigZag, MBFX, трендовой линии и сигнала.
Деструктор · CMrdFXStrategy~CMrdFXStrategy()
Деструктор класса. Освобождает память всех созданных объектов индикаторов, уровней поддержки/сопротивления, трендовых линий и сигнала.
Метод · CMrdFXStrategyCSignal* Refresh()
Основной метод стратегии. Пересчитывает все индикаторы, оценивает условия для покупочных и продажных сигналов по набору правил, формирует объект торгового сигнала с направлением, уровнем стоп-лосса, расстоянием в пунктах и возрастом, а также состояниями валидности каждого индикатора.
Метод · CMrdFXStrategyint GetSignalFirstValid(int zigZagBar, bool zigZagBuy, bool zigZagSell)
Возвращает номер бара, на котором все условия торгового сигнала (MBFX, трендовая линия и скользящая средняя) впервые подтвердились для заданного направления ZigZag.
Метод · CMrdFXStrategyint GetHours(int bar)
Переводит количество баров в целые часы, учитывая текущий таймфрейм графика (от M1 до W1).
Метод · CMrdFXStrategyint GetIndicatorCount()
Возвращает общее количество используемых в стратегии индикаторов с учётом включённых фильтров.
Метод · CMrdFXStrategyCIndicator* GetIndicator(int indicator)
Возвращает объект индикатора по его порядковому индексу.
Метод · CMrdFXStrategydouble GetStopLossForOpenOrder()
Возвращает уровень стоп-лосса для открытого ордера на основе последней стрелки ZigZag (низшая цена при покупке, верхняя цена при продаже). Возвращает 0, если подходящая стрелка не найдена.
??/ / + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
/ / | C M r d F X S t r a t e g y . m q h |
/ / | C o p y r i g h t 2 0 1 7 , E r w i n B e c k e r s |
/ / | h t t p s : / / w w w . e r w i n b e c k e r s . n l |
/ / + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
# p r o p e r t y c o p y r i g h t " C o p y r i g h t 2 0 1 7 , E r w i n B e c k e r s "
# p r o p e r t y l i n k " h t t p s : / / w w w . e r w i n b e c k e r s . n l "
# p r o p e r t y s t r i c t
e x t e r n s t r i n g _ s r f i l t e r _ = " - - - - - - - S &