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

news_stopper - forexfactory.mq4

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

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

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

О программе

News_Stopper — это торговый советник для MetaTrader 4, предназначенный для управления открытыми позициями и ордерами в окрестности публикации важных макроэкономических новостей. Советник получает данные о экономических событиях из XML-ленты через WebRequest, фильтрует их по валютным парам, заголовкам и уровню влияния, а затем отслеживает приближение времени событий.

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

На графике советник отображает вертикальные линии, обозначающие время предстоящих экономических событий. Обновление данных о новостях выполняется с заданным интервалом через таймер. Для работы требуется разрешение на импорт DLL и добавление URL-адреса источника новостей в список разрешённых адресов.

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

НастройкаОписание
=== News Settings ===--- (info1) Настройки новостей — Заголовок раздела настроек управления новостями
Minutes Before News to close (min_before) Минуты до новости для закрытия — Количество минут до публикации новости, за которое советник закрывает позиции
Minutes Before News to close with zero profit (min_before_zero) Минуты до новости для закрытия с прибылью — Количество минут до публикации новости, за которое советник закрывает позиции с любой прибылью
Minutes After News to halt (min_after) Минуты после новости для остановки — Количество минут после публикации новости, в течение которых советник приостанавливает торговлю
Include high (include_high) Включать высокое влияние — Включать в обработку новости с высоким уровнем влияния
Include medium (include_medium) Включать среднее влияние — Включать в обработку новости со средним уровнем влияния
Include low (include_low) Включать низкое влияние — Включать в обработку новости с низким уровнем влияния
Filter News based on title (use_title) Фильтровать новости по заголовкам — Включить фильтрацию новостей по заголовкам с использованием ключевых слов
title keyword (comma seperated) (title_phrase) Ключевые слова заголовков — Ключевые слова в заголовках новостей для фильтрации (через запятую)
Update time interval (in hours) (news_update_hour) Интервал обновления новостей (часы) — Интервал обновления данных о новостях в часах
Currencies check method (symbol_type) Метод проверки валют — Метод проверки валют: автоматически по символу графика или по списку пользовательских валют
Custom Currencies to Check For News (news_symbols) Пользовательские валюты для проверки новостей — Список пользовательских валют для проверки на наличие новостей (через запятую)
Only Close Orders of The Events Currency (close_only_news_pair) Закрывать только пару события — Закрывать ордера только по валютной паре, связанной с событием, либо по всем парам
Draw News Lines on chart (draw_news_lines) Рисовать линии новостей на графике — Отображать вертикальные линии на графике, обозначающие время экономических событий
Lines Color (Line_Color) Цвет линий — Цвет вертикальных линий событий на графике
Lines Style (Line_Style) Стиль линий — Стиль отображения вертикальных линий событий на графике
Line Width (Line_Width) Толщина линий — Толщина вертикальных линий событий на графике
=== Order Management ===--- (info2) Управление ордерами — Заголовок раздела настроек управления ордерами
Stop Auto trading (stop_algo) Останавливать автоматическую торговлю — Отключать автоматическую торговлю (советника) при наступлении новостного окна
Close all open trades (close_open) Закрывать все открытые сделки — Закрывать все открытые сделки при наступлении новостного окна
Delete all Pending orders (close_pending) Удалять все отложенные ордера — Удалять все отложенные ордера при наступлении новостного окна
Close all trades with profit (close_zero) Закрывать сделки с прибылью перед новостью — Закрывать все сделки с любой прибылью перед наступлением значимого новостного события
Profit for Closing all trades (in $) (close_profit) Прибыль для закрытия сделок ($) — Минимальная прибыль в долларах для автоматического закрытия всех сделок перед новостью
Close all Charts (close_charts) Закрывать все графики — При закрытии позиций перед новостью — закрывать все графики
=== Settings ===--- (info3) Общие настройки — Заголовок раздела общих настроек
Send notification (send_notif) Отправлять уведомления — Отправлять push-уведомления при срабатывании новостных событий
Send Alert (send_alert) Отправлять алерты — Отправлять системные алерты при срабатывании новостных событий
Delay if somthing goes wrong (in seconds) (delay) Задержка при ошибках (сек) — Задержка в секундах при возникновении ошибок при выполнении операций
Получить полный код

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

