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