Ставь лайки и следи за новостями
Поставь на него ссылку - пусть другие тоже оценят
Оцени его работу в терминале MetaTrader 5
- Просмотров:
- 464
- Рейтинг:
- Опубликован:
-
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу
XAUUSD (золото) - популярный торговый инструмент на рынке Форекс благодаря своей высокой волатильности и потенциалу прибыли. Однако крупные экономические новости, такие как Non-Farm Payrolls, решения ФРС по процентным ставкам или объявления Европейского центрального банка, могут вызывать значительные скачки цен, что создает риски для автоматических торговых стратегий. Чтобы управлять этими рисками, фильтр новостей в советнике (EA) может приостанавливать торговлю в периоды, когда новости оказывают большое влияние. В этой статье я покажу вам, как создать простой фильтр новостей для торговли XAUUSD на MT5, и приведу практический пример кода для начала работы.
Зачем использовать фильтр новостей для торговли XAUUSD?
Новостные события, связанные с долларом, фунтом или евро, часто приводят к резким движениям цен на XAUUSD. Например, объявление о повышении ставки ФРС может вызвать стремительное падение цен на золото, что приведет к срабатыванию стоп-лоссов или неожиданным убыткам в автоматической торговой системе. Фильтр новостей помогает в этом:
- Приостановка торговли: Временная остановка торгов до и после важных новостных событий, чтобы избежать волатильности.
- Снижение риска: защита вашего счета от внезапных колебаний рынка.
- Повышения согласованности: Обеспечение того, чтобы ваш советник торговал только в стабильных рыночных условиях.
В следующем разделе я приведу простой фрагмент кода на MQL5 для реализации фильтра новостей для вашей торговой стратегии XAUUSD.
//+------------------------------------------------------------------+ //| Простой фильтр новостей для торговли на XAUUSD| //+------------------------------------------------------------------+ #property copyright "Duy Van NGUY" #property link " https://www.mql5.com/ru/users/wazatrader" #property version "1.00" input int MinutesBeforeNews = 15; // Минуты перед новостями, чтобы приостановить торговлю input int MinutesAfterNews = 15; // Минуты после новостей для возобновления торгов // Имитация времени выхода новостей (в демонстрационных целях замените источник данных реальными новостями) datetime newsTimes[] = {D'2025.05.07 14:30:00'}; // Пример: Новости в 14:30 7 мая 2025 года //+------------------------------------------------------------------+ //| Проверьте, следует ли приостановить торговлю из-за новостей | //+------------------------------------------------------------------+ bool IsNewsTime() { datetime currentTime = TimeCurrent(); for(int i = 0; i < ArraySize(newsTimes); i++) { datetime newsTime = newsTimes[i]; datetime startPause = newsTime - MinutesBeforeNews * 60; // Пауза за X минут до выхода новостей datetime endPause = newsTime + MinutesAfterNews * 60; // Возобновление через X минут после новостей if(currentTime >= startPause && currentTime <= endPause) { Print("News Filter: Trading paused due to upcoming news at ", newsTime); return true; // Торговая пауза } } return false; // Безопасно для торговли } //+------------------------------------------------------------------+ //| Функция инициализации эксперта| //+------------------------------------------------------------------+ int OnInit() { return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Функция экспертного тика| //+------------------------------------------------------------------+ void OnTick() { if(IsNewsTime()) { return; // Пропускать торговлю во время новостей } // Добавьте сюда свою торговую логику XAUUSD Print("Safe to trade XAUUSD"); } //+------------------------------------------------------------------+ //| Функция деинициализации эксперта| //+------------------------------------------------------------------+ void OnDeinit(const int reason) { // Очистите код, если это необходимо } //+------------------------------------------------------------------+
Пояснения к коду
- Входы: MinutesBeforeNews и MinutesAfterNews позволяют определить временное окно (в минутах) для приостановки торговли до и после новостного события.
- News Times: Массив newsTimes содержит предопределенное время новостного события (например, 7 мая 2025 года, 14:30). На практике вы можете заменить его реальной новостной лентой из API экономического календаря.
- Логика: Функция IsNewsTime() сравнивает текущее время(TimeCurrent()) с временем новостного события. Если текущее время попадает в окно паузы, торговля останавливается.
- Использование: Интегрируйте этот фильтр в советник, вызывая IsNewsTime() в функции OnTick() перед выполнением любых сделок.
Улучшение торговли XAUUSD с помощью советника XAU OneShot EA MT5
Хотя приведенный выше код обеспечивает базовый фильтр новостей, вам может понадобиться более надежное решение для торговли на XAUUSD. Именно поэтому я разработал XAU OneShot EA MT5- советник, созданный специально для торговли золотом с расширенным риск-менеджментом. Он включает в себя:
- Встроенный фильтр новостей, который приостанавливает торговлю за 15 минут до и после основных новостных событий по USD/GBP/EUR.
- Автоматический безубыток и трейлинг-стоп для фиксации прибыли.
- Частичный тейк-профит (закрывает 50 % позиции) для фиксации прибыли, позволяя остальным работать.
- Ежедневный лимит убытков для защиты вашего счета от чрезмерных просадок.
Заключение
Включение фильтра новостей в вашу торговую стратегию XAUUSD - это простой, но эффективный способ управления рисками в периоды волатильных новостей. Код, представленный в этой статье, может послужить отправной точкой для разработки вашего советника. Для более комплексного решения попробуйте XAU OneShot EA MT5, чтобы поднять торговлю золотом на новый уровень. Счастливой торговли!
Перевод с английского произведен MetaQuotes Ltd.
Оригинальная публикация: https://www.mql5.com/en/code/59130

Это индикатор, используемый для определения тренда, уровня поддержки и сопротивления рынка. При наличии данных об объеме рассчитывается по MFI, при отсутствии - по RSI. Моментум: RSI и MFI Волатильность: ATR

Индикатор "False Breakouts.mq5" - это инструмент для MetaTrader 5, который визуально определяет и отмечает точки покупки и продажи на основе ложных прорывов поддержки и сопротивления. Он использует буферы для отображения стрелок покупки (синие) и продажи (красные), а также линии поддержки (синие) и сопротивления (красные) и дополнительные стрелки для вершин и низов рынка. Основная логика индикатора заключается в определении вершин и низов на основе высоких и низких цен свечей, динамически обновляя уровни поддержки и сопротивления. Когда цена пробивает уровень поддержки или сопротивления, а затем возвращается обратно, индикатор генерирует сигналы на покупку или продажу соответственно. Это полезный инструмент для трейдеров, которые используют стратегии, основанные на ложных прорывах.

Динамический уровень VWAP, который может быть усреднен за несколько дней

Индикатор T3 - это усовершенствованная скользящая средняя, которая объединяет шесть экспоненциальных скользящих средних, обеспечивая более плавное движение цены с меньшим запаздыванием по сравнению с традиционными скользящими средними.