#property version   "1.00"
#property strict
#property description "This is a free tool. visit our telegram chanel for more. \n(please allow DLL import and add  to allowed URLs for ea to work)"

#include <WinUser32.mqh>
#import "user32.dll"

int GetAncestor(int, int);
#define MT4_WMCMD_EXPERTS  33020 
#import

enum currencies
  {
   type1,//Chart Symbol (Auto)
   type2,//Custom Symbols
  };

input string                  info1 = " ------======<<[  News Management  ]>>======------ "; //---=== News Settings ===---
input string                  news_link = "";// --- News URL (to be placed in settings)

input int                     min_before = 5;         //Minutes Before News to close
input int                     min_before_zero = 60;   //Minutes Before News to close with zero profit
input int                     min_after = 45;         //Minutes After News to halt

input bool                    include_high = true;       // Include high
input bool                    include_medium = false;    // Include medium
input bool                    include_low = false;       // Include low

input bool                    use_title  = true;   // Filter News based on title
input string                  title_phrase="Non-Farm,Unemployment,ISM,PMI,CPI,FOMC,Retail Sales,Final GDP q/q,Core PCE Price Index m/m,Empire State Manufacturing Index,Advance GDP q/q,JOLTS";//title keyword (comma seperated)

input int                     news_update_hour = 2;//Update time interval (in hours) 

input currencies              symbol_type = type1;                         //Currencies check method
input string                  news_symbols = "USD,EUR,GBP,JPY,CAD,CHF";    // Custom Currencies to Check For News
input bool                    close_only_news_pair  = false;                // Only Close Orders of The Events Currency

input bool                    draw_news_lines = true;                      //Draw News Lines on chart
input color                   Line_Color =clrRed;                          //Lines Color
input ENUM_LINE_STYLE         Line_Style =STYLE_DOT;                       //Lines Style
input int                     Line_Width =1;                               //Line Width

input string                  info2 = " ------======<<[  Order Management  ]>>======------ "; //---=== Order Management ===---
input bool                    stop_algo = true;       //Stop Auto trading 
input bool                    close_open = true;      //Close all open trades 
input bool                    close_pending = true;   //Delete all Pending orders 
input bool                    close_zero = true;      //Close all trades with profit 
input double                  close_profit = 1;       //Profit for Closing all trades (in $)
input bool                    close_charts = false;   //Close all Charts 

input string                  info3 = " ------======<<[  Settings  ]>>======------ "; //---=== Settings ===---
input bool                    send_notif = true;   //Send notification 
input bool                    send_alert = true;   //Send Alert
input int                     delay = 5;           //Delay if somthing goes wrong (in seconds)

int slippage = 5;//Slippage
int event_count=0,time_offset=0;
bool allow_trade =true;
string pairs[],sybmols_list;

struct news_event_struct{
   string currency;
   string event_title;
   datetime event_time;
   string event_impact;
} news_events[500];

int OnInit()
  {
      // код доступен только после оплаты
   }

void OnDeinit(const int reason)
  {

   Comment("");
   ObjectsDeleteAll(0);
   if(reason==1) EventKillTimer();
  }

void OnTick()
  {
      // код доступен только после оплаты
   }

void OnTimer()
  {

   NewsUpdate();
   DrawNews();

  }

void NewsUpdate(){
   string cookie=NULL,referer=NULL,headers;
   char post[],result[];
   string sUrl="";
   ResetLastError();
   int res = WebRequest("GET",sUrl,cookie,referer,5000,post,s

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

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

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

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

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

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

Стоимость полного кода
1 168,40₽ ≈ $14.28