Ставь лайки и следи за новостями
Поставь на него ссылку - пусть другие тоже оценят
Оцени его работу в терминале MetaTrader 5
- Просмотров:
- 862
- Рейтинг:
- Опубликован:
-
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу
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
Это индикатор, используемый для определения тренда, уровня поддержки и сопротивления рынка. При наличии данных об объеме рассчитывается по MFI, при отсутствии - по RSI. Моментум: RSI и MFI Волатильность: ATR
Ложные расставания
Индикатор "False Breakouts.mq5" - это инструмент для MetaTrader 5, который визуально определяет и отмечает точки покупки и продажи на основе ложных прорывов поддержки и сопротивления. Он использует буферы для отображения стрелок покупки (синие) и продажи (красные), а также линии поддержки (синие) и сопротивления (красные) и дополнительные стрелки для вершин и низов рынка. Основная логика индикатора заключается в определении вершин и низов на основе высоких и низких цен свечей, динамически обновляя уровни поддержки и сопротивления. Когда цена пробивает уровень поддержки или сопротивления, а затем возвращается обратно, индикатор генерирует сигналы на покупку или продажу соответственно. Это полезный инструмент для трейдеров, которые используют стратегии, основанные на ложных прорывах.
Multi-Day Dynamic VWAP
Динамический уровень VWAP, который может быть усреднен за несколько дней
T3 Moving Average
Индикатор T3 - это усовершенствованная скользящая средняя, которая объединяет шесть экспоненциальных скользящих средних, обеспечивая более плавное движение цены с меньшим запаздыванием по сравнению с традиционными скользящими средними.