GW News Filter

GW News Filter

Filter trading around high-impact news. Avoid entries/exits during risky time windows using MetaTrader’s Calendar API or your own CSV files.

Works in live, demo and Strategy Tester · Source: API or CSV · Per-currency files · Entry/Exit flags · Diagnostics (0–4)


Features

Works in real accounts, demo, and Strategy Tester

Choose between:

  • 0 = Auto (API for live/demo, CSV for Strategy Tester)
  • 1 = API (MetaTrader’s built-in calendar)
  • 2 = CSV (per-currency files, e.g. EUR.csv, USD.csv, ALL.csv)


Configure:

  • Minimum importance (Low, Moderate, High)
  • Window seconds before/after news
  • Include global “ALL” events
  • Separate flags for filtering entries and filtering exits
  • Lightweight wrapper class for easy integration
  • Diagnostic logging (levels 0–4) for testing and debugging



Installation

  1. Copy MQL5/Libraries/GWNewsFilterLib.ex5
  2. Copy MQL5/Include/Greaterwaves/GWNewsFilterLib.mqh
  3. Include in your EA/indicator:
    #include <Greaterwaves/GWNewsFilterLib.mqh>
    


Quick Start

Create the filter once (e.g. in OnInit). If testing with CSV, set the folder with SetCsvLocation() .

int OnInit()
{
   if(!g.Create(_Symbol,
                InpFilterEntry, InpFilterExit,
                InpMinImp, InpIncludeAll,
                InpBefore, InpAfter,
                InpDiagLevel, InpSource))
   {
      Print("GWNF: failed to create instance (Did you copy GWNewsFilterLib.ex5 into MQL5/Libraries/ ?)");
      return(INIT_FAILED);
   }

   // If using CSV (or running in Tester), set the CSV location
   if(InpSource==1 || (int)MQLInfoInteger(MQL_TESTER)!=0)
   {
      if(!g.SetCsvLocation(InpCsvBaseRel, InpCsvUseCommon))
         Print("GWNF: SetCsvLocation() failed.");
   }

   return(INIT_SUCCEEDED);
}


Then rebuild the window once per bar and act on it:

void OnTick()
{
   datetime bar = (datetime)iTime(_Symbol, _Period, 0);
   if(bar == g_last) return;
   g_last = bar;

   if(!g.RebuildWindow())
   {
      Print("GWNF: RebuildWindow() returned false.");
      return;
   }

   const int active = g.GetFilteringEventsCount();

   if(active > 0)
   {
      // Filter is active → skip entries / manage exits
   }
   else
   {
      // Filter is inactive → outside events window
   }
}


CSV Preparation Guide 

