Ставь лайки и следи за новостями
Поставь на него ссылку - пусть другие тоже оценят
Оцени его работу в терминале MetaTrader 5
- Просмотров:
- 62
- Рейтинг:
- Опубликован:
- 2025.06.28 12:09
-
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу
Код снабжен комментариями для лучшего понимания. Это описание объясняет основную идею и способы использования/переиспользования кода.
Этот фреймворк состоит из трех ключевых компонентов:
1. CalendarRetriever.mq5 (Скрипт) - Этот скрипт собирает прошедшие события экономических новостей и сохраняет их в файлы в папке "Common" вашего терминала. В дальнейшем эти файлы будут считываться советником во время бэктестинга. Скрипт требует два входных параметра: - Start Date - дата, с которой должны быть получены прошлые новостные события.
- Дата окончания - последняя дата, для которой должны быть сохранены новостные события.
После запуска скрипта в директории "Common" терминала будет создана папка "Calendar", в которой будут созданы следующие текстовые файлы: - Countries.txt - Содержит информацию о каждой стране MQLCalendarCountry
- Events.txt - Хранит информацию о событиях, такую как название, влияние и countryid.
- News.bin - Содержит исторические значения новостных событий, включая временные метки.
2. CalendarFile.mq (Include File) - Этот файл предоставляет структурированный способ обработки новостных данных в советнике. Он содержит два основных класса: - CalendarFileWriter - используется внутри скрипта для хранения новостных данных.
- CalendarFileReader - Используется в советнике для чтения и обработки новостных данных. Он включает в себя функции для загрузки данных о событиях и отслеживания предстоящих новостей в функции OnTick.
3. NewsBacktest.mq5 (советник) - Этот советник использует сохраненные данные для моделирования новостных условий в реальном времени в тестере стратегий. Он считывает сохраненные новостные данные с помощью функций Load и выполняет сделки соответствующим образом.
Как использовать фреймворк:
-
Запустите сценарий CalendarRetriever: выберите символ, который вы хотите протестировать, и запустите сценарий CalendarRetriever.mq5 с указанными датами начала и окончания.
-
Советник
- Советник использует класс CalendarFileReader для загрузки данных с помощью следующих функций:
- LoadEvents() - Загрузка подробной информации о событиях.
- LoadCountries() - Загрузка информации о странах.
- LoadValues() - Загрузка исторических значений новостей.
- Затем он обрабатывает новостные события в функции OnTick, чтобы определить, когда происходит новостное событие. Используйте Propagate() для предсказания и Track() для реакции.
- Функция CalendarFileReader.Propagate() установит следующий индекс на следующее предстоящее событие, ее следует вызывать на каждом тике.
- Функция CalendarFileReader.Track() возвращает true, когда прошло новостное событие, и устанавливает последний индекс на это событие. Также вызывается в функции OnTick(), но результат следует проверять.
- Советник использует класс CalendarFileReader для загрузки данных с помощью следующих функций:
-
Бэктест стратегии Откройте тестер стратегий в MetaTrader 5, выберите NewsBacktest.mq5 и запустите бэктест в визуальном режиме
Как адаптировать стратегию к собственным новостным стратегиям:
Этот фреймворк создан для того, чтобы быть гибким и позволять трейдерам разрабатывать свои собственные стратегии на основе экономических новостей. Вот некоторые способы, которыми вы можете ее модифицировать:
- Настроить логику фильтрации событий в OnTick(), чтобы реагировать на определенные типы новостей (например, торговать только после выхода NFP или CPI).
- Измените логику исполнения ордеров, чтобы реализовать различные стратегии, например, затухание начального движения вместо торговли на прорыве.
- Использовать дополнительные индикаторы наряду с новостными событиями для уточнения сигналов входа.
- Изменение времени истечения отложенных ордеров в зависимости от уровня влияния события.
Это решение делает бэктестирование стратегий на основе новостей максимально реалистичным в рамках ограничений MetaTrader 5. Получив сначала исторические данные о новостях, а затем смоделировав их влияние на рынок, трейдеры могут получить ценные сведения о том, как их стратегии будут работать в реальных условиях.
Для облегчения и лучшего понимания обязательно посмотрите мое видео об этом:
Перевод с английского произведен MetaQuotes Ltd.
Оригинальная публикация: https://www.mql5.com/en/code/55630

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

Библиотека RiskManagement в MQL5 обеспечивает эффективное и динамичное управление рисками, оптимизированное для минимизации ресурсов. Она позволяет устанавливать максимальные лимиты прибыли и убытков с настраиваемыми модификаторами. Она включает в себя управление ордерами OCO и инструменты для управления свечами и преобразования цен.

Этот советник предназначен для автоматического отслеживания рыночных тенденций с помощью сигналов от индикаторов Moving Average и Stochastic Oscillator. Советник обнаруживает сигналы на покупку и продажу, используя пересечения MA, и подтверждает тренд с помощью Stochastic. Кроме того, советник включает автоматическое управление позициями, например, установку тейк-профита, стоп-лосса и удвоение размера лота, что повышает эффективность торговли на трендовых рынках.

Индикатор Trade Assistant MetaTrader - мультитаймфреймовый индикатор, основанный на трех стандартных индикаторах: Stochastic oscillator, RSI (Relative Strength Index) и CCI (Commodity Channel Index). Он отображает текущие направления трендов на таймфреймах M1, M5, M15, M30, H1, H4, D1, W1 и MN1. При использовании такого индикатора вы получаете четкое представление о тенденциях на всех важных таймфреймах. При этом не имеет значения, к какому таймфрейму вы прикрепите этот индикатор. Индикатор можно скачать для MT4 и MT5.