Советники: Мастер MQL5 - Торговые сигналы по пересечению двух экспоненциальных скользящих средних с фильтрацией сделок по времени
MQL5 Wizard - Торговые сигналы на основе пересечения двух EMA с внутридневным временным фильтром:
Автор: MetaQuotes Software Corp.
Хорошая статья, но прошу некоторых пояснений:
**** открывать позиции только с 0:00 до 5:59. Это можно сделать, установив значение BadHoursOfDay=16777152=11111111111111111111111111000000b. Все остальные торговые часы являются "плохими", поэтому лучше запретить открытие новых позиций с 6:00 и до конца дня. ****
Здесь необходимы некоторые детали:
- как рассчитать/определить это значение " 16777152", как определить его для другого времени "открытия/закрытия" или только для времени "открытия"?
- как принимать решения по нескольким ITF, например: TOKYO/LONDON/NY opening times ?
Здесь необходимы некоторые детали:
- как рассчитать/определить это значение " 16777152", как определить его для другого времени "открытия/закрытия" или только для времени "открытия"?
В данном примере реализован фильтр по открытию новых позиций. (Предполагается, что они будут закрыты SL/TP).
Двоичное представление 16777152:
В нашем случае мы использовали фильтр по часам, "плохие" часы были отмечены соответствующими битами=1. То же самое можно сделать и с BadMinutesOfHour.
Для преобразования двоичных значений можно использовать calc.exe:
- Как принимать решения по нескольким МФТ, например: TOKYO/LONDON/NY opening times?
Если вы хотите использовать 3 отдельных фильтра (TOKYO,LONDON,NY), вы можете добавить дополнительные экземпляры класса CSignalITF (в нашем случае только один m_time_filter) в ваш класс сигналов.
Как бы вы оптимизировали временной фильтр в тестере стратегий?
Лучший временной фильтр можно найти с помощью оптимизации входного параметра BadHoursOfDay в Strategy Tester. Вы можете указать начальное и конечное значения параметров, и он найдет лучшие часы, поскольку используется генетический алгоритм оптимизации, это не займет много времени, как кажется.
Второй способ - проверять время убыточных сделок вручную и "помечать" их битами параметра BadHoursOfDay.
По сути, это позволяет настроить свою стратегию и учесть некоторые "логические" причины торговой идеи. Например, осцилляторы лучше работают во флэте, причиной флэта может быть отсутствие новостей, свойства сессии/валютной пары и т.д.
В данном примере реализован фильтр по открытию новых позиций. (Предполагается, что они будут закрыты SL/TP).
Двоичное представление 16777152 имеет вид:
В нашем случае мы использовали фильтр по часам, "плохие" часы были отмечены соответствующими битами=1. То же самое можно сделать и с BadMinutesOfHour.
Для преобразования двоичных значений можно использовать calc.exe:
Если вы хотите использовать 3 отдельных фильтра (TOKYO,LONDON,NY), вы можете добавить дополнительные экземпляры класса CSignalITF (в нашем случае только один m_time_filter) в ваш класс сигналов.
Спасибо за эту статью, но какая головная боль :( Нельзя ли просто использовать что-то более удобное для пользователя, например, StartHour/EndHour/StartMinute/EndMinute, как это можно сделать в MT4? Зачем использовать этот сложный бинарный режим?
Двоичное представление параметров имеет ряд существенных преимуществ. Например, вы можете исследовать пространство параметров в тестере стратегий (начало с 0, конец 16777215, шаг 1). Попробуйте.
Найдя лучшие часы, вы можете исследовать дни. Но учтите, что временные фильтры эффективны для младших таймфреймов (H1 и ниже).
Если вам нужен более "дружелюбный" способ, вы можете написать собственный класс торговых сигналов (см. MQL5 Wizard: How to Create a Module of Trading Signals).
Двоичное представление параметров имеет ряд существенных преимуществ. Например, вы можете исследовать пространство параметров в Тестере стратегий (начало с 0, конец 16777215, шаг 1). Попробуйте.
Найдя лучшие часы, вы можете исследовать дни. Но учтите, что временные фильтры эффективны для младших таймфреймов (H1 и ниже).
Если вам нужен более "дружелюбный" способ, вы можете написать свой собственный класс торговых сигналов (см. MQL5 Wizard: How to Create a Module of Trading Signals).
Фильтр наилучшего времени можно найти с помощью оптимизации входного параметра BadHoursOfDay в Strategy Tester. Вы можете указать начальные и конечные значения параметров, и он сам найдет лучшие часы, причем из-за использования генетического алгоритма оптимизации это не займет много времени, как кажется.
Второй способ - проверять время убыточных сделок вручную и "помечать" их битами параметра BadHoursOfDay.
По сути, это позволяет настроить свою стратегию и учесть некоторые "логические" причины торговой идеи. Например, осцилляторы лучше работают во флэте, причиной флэта может быть отсутствие новостей, свойства сессии/валютной пары и т.д.
Хорошо, пожалуйста, поправьте меня, если я ошибаюсь, но если предположить, что я хочу отфильтровать плохие минуты, значит ли это, что мне нужно просеять 1152921504606846975 опционов?
здравствуйте.
а можно сделать что бы средние были на выбор - MA, EMA, WMA. а также был бы сдвиг средней. и в дополнении закрытие по профиту на другом индикаторе?

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Мастер MQL5 - Торговые сигналы по пересечению двух экспоненциальных скользящих средних с фильтрацией сделок по времени:
В статье Создание эксперта без программирования с помощью Мастера MQL5 описаны шаги по автоматическому созданию кода советника при помощи Мастера MQL5.
Принципы работы модуля торговых сигналов на пересечении двух скользящих средних рассмотрены в "Мастер MQL5 - Торговые сигналы по пересечению двух экспоненциальных скользящих средних". Системы, основанные на скользящих средних, эффективно работают лишь при наличии трендовых движений, в противном случае множество ложных сигналов значительно снизит эффективность торговли. Одним из методов улучшения торговых показателей является фильтрация сделок по времени, ограничивая вход в рынок заданными временными рамками (например, открывать позиции только в течение европейской сессии).
Здесь мы расскажем о трендовой стратегии, основанной на пересечении двух (быстрой и медленной) экспоненциально сглаженных скользящих средних с фильтрацией сделок по времени. Эта стратегия включена в стандартную поставку терминала и называется "Signals based on crossover of two EMA with intraday time filter".
Основные положения стратегии:
Автор: MetaQuotes Software Corp.
Результаты тестирования советника, использующего стратегию пересечения двух EMA без использования фильтра ITF
Результаты тестирования советника, использующего стратегию пересечения двух EMA с фильтрацией входов по часам (BadHoursofDay=16777152)
Использование механизма временных фильтров позволяет улучшить эффективность различных торговых сигналов и учесть специфику рыночных движений определенных временных интервалов (например, особенности торговых сессий).