ea news.mq5
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «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? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.