← К каталогу
Исходный код · ID 2567

ea news.mq5

Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

Данный советник предназначен для фильтрации торговых операций в периоды выхода важных экономических новостей на MetaTrader 5. Он использует внешнюю библиотеку libNewsFF.ex4 для получения данных экономического календаря и позволяет приостанавливать торговлю заданное количество минут до и после новостей определённого уровня влияния и из выбранных стран.

В обработчике OnTick советник проверяет, включён ли фильтр новостей. При активном фильтре запрашиваются данные о новостях и проверяется наличие предстоящих или недавних событий, соответствующих заданным параметрам. Если такие события обнаружены в указанных временных окнах, торговля приостанавливается. В противном случае торговля разрешается.

Советник также предоставляет возможность отображения линий новостей на графике для наглядности. Важно отметить, что в представленном коде логика генерации торговых сигналов и исполнения ордеров не реализована — она представлена лишь в виде закомментированных placeholder-комментариев.

Настройки программы

НастройкаОписание
strFilterNews Текстовый разделитель-заголовок для группы настроек фильтрации новостей. Не влияет на логику работы советника.
IN_FilterNews Включает или отключает фильтрацию торговых операций по новостям. При значении true советник приостанавливает торговлю в периоды выхода новостей; при значении false — фильтрация не применяется.
IN_OffsetNews Смещение (в записях) при запросе данных экономического календаря из внешней библиотеки новостей.
IN_MinuteBeforeNews Количество минут до выхода новости, в течение которых торговля приостанавливается. Значение 0 означает отсутствие фильтрации по этому параметру.
IN_MinuteAfterNews Количество минут после выхода новости, в течение которых торговля приостанавливается. Значение 0 означает отсутствие фильтрации по этому параметру.
IN_ImpactNews Уровень влияния новостей, при которых торговля приостанавливается. Доступны варианты: праздник (HOLIDAY), низкий (LOW), средний (MEDIUM) и высокий (HIGH) влияние.
IN_CountryNews Список стран-фильтров для новостей. Торговля приостанавливается только при наличии новостей из указанных стран, разделённых запятыми (например, USD, GBP, EUR, CAD, JPY, AUD, NZD).
IN_IsDisplayNewsLines Управляет отображением линий новостей на графике. При значении true линии отрисовываются для наглядности, при false — нет.
Получить полный код

Поиск по коду файла

#property version   "1.00"
#property strict

/* 
===========================================================
      NEWS 
===========================================================
*/

#define HOLIDAY   0
#define LOW       1
#define MEDIUM    2
#define HIGH      3

struct stDataNews{
   string title;
   string country;
   datetime date;
   int   impact;
   double forecast;
   double previous;

};

bool     P_News   = false;

#import "libNewsFF.ex4"
   bool getNews(int offset, int duration=77, string url="");
   int checkPrevNews(int with_in=15, int impact=-1, string filterCountry="");
   int checkNextNews(int with_in=15, int impact=-1, string filterCountry="");
   int getNewsRecord(stDataNews &arrRecord[], int with_in=15, int impact=-1, string filterCountry="");
   void DisplayNews(int with_in=120, int impact=-1, string filterCountry="", int posX=10, int posY=50, ENUM_BASE_CORNER corner=CORNER_LEFT_UPPER, bool IsNewsLine=true);
#import

enum enumNewsImpact{
   eNewsImpactHoliday,     //Holiday
   eNewsImpactLow,         //Low Impact
   eNewsImpactMedium,      //Medium Impact
   eNewsImpactHigh,        //High Impact

};

input   string   strFilterNews = "_________________________________";           //---------- .:: News Filter ::. ----------
input    bool                 IN_FilterNews        = true;                              //.: Filter News (Stop Trading during News)
input    int                  IN_OffsetNews        = 0;                                //.: Offset
input    int                  IN_MinuteBeforeNews  = 1

Показано первые 50% кода (символов: 2143)

Открыть по тарифу

Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
214,30₽ ≈ $2.62