Смотри, как бесплатно скачать роботов
Ищи нас в Telegram!
Ставь лайки и следи за новостями
Интересный скрипт?
Поставь на него ссылку - пусть другие тоже оценят
Понравился скрипт?
Оцени его работу в терминале MetaTrader 5
Скрипты

Creating a Simple News Filter for XAUUSD Trading on MT5 - скрипт для MetaTrader 5

Просмотров:
464
Рейтинг:
(3)
Опубликован:
MQL5 Фриланс Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу

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

AlphaTrend AlphaTrend

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

Ложные расставания Ложные расставания

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

Multi-Day Dynamic VWAP Multi-Day Dynamic VWAP

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

T3 Moving Average T3 Moving Average

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