Each row in the CSV must contain the following 16 columns, in this exact order:

  1. VALUE_ID → Unique numeric ID for the value (use any integer, e.g. `10001`)
  2. EVENT_ID → Unique numeric ID for the event (e.g. `20001`)
  3. TIME → Event time in `YYYY.MM.DD HH:MM:SS` format
  4. PERIOD → Period string (may be left blank if not used)
  5. REVISION → Integer revision number (usually `0`)
  6. ACTUAL → Actual reported value (leave empty if unknown)
  7. PREVIOUS → Previous reported value (leave empty if unknown)
  8. REVISED_PREV → Revised previous value (leave empty if unknown)
  9. FORECAST → Forecasted value (leave empty if unknown)
  10. IMPACT_TYPE → Integer (0=none, 1=positive, 2=negative, 3=neutral). Can be `0` if not needed.
  11. CURRENCY → Currency code (`USD`, `EUR`, `JPY`, … or `ALL`)
  12. COUNTRY_CODE → Country code (`US`, `EU`, `GB`, …)
  13. COUNTRY_ID → Numeric ID (can be `0` if not relevant)
  14. IMPORTANCE → `LOW`, `MODERATE`, or `HIGH`
  15. EVENT_CODE → Short machine-friendly identifier (`cpi`, `gdp`, `trade-balance`)
  16. NAME → Human-friendly event name


    Example rows:

    10001;20001;2025.08.28 12:30:00;;0;3.4;3.2;;3.5;0;USD;US;0;HIGH;cpi;Consumer Price Index (YoY)
    10002;20002;2025.08.28 14:00:00;;0;1.8;2.0;;2.1;0;USD;US;0;MODERATE;housing;Housing Starts
    10003;20003;2025.08.28 15:00:00;;0;;; ;0.9;0;EUR;EU;0;HIGH;confidence;Consumer Confidence Index


    Explanation:

    • The first event is a high-impact USD CPI release.

    • The second event is moderate impact housing data.

    • The third is a high-impact EUR confidence index.


    File Naming and Placement

    Place one CSV file per currency (e.g. USD.csv , EUR.csv ) inside a folder.

    The folder can be located in:

    • Common\Files\NEWS\ (shared by all terminals), or
    • MQL5\Files\NEWS\ (local to one terminal).

    You configure the folder via:

    g.SetCsvLocation("NEWS", true);  // "true" = use Common\Files


    Diagnostics

    • 0 = silent
    • 1 = critical errors only
    • 2 = init + when filter is active
    • 3 = adds “outside news” logs
    • 4 = full detail (lists all events)


    Important Notes

    • Even if you don’t need all values (like VALUE_ID or COUNTRY_ID), you must keep the column order and delimiters.
    • Empty fields are allowed — just keep the ; separator.
    • The parser expects semicolon ; separators, consistent with MetaTrader CSV.
    • Event importance must be one of: LOW, MODERATE, HIGH.


    Wrapper Header (copy this into MQL5/Include/Greaterwaves/GWNewsFilterLib.mqh)

    //+------------------------------------------------------------------+ 
    //|                                           GWNewsFilterLib.mqh    |
    //|                 Public wrapper for GWNewsFilterLib.ex5 binary    |
    //|                   (c) GreaterWaves - José Martínez Hernández     |
    //+------------------------------------------------------------------+
    //
    // HOW TO USE
    // 1) Copy this file to:  MQL5/Include/Greaterwaves/GWNewsFilterLib.mqh
    // 2) Copy the binary to: MQL5/Libraries/GWNewsFilterLib.ex5
    // 3) In your EA/Indicator:
    //      #include <Greaterwaves/GWNewsFilterLib.mqh>
    //
    // Example:
    //
    //   GWNewsFilter nf;
    //   if(nf.Create(_Symbol, true, false,
    //                2,      // minImportance (0=None,1=Low,2=Moderate,3=High)
    //                true,   // includeGlobalAll
    //                900,900,// secondsBefore/After
    //                3,      // diagnosticLevel (0-4)
    //                0))     // forcedSource (0=Auto,1=CSV,2=API)
    //   {
    //      nf.SetCsvLocation("NEWS", true);   // Optional custom CSV path
    //      nf.RebuildWindow();
    //      if(nf.IsFilteringNow(true,false))
    //         Print("Filter active on entry");
    //      nf.UpdateChartCommentMinimal();
    //   }
    //
    
    // ===============================================================
    // IMPORTS from binary library
    // ===============================================================
    #import "GWNewsFilterLib.ex5"
       int  GWFilter_Create(string symbol,
                           bool filterEntry,
                           bool filterExit,
                           int  minImportance,
                           bool includeGlobalAll,
                           int  secondsBefore,
                           int  secondsAfter,
                           int  diagnosticLevel,
                           int  forcedSource);
    
       bool GWFilter_Destroy(int handle);
       bool GWFilter_RebuildWindow(int handle);
       bool GWFilter_IsBlockingNow(int handle, bool forEntry, bool forExit);
       int  GWFilter_GetBlockingEventsCount(int handle);
       int  GWFilter_TotalInWindow(int handle);
    
       bool GWFilter_GetWindowEventAt(int handle, int index,
                                  long &value_id, long &event_id, datetime &time,
                                  string &currency, string &country_code,
                                  string &event_code, string &name, int &importance);
    
       bool GWFilter_SetDiagnosticLevel(int handle, int level);
       bool GWFilter_SetForcedSource  (int handle, int forcedSource);
       bool GWFilter_SetBlockFlags    (int handle, bool filterEntry, bool filterExit);
    
       bool GWFilter_BuildBlockingComment(int handle, string &out_comment);
       bool GWFilter_UpdateChartCommentMinimal(int handle);
    
       bool GWFilter_SetCsvLocation(int handle, string baseRel, bool useCommon);
    #import
    
    // ===============================================================
    // Object-oriented wrapper for easier usage in EAs/Indicators
    // ===============================================================
    class GWNewsFilter
    {
    private:
       int m_h; // internal handle to binary object
    
    public:
       GWNewsFilter(): m_h(0) {}
    
       // Create instance with settings
       bool Create(string symbol,
                   bool filterEntry, bool filterExit,
                   int   minImportance   = 2,
                   bool  includeGlobalAll= true,
                   int   secondsBefore   = 900,
                   int   secondsAfter    = 900,
                   int   diagnosticLevel = 2,
                   int   forcedSource    = 0)
       {
          m_h = GWFilter_Create(symbol, filterEntry, filterExit, minImportance,
                            includeGlobalAll, secondsBefore, secondsAfter,
                            diagnosticLevel, forcedSource);
          return (m_h > 0);
       }
    
       // Destroy instance
       bool Destroy() { if(m_h<=0) return false; bool ok=GWFilter_Destroy(m_h); m_h=0; return ok; }
    
       // Refresh window of upcoming events
       bool RebuildWindow() { return (m_h>0 ? GWFilter_RebuildWindow(m_h) : false); }
    
       // Check if filter is active now (entry/exit)
       bool IsFilteringNow(bool forEntry, bool forExit) { return (m_h>0 ? GWFilter_IsBlockingNow(m_h, forEntry, forExit) : false); }
    
       // Number of filtering events currently active
       int  GetFilteringEventsCount(){ return (m_h>0 ? GWFilter_GetBlockingEventsCount(m_h) : -1); }
    
       // Total number of events in the current window
       int  TotalInWindow()          { return (m_h>0 ? GWFilter_TotalInWindow(m_h) : -1); }
    
       // Get details of an event at index
       bool GetWindowEventAt(int index,
                             long &value_id, long &event_id, datetime &time,
                             string &currency, string &country_code,
                             string &event_code, string &name, int &importance)
       {
          return (m_h>0 ? GWFilter_GetWindowEventAt(m_h, index, value_id, event_id, time,
                                                currency, country_code, event_code, name, importance)
                        : false);
       }
    
       // Change diagnostic log level
       bool SetDiagnosticLevel(int level){ return (m_h>0 ? GWFilter_SetDiagnosticLevel(m_h, level) : false); }
    
       // Force data source (Auto, CSV, API)
       bool SetForcedSource  (int forced){ return (m_h>0 ? GWFilter_SetForcedSource  (m_h, forced) : false); }
    
       // Enable/disable filtering for entry/exit
       bool SetFilterFlags    (bool fe, bool fx){ return (m_h>0 ? GWFilter_SetBlockFlags(m_h, fe, fx) : false); }
    
       // Build a minimal comment string when filter is active
       bool BuildFilteringComment(string &out_comment){ out_comment=""; return (m_h>0 ? GWFilter_BuildBlockingComment(m_h, out_comment) : false); }
    
       // Update chart comment automatically (only when active)
       bool UpdateChartCommentMinimal(){ return (m_h>0 ? GWFilter_UpdateChartCommentMinimal(m_h) : false); }
    
       // Set CSV folder location
       bool SetCsvLocation(const string baseRel, const bool useCommon=true)
       {
          return (m_h>0 ? GWFilter_SetCsvLocation(m_h, baseRel, useCommon) : false);
       }
    
       // Return internal handle
       int  Handle() const { return m_h; }
    };
    


    EA Example with minimal usage

    // Minimal demo usage
    #include <Greaterwaves/GWNewsFilterLib.mqh>
    
    GWNewsFilter g;
    
    int OnInit()
    {
       g.Create(_Symbol, true, false, 2, true, 900, 900, 2, 0);
       g.SetCsvLocation("NEWS", true); // if using CSV
       return INIT_SUCCEEDED;
    }
    
    void OnTick()
    {
       if(g.RebuildWindow())
       {
          if(g.GetFilteringEventsCount()>0)
             Print("Filter active - skip trading");
       }
    }
    





    Video GW News Filter
    Prodotti consigliati
    This simple logging library is designed to provide clear and contextual log output with minimal hassle. It exposes five  methods: LogError Message (message) LogWarn Message (message) LogInfo Message (message) LogDebug Message (message) LogTrace Message (message) Each method prints the provided message to the console only if the severity level meets or exceeds the current threshold set by a global variable logLevel. This means you control the verbosity of your application's logs by adjusting logL
    FREE
    TeleSignal
    Vincent Jean Robert Trolard
    TeleSignal EA is an intelligent Expert Advisor designed to automatically send Telegram notifications whenever a position is opened, closed, or modified in MetaTrader 5 . It allows you to monitor your trades in real time , wherever you are — no need to keep your trading platform open. Through its direct integration with the Telegram API, you’ll receive clear and instant messages showing: Trade opened (symbol, lot size, order type, entry price) Trade closed (exit price, profit/loss, trade du
    Ajuste BRA50
    Claudio Rodrigues Alexandre
    4.4 (5)
    Este script marca no gráfico do ativo BRA50 da active trades o ponto de ajuste do contrato futuro do Mini Índice Brasileiro (WIN), ***ATENÇÃO***  para este script funcionar é necessário autorizar a URL da BMF Bovespa no Meta Trader. passo a passo: MetaTrader 5 -> Ferramentas -> Opções -> Expert Adivisors * Marque a opção "Relacione no quadro abaixo as URL que deseja permitir a função WebRequest" e no quadro abaixo adicione a URL: https://www2.bmf.com.br/ este indicador usa a seguinte página par
    FREE
    Static Text display
    Muhammad Saad Khan
    Visualizzazione di Testo Statico è un Expert Advisor (EA) leggero e facile da usare per MetaTrader 5, progettato per ispirare ed educare i trader mostrando suggerimenti di trading motivazionali direttamente sul tuo grafico. Con un elegante sfondo nero centrato e testo bianco in un font a spaziatura fissa, questo EA offre consigli concisi e pratici in frammenti rotanti per mantenerti concentrato su un trading disciplinato. Perfetto sia per i principianti che per i trader esperti, promuove princip
    FREE
    Ajuste MINDOL
    Claudio Rodrigues Alexandre
    5 (1)
    Este script marca no gráfico do ativo MINDOL da activ trades o ponto de ajuste do contrato futuro do Mini Dolar (WDO), ***ATENÇÃO***  para este script funcionar é necessário autorizar a URL da BMF Bovespa no Meta Trader. passo a passo: MetaTrader 5 -> Ferramentas -> Opções -> Expert Adivisors * Marque a opção "Relacione no quadro abaixo as URL que deseja permitir a função WebRequest" e no quadro abaixo adicione a URL: https://www2.bmf.com.br/ este indicador usa a seguinte página para buscar o a
    FREE
    K Trade Lib5
    Kaijun Wang
    2 (1)
    MT4/5通用交易库(  一份代码通用4和5 ) #import "K Trade Lib5.ex5"    //简单开单    long OrderOpen( int type, double volume, int magic, string symbol= "" , string comment= "" , double opprice= 0 , double sl= 0 , double tp= 0 , int expiration= 0 , bool slsetmode= false , bool tpsetmode= false );    //复杂开单    void SetMagic( int magic, int magic_plus= 0 ); void SetLotsAddMode(int mode=0,double lotsadd=0);    long OrderOpenAdvance( int mode, int type, double volume, int step, int magic, string symbol= "" , string comm
    FREE
    Scan a fixed list of assets (Ibovespa) in the chosen timeframe (TimeFrame). For each pair and for various periods. Calculate a regression model between the two assets (and, if desired, using the bova11 index as a normalizer). Generate the spread of this relationship, its mean, standard deviation, speculative deviation, and betas (B1 and B2). Apply an ADF test without exclusion (cointegration/stationarity). Calculate the Z-score of the current exclusion (how many standard deviations are away from
    Ez MQL
    Rxavxjwan
    This lightweight utility library provides essential functions for MQL5 developers to streamline and simplify expert advisor (EA) and indicator development. Whether you’re building trading algorithms or managing chart resources dynamically, this library offers clean and reusable building blocks to enhance your code quality and reduce repetition. Key Features Price Access Functions ASK(string symbol) – Get the current Ask price. BID(string symbol) – Get the current Bid price. Account Information
    FREE
    Universal MarketInfo Service Library for MT4 & MT5 Bring simplicity and power to your trading projects with the Universal MarketInfo Service — a professional library that exposes a unified API for both MetaTrader 4 and MetaTrader 5. No more rewriting code for each platform. With this library, you can: Access symbol data, OHLC prices, spreads, and volatility with a single call. Query account balance, free margin, stop levels, and lot constraints. Work with currency precision, pip values, and n
    FREE
    The MetaCOT 2 CFTC ToolBox Demo is a special version of the fully functional MetaCOT 2 CFTC ToolBox MT5 library. The demo version has no restrictions, however, unlike the fully functional version, it outputs data with a delay. The library provides access to the CFTC (U.S. Commodity Futures Trading Commission) reports straight from the MetaTrader terminal. The library includes all indicators that are based on these reports. With this library you do not need to purchase each MetaCOT indicator sepa
    FREE
    Molo kumalo
    James Ngunyi Githemo
    Trading Forex with our platform offers several key advantages and features: Real-time Data : Stay updated with live market data to make informed decisions. User-Friendly Interface : Easy-to-navigate design for both beginners and experienced traders. Advanced Charting Tools : Visualize trends with interactive charts and technical indicators. Risk Management : Set stop-loss and take-profit levels to manage your risk. Multiple Currency Pairs : Access a wide range of forex pairs to diversify your tr
    This script is simply used to convert candlesticks into excel. This is beneficial to use when intergrating CHATGPT, CLAUDE AND ALL THE AIs. Better to use this than a screenshot like other do! Thank me later!! Just attach to the chat and you will find the converted excel in: C:\Users\Username\AppData\Roaming\MetaQuotes\Terminal\E3E3B02889D32F38295D39BF94B6AD4A\MQL5\Files
    Introducing the 'Global Forex Session Highlighter' , a powerful tool designed to enhance your trading strategy by providing a visual representation of the Three major Forex trading sessions: Tokyo, London, and New York. This indicator is designed to help traders understand the dynamics of the global Forex market by highlighting the trading sessions directly on your MT5 chart. It provides a clear view of when each session starts and ends, allowing you to strategize your trades around the most act
    MarketMind AI
    Perpetual Chinemerem Vincent
    MarketMind AI Next-Generation Contextual Analysis for MetaTrader 5 Trade with the clarity of institutional-grade context. MarketMind AI is a professional decision-support system designed to bridge the gap between raw technical data and actionable market intelligence. Rather than generating signals or executing trades, MarketMind AI provides a structured, high-fidelity view of market conditions — enabling traders to make more informed discretionary decisions. USER GUIDE AND ANALYSIS PIPELINE AP
    CRT Pro Ultimate Scanner
    Jonathan Mboya Kinaro
    CRT Pro Trading EA Ultimate v10 - Scanner Professionale di Pattern Panoramica Il CRT Pro Trading EA Ultimate v10 è un Expert Advisor multi-simbolo avanzato sviluppato da Helios Technologies che si specializza nel rilevare e negoziare pattern CRT (Consolidamento-Manipolazione-Distribuzione) con allineamento intelligente del trend. Questo EA combina concetti di trading istituzionale con gestione intelligente dei segnali per fornire opportunità di trading ad alta probabilità su più mercati. Cara
    Delete Only Pending Orders
    Muhammad Usman Siddique
    Lo script UZFX - Delete Only Pending Orders per MetaTrader 5 (MT5) è uno strumento semplice ma efficace che rimuove automaticamente tutti gli ordini in sospeso (Buy Limit, Sell Limit, Buy Stop, Sell Stop) dal conto di trading. Questo script è ideale per i trader che desiderano cancellare istantaneamente gli ordini in sospeso senza influenzare le posizioni attive sul mercato. Scopri tutti i miei altri indicatori ed EA per MT4/MT5 >> QUI Caratteristiche: Cancella tutti gli ordini pendenti (Buy
    FREE
    NATS (Niguru Automatic Trailing Stop) will help you achieve more profits, by setting the trailing stop automatically. Pair this NATS application with EA, or can also be used as a complement to manual trading. A trailing stop is a powerful tool in trading that combines risk management and profit optimization.  A trailing stop is a type of market order that sets a stop-loss at a percentage below the market price of an asset, rather than a fixed number. It dynamically adjusts as the asset’s pric
    FREE
    *****La negoziazione principale è XAUUSD. In caso di test, si consiglia di adeguarsi a XAUUSD. Altri obiettivi di trading non possono garantire la redditività******* Se avete bisogno di testare, lasciate un messaggio (vi risponderò non appena lo vedo). Per proteggere i risultati del lavoro, è necessario inserire parametri specifici. I parametri predefiniti del sistema non possono raggiungere l'effetto mostrato nel pullback dello screenshot! Se avete bisogno di testare, lasciate un messaggio (
    This   Trading Statistics Indicator   gives you an overview of your trade statistics for a selected period. You can set different periodsand filter for Symbols and magics to analyse your trading success. You can also create charts for Balance/Equity, MFE and MAE Periods: Total Time Today Yesterday This Week Last Week This Month Last Month This Year Last Year This Trading Statistics Indicator is still work in progress. In the next versions I will add telegram and email notifications and some more
    Set Stop Loss to Breakeven Instantly
    Muhammad Usman Siddique
    4 (2)
    Lo script UZFX - Set Stop Loss to Breakeven Instantly per MetaTrader 5 (MT5) è un potente strumento che consente ai trader di spostare rapidamente lo stop loss di tutte le posizioni aperte al loro prezzo di entrata, assicurando operazioni prive di rischio. Questo script è particolarmente utile per gestire in modo efficiente le operazioni attive, assicurando che una volta che una posizione si muove favorevolmente, il trader sia protetto da potenziali perdite. (Visitate il profilo e controllate
    FREE
    CloseAllOrders at once
    Lamont Simone Reynecke
    Simple program i created, to help close all your orders instantly when you are busy scalping the market or if you want to avoid news days but still have a lot of orders and pending orders open and can't close them in time.. with this script all you're problems will be solved. Simple drag and drop and the script automatically does it's thing, quick and easy  also a very good tool to use when scalping
    FREE
    Questo prodotto è in sviluppo da 3 anni. È il codice più avanzato per lavorare con tutti i tipi di intelligenza artificiale e apprendimento automatico nel linguaggio di programmazione MQL5. È stato utilizzato per creare molti robot di trading e indicatori basati sull'IA in MetaTrader 5. Questa è una versione premium del progetto open source e gratuito per il machine learning in MQL5, disponibile qui:  https://github.com/MegaJoctan/MALE5 . La versione gratuita ha meno funzionalità, è meno documen
    Smart Flow Light -  Trading Assistant Core Selling Points Smart Interval Trading   - Automated buy/sell execution with configurable millisecond intervals Visual Dashboard   - Clean, professional control panel with real-time P&L display One-Click Operations   - Instant BUY/SELL/STOP/CLOSE ALL functionality Risk Management   - Built-in lot size validation and position monitoring Key Features   Intuitive Interface   - Professional dashboard with title banner and organized controls   Preci
    FREE
    Important: This product is a Library for developers . It is suitable only for users who can write/modify MQL5 code and integrate a compiled library into their own EA/Script. It is not a “drag & run” notifier. Telegram SDK helps you send Telegram messages and photos from MetaTrader 5 in a simple and reliable way. Use it when you want Telegram notifications inside your own automation tools. If you need the MetaTrader 4 version, it is available separately in the Market:   Telegram SDK M T4 . Main f
    BinanceData
    Jingfeng Luo
    After downloading this service program, it will be used as a service support program for Dom BookHeatMAP Lightning Trading Panel. Dom BookHeatMAP Lightning Trading Panel   download link: https://www.mql5.com/zh/market/product/159414?source=Site+Market+MT5+Search+Rating006%3aDom+BookHeatMAP+Lightning+Trading+Panel Please first drag and drop the downloaded file to the corresponding service folder (` MQL5 \ Services `) in the MT5 data directory, and confirm that the file has been successfully pla
    News Filter Library MT5
    Niquel Mendoza
    5 (1)
    This library allows you to automatically filter events by symbol. Additionally, it requires the use of "flags" to classify events based on their importance (high, low, etc.). Properties: Our library is simple and only requires the export of four functions to work properly. Requirements: The library uses OnTimer , so it is not compatible with programs that also use this event. If your bot utilizes OnTimer , this may interfere with the library’s functionality and prevent event filtering. We recomm
    FREE
    License Manager EA
    Timothy Chuma Ifiora
    License Panel Integration Guide This EA uses a license panel system to verify usage before running trading logic. File Placement Place LICENSE_SINGLE.mqh in the same folder as your EA .mq5 file. If using a subfolder, update the #include path in the EA file. Integration Steps Include the License File #include "LICENSE_SINGLE.mqh" Initialization (OnInit) Call the license check when the EA starts: VerifyLicense(); Deinitialization (OnDeinit) Clean up license resources when EA is removed: HandleLi
    TradeGate
    Alex Amuyunzu Raymond
    TradeGate – Product Description / Brand Story “The gatekeeper for your trading success.” Overview: TradeGate is a professional MT5 validation and environment guard library designed for serious traders and EA developers who demand safety, reliability, and market-ready performance . In today’s fast-moving markets, even a small misconfiguration can cause EAs to fail initialization, skip trades, or be rejected by MQL5 Market. TradeGate acts as a smart gatekeeper , ensuring your EA only operates un
    Make csv for Deep learning data. This sript use on Strategy Tester. (If you like it, please buy it) Output file to [ C:\Users\<user name>\AppData\Roaming\MetaQuotes\Tester\***AppId***\Agent-*\MQL5\FIles\ ]  (sry, depending on the environment) ItemName description MaPeriod Base MovingAverage period. PredictPeriod ex) BarTime1h, PredictPeriod=30  -> predict price after 30 hours. InputRange  ex) InputRange=24  ->  Get price from 24 hours ago to the present. file example:  https://gist.github.com/
    Here   is   the   English translation   of   your   description   for   the EA   (Expert   Advisor): --- This   is a   time -based   automatic trading   EA . It allows   you   to   set the   exact   time   for trading , down   to   the   second , and   specify the   maximum number   of   orders . You   can choose   to   place   either   buy   or   sell   orders . It   is possible to   set take   profit and   stop   loss   points . Additionally , you can   specify   how   long after   placing  
    Gli utenti di questo prodotto hanno anche acquistato
    WalkForwardOptimizer MT5
    Stanislav Korotky
    3.78 (9)
    WalkForwardOptimizer library allows you to perform rolling and cluster walk-forward optimization of expert advisers (EA) in MetaTrader 5. To use the library include its header file WalkForwardOptimizer.mqh into your EA source code, add call provided functions as appropriate. Once the library is embedded into EA, you may start optimization according to the procedure described in the User guide . When it's finished, intermediate results are saved into a CSV file and some special global variables.
    Questa libreria ti consentirà di gestire le operazioni utilizzando qualsiasi tuo EA ed è molto facile da integrare su qualsiasi EA, cosa che puoi fare tu stesso con il codice script menzionato nella descrizione e anche esempi demo su video che mostrano il processo completo. - Ordini con limite di posizionamento, limite SL e limite di take profit - Ordini di mercato, mercato SL, mercato TP - Modifica ordine limite - Annulla Ordine - Interroga gli ordini - Cambia leva, margine - Ottieni inf
    TupoT3
    Li Guo Yin
    突破交易策略:智能风控系统升级版‌ 当价格突破关键阻力位时,往往意味着趋势的质变时刻。我们的突破交易策略通过三重智能系统——‌动态阈值识别‌、‌量能验证机制‌和‌自适应止损算法‌,帮助交易者精准捕捉这些跃迁机会。 ‌核心优势‌: ‌智能预警‌:实时监测200+技术指标,自动标记潜在突破位 ‌风险对冲‌:突破失败时自动触发0.5秒内止损,保护本金安全 ‌多周期验证‌:结合日线/4小时/1小时数据过滤假信号 ‌实战案例‌: 2025年第二季度,该策略在现货黄金市场实现连续23次有效突破,平均持仓周期缩短至4.7小时,收益率达传统趋势策略的3.2倍。 ‌智能风控系统‌: ‌动态止盈‌:根据ATR指标自动调整止盈位,锁定利润的同时保留上行空间 ‌分级止损‌:首次突破失败后自动切换至1:1盈亏比保护模式,二次突破确认后恢复原策略 本EA依下图设置做黄金1小时图线,经长时期实盘验证年利润达到30多倍,修改参数可以用作比特币和纳斯达克指数都有很好的收益。
    Native Websocket
    Racheal Samson
    5 (6)
    An   easy to use, fast,  asynchronous   WebSocket library  for MQL5. It supports: ws://   and   wss://  (Secure "TLS" WebSocket) text   and   binary   data It handles: fragmented message  automatically (large data transfer) ping-pong   frames  automatically (keep-alive handshake) Benefits: No DLL required. No OpenSSL installation required. Up to 128 Web Socket Connections from a single program. Various Log Levels for error tracing Can be synchronized to MQL5 Virtual Hosting . Completely native t
    If you're a trader looking to use Binance.com and Binance.us exchanges directly from your MetaTrader 5 terminal, you'll want to check out Binance Library MetaTrader 5. This powerful tool allows you to trade all asset classes on both exchanges, including Spot, USD-M   and COIN-M futures, and includes all the necessary functions for trading activity. Important: you need to have source code to properly implement the library. With Binance Library MetaTrader 5, you can easily add instruments from Bi
    The library is dedicated to help manage your trades, calculate lot, trailing, partial close and other functions. Lot Calculation Mode 0: Fixed Lot. Mode 1: Martingale Lot (1,3,5,8,13) you can use it in different way calculate when loss=1 ,when profit=0. Mode 2: Multiplier Lot (1,2,4,8,16) you can use it in different way calculate when loss=1 ,when profit=0. Mode 3: Plus Lot (1,2,3,4,5) you can use it in different way calculate when loss=1 ,when profit=0. Mode 4: SL/Risk Lot calculate based on s
    MetaCOT 2 CFTC ToolBox is a special library that provides access to CFTC (U.S. Commodity Futures Trading Commission) reports straight from the MetaTrader terminal. The library includes all indicators that are based on these reports. With this library you do not need to purchase each MetaCOT indicator separately. Instead, you can obtain a single set of all 34 indicators including additional indicators that are not available as separate versions. The library supports all types of reports, and prov
    This is a simplified and effective version of the library for walk forward analysis of trading experts. It collects data about the expert's trade during the optimization process in the MetaTrader tester and stores them in intermediate files in the "MQL5\Files" directory. Then it uses these files to automatically build a cluster walk forward report and rolling walk forward reports that refine it (all of them in one HTML file). Using the WalkForwardBuilder MT5 auxiliary script allows building othe
    OrderBook History Library
    Stanislav Korotky
    3 (2)
    Order Book, known also as Market Book, market depth, Level 2, - is a dynamically updated table with current volumes of orders to buy and to sell specific financial instument at price levels near Bid and Ask. MetaTrader 5 provides the means for receiving market book from your broker, but in real time only, without access to its history. The library OrderBook History Library reads market book state in the past from archive files, created by OrderBook Recorder . The library can be embedded into you
    BitMEX Trading API
    Romeu Bertho
    5 (1)
    Cryptocurrency analysis has never been easier with Crypto Charts for MetaTrader 5. Now, trading on BitMEX has never been easier with BitMEX Trading API for MetaTrader 5. BitMEX Trading API library was built to be as easy to use as possible. Just include the library into your Expert Advisor or Script, call the corresponding methods and start trading! Features Trade on BitMEX and BitMEX Testnet. Build and automate your strategies. Concern more with the trading strategy logic and less with the co
    Teclado trader, é uma BIBLIOTECA que você pode chamar no OnChartEvent para abrir posição de compra/venda/zerar, os botões padrões são: V = venda C = compra Z = zerar posições a mercado S = zerar posições opostas e depois a mercado X = zerar posições opostas Além da função de teclado, é possível mostrar os estados do ExpertAdvisor usando o MagicId, com informação de: lucro mensal, semanal, diario, e posição aberta, para isto use o OnTick, ou qualquer outro evento (OnTimer / OnTrade / OnBookEven
    Goliath Mt5
    Nicolokondwani Biscaldi
    Goliath MT5 - scalper fully automated Expert Advisor for medium-volatile forex markets P roperties: The Library trades 10 currency pairs (USDCHF, EURCHF, EURGBP, AUDUSD, USDCAD, GBPUSD, EURUSD, NZDUSD, CADCHF, EURAUD, EURCAD, AUDJPY) The Library does not use martingale The Library sets a fixed stop loss and take profit for all orders The Library only trades a user input volume The Library can be installed on any currency pair and any timeframe Recommendations: Before using on a real account, t
    Binance Library
    Hadil Mutaqin SE
    5 (1)
    The library is used to develop automatic trading on Binance Spot Market from MT5 platform. Support all order types: Limit, Market, StopLimit and StopMarket Support Testnet mode Automatically display the chart on the screen Usage: 1. Open MQL5 demo account 2. Download Header   file and EA sample   https://drive.google.com/uc?export=download&id=1kjUX7Hyy02EiwTLgVi8qdaCNvNzazjln Copy Binance.mqh to folder \MQL5\Include Copy  BinanceEA-Sample.mq5 to folder \MQL5\Experts 3. Allow WebRequest from MT5
    Gold plucking machine   Gold plucking machine is an Expert Advisor designed specifically for trading gold. The operation is based on opening orders using the Fast and Slow lines indicator, thus the EA works according to the "Trend Follow" strategy, which means following the trend. Use grid strategy to place orders without stop loss operation, so please make sure the account has sufficient funds. magic number      -  is a special number that the EA assigns to its orders. Lot Multiplier        - 
    The library is used to develop automatic trading on Binance Futures Market from MT5 platform. Support Binance Futures USD-M and COIN-M Support Testnet mode Support all order types: Limit, Market, StopLimit, StopMarket, StopLoss and TakeProfit Automatically display the chart on the screen Usage: 1. Open MQL5 demo account 2. Download Header file and EA sample https://drive.google.com/uc?export=download&id=17fWrZFeMZoSvH9-2iv4WDJhcyxG2eW17 Copy BinanceFutures.mqh to folder \MQL5\Include Copy  Bina
    MT4/5通用交易库(  一份代码通用4和5 ) #ifdef __MQL5__      #define KOD_TICKET ulong      #define KOD_MAGIC   long #else        #define KOD_TICKET long      #define KOD_MAGIC   int #endif class ODLIST; #import "K Trade Lib Pro 5.ex5"       //祝有个美好开始,运行首行加入    void StartGood() ;    //简单开单    long OrderOpen( int type, double volume, int magic, string symbol= "" , string comment= "" , double opprice= 0 , double sl= 0 , double tp= 0 , int expiration= 0 , bool slsetmode= false , bool tpsetmode= false );    //复杂开单
    1. What is this The MT5 system comes with very few optimization results. Sometimes we need to study more results. This library allows you to output more results during backtest optimization. It also supports printing more strategy results in a single backtest. 2. Product Features The results of the optimized output are quite numerous. CustomMax can be customized. The output is in the Common folder. It is automatically named according to the name of the EA, and the name of the same EA will be au
    T5L Library is necessary to use the EAs from TSU Investimentos, IAtrader and others. It contains all the functions framework needed to Expert Advisors working properly.  ツ - The Expert Advisors from  TSU Investimentos does not work without this library,  the T5L library can have updates during the year - At this Library you will find several funcionalities like order sends, buy and sell, trigger entry points check, candlestick analyses, supply and demmand marking and lines, and much more. 
    AO Core
    Andrey Dik
    3.67 (3)
    AO Core is the core of the optimization algorithm, it is a library built on the author's HMA (hybrid metaheuristic algorithm) algorithm. Pay attention to the MT5 Optimization Booster product , which makes it very easy to manage the regular MT5 optimizer . An example of using AO Core is described in the article: https://www.mql5.com/ru/articles/14183 https://www.mql5.com/en/blogs/post/756510 This hybrid algorithm is based on a genetic algorithm and contains the best qualities and properties of p
    EA Toolkit
    Esteban Thevenon
    EA Toolkit   is a library that allows any developer to quickly and easily program Advisor experts. It includes many functions and enumerations such as trailing stop, lot, stop loss management, market trading authorisations, price table updates, trading conditions and many more. Installation + Documentation : You will find all the information to install this library and the documentation of its functions on this GitHub : https://github.com/Venon282/Expert-Advisor-Toolkit WARNING : The installat
    GetFFEvents MT5 I tester capability
    Hans Alexander Nolawon Djurberg
    Want to get all events like Previous/Forecast/Actual values for each news to analyze/predict it? By this simple library you can do it easily,Just import/integrate the library into your system,then get all possible values for each news   Even In Strategy Tester   . Note: Please add the address " https://www.forexfactory.com/ " of news feed at your MT5 tab > Tools > Options > Expert Advisors > Check Allow web request for listed URL. Since the WebRequest() function can't be called from indicator ba
    A Simple Moving Average (SMA) is a statistical indicator used in time series analysis. This indicator represents the arithmetic mean of a sequence of values over a specific period of time. SMA is used to smooth short-term fluctuations in data, helping to highlight the overall trend or direction of changes. This aids analysts and traders in better understanding the general dynamics of the time series and identifying potential trends or changes in direction.  More information you can find in Wiki 
    Hello everyone! I am a professional MQL programmer , Making EAs, Indicators and Trading Tools for my clients all over the world. I build 3-7 programs every week but I seldomly sell any ready-made Robots. Because I am fastidious and good strategy is so few...  this EA is the only one so far I think its good enough to be published here.  As we all know, the Ichimoku indicator has become world popular for decades, but still, only few people knows the right way of using it, and if we check the clo
    Applying these methods, I managed to arrive at a nuanced conclusion that is crucial to understanding the importance of unique strategies in contemporary trading. Although the neural network advisor showed impressive efficiency in the initial stages, it proved to be highly unstable in the long run. Various factors such as market fluctuations, trend changes, external events, etc. cause its operation to be chaotic and eventually lead to instability. With these experiences, I accepted the challenge
    Introducing "TG Risk Service Manager" — your comprehensive toolkit for swift and precise risk management and lot size calculations in the dynamic world of trading. Designed to streamline development processes and enhance trading strategies, this indispensable library equips developers with essential tools for optimizing risk assessment and trade profitability. Metatrader4 Version |  All Products  |  Contact   Key Features: Efficient Lot Size Calculation : Harness the power of precise lot size c
    Introducing "TG Trade Service Manager" — your all-in-one solution for seamless trade management in both MQL4 and MQL5 environments. With a focus on speed, reliability, and convenience, this powerful library simplifies the complexities of trade execution and management, empowering developers with a single interface for enhanced efficiency. Metatrader4 Version   |   All Products   |   Contact   Key Features: Unified Interface : TG Trade Service Manager" provides a unified interface for   MQL4   an
    OpenAI Library MT5
    VitalDefender Inc.
    La seguente libreria si propone come un mezzo per poter utilizzare le API di OpenAI direttamente sulla metatrader, nella maniera più semplice possibile. Per maggiori approfondimenti sulle potenzialità della libreria, leggere il seguente articolo: https://www.mql5.com/it/blogs/post/756106 I file necessari per usare la libreria li trovate qui: Manuale IMPORTANTE: Per utilizzare l'EA è necessario aggiungere il seguente URL per consentire l'accesso all'API OpenAI c ome mostrato nelle immagini allega
    This trailing stop application will helping trader to set the trailing stop value for many open positions, that apply a grid or martingale strategy as a solution. So if you apply a grid or martingale strategy (either using an EA or trading manually), and you don't have an application to set a trailing stop, then this application is the solution. For EAs with a single shot strategy, just use the FREE trailing stop application which I have also shared on this forum.
    KP TRADE PANEL EA is an EA MT5 facilitates various menus. KP TRADE PANEL EA is an EA skin care in MT5 is an EA that puts the system automatically in download EA MT5 to test with demo account from my profile page while some Trailing Stop Stop Loss require more than 0 features EA determines lot or money management calculates lot from known and Stop loss TS = Trailing stop with separate stop loss order Buy more AVR TS = Trailing stop plus
    MyTradingHistory
    Max Timur Soenmez
    Una libreria facile da usare che fornisce agli sviluppatori un accesso diretto alle principali statistiche di trading per i loro EA MQL5. Metodi disponibili dalla libreria: Dati del conto e profitti: GetAccountBalance() : Restituisce il saldo attuale del conto. GetProfit() : Restituisce il profitto netto da tutte le operazioni. GetDeposit() : Restituisce l'importo totale dei depositi. GetWithdrawal() : Restituisce l'importo totale dei prelievi. Analisi del trading: GetProfitTrades() : Restituisc
    Filtro:
    Nessuna recensione
    Rispondi alla recensione