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
    Önerilen ürünler
    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
    Statik Metin Gösterimi , MetaTrader 5 için hafif ve kullanıcı dostu bir Uzman Danışman (EA) olup, traderları motive etmek ve eğitmek amacıyla doğrudan grafiğinizde ilham verici ticaret ipuçları gösterir. Zarif, ortalanmış siyah bir arka plan ve sabit genişlikte bir fontta beyaz metin ile bu EA, disiplinli ticarete odaklanmanızı sağlamak için kısa, uygulanabilir tavsiyeleri döngüsel parçalar halinde sunar. Hem yeni başlayanlar hem de deneyimli traderlar için mükemmel olan bu EA, risk yönetimi, sa
    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
    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
    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
    UZFX - MetaTrader 5 (MT5) için Sadece Bekleyen Emirleri Sil komut dosyası, bekleyen tüm emirleri (Alış Limiti, Satış Limiti, Alış Durdurma, Satış Durdurma) işlem hesabından otomatik olarak kaldıran basit ama etkili bir araçtır. Bu komut dosyası, aktif piyasa pozisyonlarını etkilemeden bekleyen emirlerini anında temizlemek isteyen tüccarlar için idealdir. Diğer tüm MT4 / MT5 göstergelerime ve EA'larıma göz atın >> BURAYA Özellikler: Bekleyen tüm emirleri siler (Alış Limiti, Satış Limiti, Alış
    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
    Product Name:   Super Stats  Subtitle: Professional Trade Analysis & Account Statistics Dashboard with Advanced Excel Export Description:  Super Stats  is the ultimate utility for traders who need clear, instant insights into their trading performance. Designed with a clean, modern interface, this dashboard provides real-time statistics, monthly/daily breakdowns, and a powerful one-click Excel reporting engine. Whether you are a manual trader or running EAs, Titan Super Stats helps you track you
    ***** Ana ticaret XAUUSD'dir. Teste yaparsa, XAUUSD'e ayarlanma tavsiye ediliyor. Diğer ticaret hedefleri faydallığını garanti edemez****** Teste ihtiyacınız olursa, lütfen bir mesaj bırakın (gördüğüm anda cevap vereceğim). Çalışma sonuçlarını korumak için belirli parametreler girmeli. Sistemin öntanımlı parametreleri ekran fotoğrafında gösterilen etkileri ulaşamaz! Teste ihtiyacınız olursa, lütfen bir mesaj bırakın (gördüğüm anda cevap vereceğim). Çalışma sonuçlarını korumak için belirli par
    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
    MetaTrader 5 (MT5) için UZFX - Set Stop Loss to Breakeven Instantly komut dosyası, yatırımcıların tüm açık pozisyonların stop loss'unu hızlı bir şekilde giriş fiyatlarına taşımalarına ve risksiz işlemleri güvence altına almalarına olanak tanıyan güçlü bir araçtır. Bu komut dosyası, aktif işlemleri verimli bir şekilde yönetmek için özellikle yararlıdır ve bir pozisyon olumlu yönde hareket ettiğinde, tüccarın potansiyel kayıplardan korunmasını sağlar. (Profili Ziyaret Edin ve Diğer Tüm MT4 / MT
    FREE
    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
    Bu ürün 3 yıldır geliştirilmektedir. MQL5 programlama dilinde her türlü Yapay Zeka ve makine öğrenimi kodlarıyla çalışmak için en gelişmiş kod tabanıdır. MetaTrader 5'te birçok yapay zeka destekli ticaret robotu ve gösterge oluşturmak için kullanılmıştır. Bu, MQL5 için makine öğrenimi üzerine ücretsiz ve açık kaynaklı bir projenin premium sürümüdür. Bağlantı burada:  https://github.com/MegaJoctan/MALE5 . Ücretsiz sürüm daha az özelliğe sahiptir, belgelenmemiştir ve düzenli olarak bakım görmez. S
    **Bneu Trade Journal Pro** is a trade analytics and journaling utility for MetaTrader 5. The utility automatically captures trade history, calculates comprehensive statistics, displays performance metrics, and exports reports in CSV format. All functionality is implemented natively in MQL5 with no external dependencies. **Main Features** **Automatic Trade Capture** - Automatically records all closed trades from account history - Filter by magic number to track specific EA trades - Filter by s
    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
    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
    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 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  
    Bu ürünün alıcıları ayrıca şunları da satın alıyor
    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.
    Bu kütüphane, herhangi bir EA'nızı kullanarak işlemleri yönetmenize izin verecektir ve açıklamalarda belirtilen komut dosyası koduyla ve ayrıca tüm süreci gösteren videodaki demo örnekleriyle kendi başınıza yapabileceğiniz herhangi bir EA'ya entegrasyonu çok kolaydır. - Limit Ver, SL Limit Ver ve Kar Al Limit Emirleri - Market, SL-Market, TP-Market siparişlerini verin - Limit emrini değiştirin - Siparişi iptal et - Siparişleri Sorgula - Kaldıraç, marjı değiştir - Pozisyon bilgisini al ve
    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
    突破交易策略:智能风控系统升级版‌ 当价格突破关键阻力位时,往往意味着趋势的质变时刻。我们的突破交易策略通过三重智能系统——‌动态阈值识别‌、‌量能验证机制‌和‌自适应止损算法‌,帮助交易者精准捕捉这些跃迁机会。 ‌核心优势‌: ‌智能预警‌:实时监测200+技术指标,自动标记潜在突破位 ‌风险对冲‌:突破失败时自动触发0.5秒内止损,保护本金安全 ‌多周期验证‌:结合日线/4小时/1小时数据过滤假信号 ‌实战案例‌: 2025年第二季度,该策略在现货黄金市场实现连续23次有效突破,平均持仓周期缩短至4.7小时,收益率达传统趋势策略的3.2倍。 ‌智能风控系统‌: ‌动态止盈‌:根据ATR指标自动调整止盈位,锁定利润的同时保留上行空间 ‌分级止损‌:首次突破失败后自动切换至1:1盈亏比保护模式,二次突破确认后恢复原策略 本EA依下图设置做黄金1小时图线,经长时期实盘验证年利润达到30多倍,修改参数可以用作比特币和纳斯达克指数都有很好的收益。
    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
    Friends, join us! Ask questions and connect with like-minded traders: MetaCOT Public Group MetaCOT Information Channel: news, CFTC reports, and signals: MetaCOT Channel Here’s to successful trading and new profitable signals for us all! Attention! Recently, certain countries have been blocking access to the cftc.gov website. As a result, users in these countries are giving the product low ratings. MetaCOT has always adhered to the highest quality standards and is in no way associated with th
    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
    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
    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 );    //复杂开单
    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
    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
    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
    The following library is proposed as a means of being able to use the OpenAI API directly on the metatrader, in the simplest way possible. For more on the library's capabilities, read the following article: https://www.mql5.com/en/blogs/post/756098 The files needed to use the library can be found here: Manual IMPORTANT: To use the EA you must add the following URL to allow you to access the OpenAI API as shown in the attached images In order to use the library, you must include the following Hea
    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
    Kullanımı kolay bir kütüphane, geliştiricilere MQL5 EA'ları için temel ticaret istatistiklerine kolay erişim sağlar. Kütüphaneden mevcut olan metodlar: Hesap Verileri ve Kar: GetAccountBalance() : Mevcut hesap bakiyesini döndürür. GetProfit() : Tüm işlemlerden net karı döndürür. GetDeposit() : Toplam depozito miktarını döndürür. GetWithdrawal() : Toplam çekim miktarını döndürür. Ticaret Analizi: GetProfitTrades() : Kar eden işlemlerin sayısını döndürür. GetLossTrades() : Zarar eden işlemlerin sa
    Filtrele:
    Değerlendirme yok
    Değerlendirmeye yanıt