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
    推荐产品
    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
    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
    FREE
    Ajuste BRA50
    Claudio Rodrigues Alexandre
    4.33 (6)
    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
    静态文本显示 是一个轻量且用户友好的 MetaTrader 5 专家顾问(EA),旨在通过在您的图表上直接显示激励性交易提示来启发和教育交易者。凭借优雅的居中黑色背景和等宽字体白色文本,该 EA 以轮换片段形式提供简洁、可操作的建议,帮助您专注于纪律交易。适合初学者和经验丰富的交易者,它倡导风险管理、耐心和策略开发等关键原则。 主要功能: 动态提示显示 :将用户定义的交易提示分割为 50-60 个字符的可读片段,每隔几秒轮换一次(持续时间可自定义)。 专业设计 :在图表顶部中心显示提示,带有黑色背景,确保可读性和均匀填充。 响应式定位 :在图表大小调整或切换时自动调整文本和背景对齐。 可自定义设置 :根据您的偏好调整字体大小、文本颜色、背景颜色和显示持续时间。 开关控制 :无需移除 EA 即可轻松启用或禁用显示。 轻量高效 :资源占用极低,不影响平台性能。 为什么选择静态文本显示? 无论您是想提升交易纪律还是寻求每日动力,此 EA 始终将核心交易智慧置于显眼位置。默认提示强调风险管理、策略测试和情绪控制,但您可以自定义文本以匹配您的交易理念。适合重视教育和一致性的交易者。 输入参数:
    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
    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
    用于 MetaTrader 5 的 DhanHQ v2 API 桥接程序 将 MetaTrader 5 连接到您的 DhanHQ 交易账户,直接通过 MQL5 管理订单、 持仓、资金和投资组合。该库封装了官方 DhanHQ v2 REST API(支持 NSE、BSE、MCX), 让您能够在 Dhan 平台上构建自己的 EA(智能交易系统)、脚本和自动化策略。 功能特性 - 完整的订单生命周期管理:下单、修改、取消、拆单、查询订单簿、按 ID 查询订单、 按关联 ID 查询订单、查询成交记录及按订单查询成交明细。 - 订单辅助功能:市价单、限价单、止损单(Stop-Loss)和止损市价单(Stop-Loss-Market)。 - 超级订单(区间/Bracket 订单):下单、修改子单、取消子单、查询列表。 - 投资组合:持仓资产、持仓明细、转换持仓、平掉所有仓位。 - 资金管理:资金限额查询及保证金计算器。 - 交易控制:紧急停止(Kill Switch)功能。 - 身份验证:使用 access-token 标头(header)及 Dhan 客户 ID。 - 静态 IP 白名单(设
    Delete Only Pending Orders
    Muhammad Usman Siddique
    适用于 MetaTrader 5 (MT5) 的 UZFX - 仅删除挂单脚本是一款简单而有效的工具,可自动删除交易账户中的所有挂单(限价买入、限价卖出、止损买入、止损卖出)。该脚本非常适合希望在不影响活跃市场头寸的情况下即时清除挂单的交易者。 查看我的所有其他 MT4/MT5 指标和 EA >> 这里 功能: 删除所有挂单(买入限价单、卖出限价单、买入止损单、卖出止损单)。 不影响未结市场头寸。 通过专家选项卡提供实时执行反馈。 帮助交易者快速重置挂单策略,无需手动干预。 使用方法: 将脚本附加到 MT5 图表。 脚本将自动扫描并删除所有挂单。 注意: 该脚本不会关闭有效交易,只会删除挂单。 运行脚本前,请确保您要删除所有挂单。 它适用于账户中的所有交易符号,而不仅仅是所附图表。 开发者: UZFX-LABS Version: 1.00 Year: 2025 下载 mt4 脚本 : 133840
    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
    SuperStat
    Zheng Gang Sun
    产品名称: 超级统计  副标题: 专业交易分析及账户统计仪表盘,具备高级Excel导出功能 描述:  Super Stats   是交易者获取声音、即时交易表现分析的终极实用工具。该仪表盘采用现代简洁的界面设计,提供实时统计数据、月度/每日细分数据,以及强大的单键Excel报表引擎。 无论您是手动交易还是运行 EA 交易程序,Titan Super Stats 都可以帮助您轻松跟踪您的盈利能力、回撤和胜率。 主要特点: 综合仪表盘: 实时显示余额、权益、利润率。 胜率分析(多空区分)(确定您的方向偏好)。 总交易笔数和日内回撤监控。 双模视图: 月度视图: 查看您的每日汇总业绩(利润、手数、回撤百分比)。 每日概览: 深入查看每一笔交易的特定日期详情。 智能导航:   [<][>]通过思考的按钮轻松切换月份或日期。 可滚动和交互式: 支持滚动滚动 滚动浏览大量的历史记录列表。 可折叠界面,必要时节省图表空间。 专业Excel导出: 一键导出: 立即生成美观的HTML-Excel报表。 智能逻辑: 您可以选择仅导出当前视图(特定月份/日期)或导出整个自定义历史记录范围。
    Auto trading so strong mt5 trading script so rich and running amazing auto trading trades with so high quality performance and results Look that is the best trading script that will help you to make good results like in screenshots i built that strategy depend on Envelopes indicator to make that script trading in that area excellent scalping trades and gain maximum good results per trade so i built that strategy manually then I make it auto trading  so to start use that script add to scripts aft
    近段时间买家运行良好,但同时也有朋友担心: 1、EA测试回测数据的真实性; 2、回测效果好不代表实测效果好,而免费演示版的可测试时间太短,无法判断EA的实用性。 针对以上问题,现推出一个完美的解决方案,直接给到限定时间的测试版本,需要的可以私信留言,或者聊天窗口找我,看到后会发送测试版本过来。 此外,为了方便部分已购买源代码的客户熟悉了解代码,进一步优化和提升空间,并且让更多的有意向的客户了解这个EA的编辑逻辑,特将代码拆解,不定期的讲解基本思路,跟着走即便是小白也可以快速上手,以便后续购买源代码后快速上手优化! 知乎专栏: Day01:初始MQL5量化系统 - quanter的文章 - 知乎 https://zhuanlan.zhihu.com/p/1969031679428530490 Wordpress个人网站: https://quanter001.wordpress.com/ 如有任何问题,欢迎邮件沟通:quanter001@163.com ****************************************************************
    Overview AlgoNLP.mqh   is a standalone MQL5 library that converts   human-written trading instructions   into   structured trade intents   that your Expert Advisor (EA) or indicator can understand. Do leave a review if you like :D Also check out my new Indicator : ALGOCHAMP v3 Plus Example input: Buy gold at 2370 with TP 0.3% and SL 1% Output intent: Side: BUY | Type: LIMIT | Symbol: XAUUSD | Entry: 2370 | TP: 0.3% | SL: 1% | Lot: 0.00 This enables you to build   chat-controlled   or   Telegr
    FREE
    Magic Number Manager   是一款专业的 MetaTrader 5 交易管理工具,可为单个账户上同时运行的 20+ 个 Expert Advisor 提供集中监控和控制。 主要功能: 绩效仪表板   - 实时表格显示每个 EA 的总交易数、胜率、总利润、平均交易、最佳/最差交易、当前回撤和利润因子。彩色编码指标,便于即时视觉评估。 批量交易管理   - 一键关闭特定 EA 的所有未平仓头寸,或使用紧急"全部关闭"按钮立即清算所有头寸。 风险监控   - 当任何 EA 达到用户定义的回撤阈值时自动发出警报。可配置的百分比警告保护您的账户。 支持 20+ EA   - 配置多达 20 个不同的魔术号码,支持自定义名称和显示颜色。易于扩展以容纳更多 EA。 轻量且非侵入   - 极低的 CPU/内存使用率。不干扰您的交易 EA 的正常操作。作为管理覆盖层独立运行。 适用对象: 在单个账户上运行多个 EA 的交易者 在实时市场中进行策略测试和比较 跨不同策略的风险隔离和管理 绩效审计和记录保存 使用方法: 附加到任何图表(推荐:EURUSD M5) 配置您的 EA 魔术号码和
    DoIt EA Monitor - Multi EA Performance Dashboard for MT5 Your account can be profitable while one EA quietly drags down the portfolio. MetaTrader history shows the combined result, but it does not clearly show which strategy deserves more capital and which one needs attention. DoIt EA Monitor runs on one chart and separates live and historical performance by magic number, EA and symbol. It is completely read-only. It never opens, closes or modifies a trade. KNOW WHICH EA IS EARNING ITS PLACE Aut
    FREE
    Turn your manual trades into fully automated profit machines! This powerful MT5 EA takes over the moment you open a position — no delays, no stress. It instantly places Stop Loss and Take Profit, activates customizable trailing, and locks in profits while protecting your capital Perfect for scalpers: Every trade is immediately secured, giving you the freedom to focus on sniping the best entries while the EA handles all the management work in the background. Auto SL/TP Full trailin
    FREE
    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.33 (3)
    适用于 MetaTrader 5 (MT5) 的 UZFX - Set Stop Loss to Breakeven Instantly 脚本是一款功能强大的工具,允许交易者将所有未结头寸的止损点快速移动至其入场价格,确保无风险交易。该脚本尤其适用于有效管理活跃交易,确保一旦头寸出现有利变动,交易者就能免受潜在损失。 (访问简介并查看所有其他 MT4/MT5 产品) (请不要忘记给予评论) 功能: 自动将所有未结头寸的止损设置为盈亏平衡(入市价格)。 通过确保利润和尽量减少潜在损失来加强风险管理。 使用方法 将脚本附加到图表上;它将自动调整所有未结头寸。 如果某个仓位的止损已达到盈亏平衡点,则将跳过该仓位。 注意: 该脚本仅修改现有交易,不会下新订单。 它适用于所有未结头寸,与符号无关。 确保经纪商允许以准确的入市价格修改止损。
    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 Update!!!!!! this now only closes the positions on the chart you have open with a fail safe
    FREE
    Lib5 EAPadPRO for MT5
    Vladislav Andruschenko
    4.5 (6)
    EAPADPRO Library for MetaTrader 5 是一个免费的专业界面库,用于为您的 Expert Advisor 添加现代化的信息面板。 该库专为 MQL5 开发者设计,适合希望让自己的交易程序在 MetaTrader 5 图表上拥有更清晰、更专业、更有信息价值的视觉呈现。 MetaTrader 5 的 Expert Advisors 通常包含更复杂的逻辑、多组设置、Magic number 过滤、订单执行规则以及内部策略数值。EAPADPRO 可以将这些信息整理到一个结构化面板中,让用户更快、更直观地理解程序当前状态。 EAPADPRO for MT5 是一个免费库。 您可以使用它来提升 Expert Advisor 的界面、信息输出和整体视觉质量。 完整的分步集成说明: LIB - EAPADPRO 分步集成教程 EAPADPRO 面板详细说明: EAPADPRO 信息面板 MetaTrader 4 版本: EAPADPRO Library for MT4 MQL5   Channel  https://www.mql5.com/en/channels/expf
    FREE
    该产品已经开发了 3 年,它是 MQL5 编程语言中最先进的人工智能和机器学习代码库。它已被用于创建多个基于 AI 的交易机器人和指标,适用于 MetaTrader 5。 这是一个高级版,基于免费开源的 MQL5 机器学习项目,链接如下:  https://github.com/MegaJoctan/MALE5 。免费版本功能较少,文档较少,维护不足,仅适用于小型 AI 模型。 该高级版包含您编写 AI 交易机器人的所有必需工具。 为什么要购买此库? 非常易于使用,代码语法友好,类似于 Python 的流行 AI 库,如 Scikit-learn、TensorFlow 和 Keras。 文档齐全,提供丰富的视频、示例和文档,帮助您快速上手。 计算优化,性能优越,运行方式类似普通 EA。  无需额外依赖,无需 DLL 文件,所有内容可编译为单一 .EX5 文件,便于测试和分发。 全天候技术支持,我将提供帮助,确保您正确使用,并在问题出现时协助修复。  谁适合使用此库? 具有基本机器学习和 AI 知识的用户。 机器学习爱好者,特别是来自 Python ML 社区的开发者。 MQL5 中级
    PS4 Trading Controller lets you trade MetaTrader 5 using a DualShock 4 controller (USB or Bluetooth). Designed for traders who want speed and convenience, this tool maps controller buttons to essential trading actions so you can execute and manage positions without touching the keyboard or mouse. Key Features: • Market Buy / Sell with R2 and L2 • Close one position at a time (R1 / L1) • Close all profitable trades (Triangle) • Close all losing trades (Circle) • Adjust lot size with D-Pad • Mov
    FREE
    EA Performance Logger Telegram
    Abdulqudus Tomiwa Akande-owoo
    The Performance Logger is a utility for MetaTrader 5 designed to track and report account metrics. It identifies trades based on specific criteria and provides summaries of account activity. Main Functions Automated Reporting : Generates summaries of account performance and sends them to specified communication channels (Telegram or Discord) on a weekly, monthly, or yearly basis. Strategy Analysis : Organizes performance data based on the specific Expert Advisor or strategy used for each trade.
    该产品的买家也购买
    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
    MT5 to Delta Exchange API Bridge EA Connector allows your expert advisor with mq5 file to integrate and communicate with Delta Exchange using API Keys You can place order, check balance and other order managements using Delta Exchange API - Place Limit, SL Limit and Take Profit Limit Orders - Place Market, SL-Market, TP-Market orders - Cancel Order - Query Orders - Change Leverage, margin - Get Position info and many more, details available at demo script Script Documentation 
    ModernUI Library
    Levi Dane Benjamin
    适用于 MetaTrader 5 的 ModernUI 库 ModernUI 是一个用于 MetaTrader 5 的图表内用户界面库。它可以帮助 MQL5 开发者在 MT5 图表环境中构建更清晰的 EA 面板、仪表盘、设置窗口、表单、表格、对话框、抽屉式面板以及紧凑型交易风格界面。 它适合希望获得比零散图表对象更专业的界面层,同时仍然完全掌控自己 EA、指标或工具逻辑的开发者。 Modern UI - 用户指南   | EA 示例演示 你可以构建什么 ModernUI 并不局限于某一种面板类型。它为你提供了一个可复用的界面层,几乎可以用于任何你想在 MetaTrader 5 图表中构建的工具。 你可以用它创建简单的设置界面、紧凑型交易面板、完整仪表盘、数据视图、控制面板、账户工具、流程界面、监控界面、实用工具窗口、商业 EA 前端界面等等。 随附的演示展示了几个实用示例,但它们只是起点。如果你的 MQL5 项目需要按钮、输入框、表格、对话框、标签页、抽屉面板、图表、状态区域,或需要一种更清晰的方式在图表上展示信息,ModernUI 都可以为你提供构建模块。 主要功能 适用于 Me
    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.
    EX5 Signal Copier
    Rajesh Kumar Nait
    EX5 信号复制库 — 适用于 MT 的专业交易事件引擎 无需编写复杂的交易跟踪逻辑,即可将任何智能交易系统 (EA) 转换为强大的交易复制器、信号处理器或自动化引擎。 EX5 信号复制库是一个高性能的事件驱动系统,能够捕获 MetaTrader 5 中的所有交易活动,并将其转换为结构化信号,您可以利用这些信号构建: 交易复制器(MT5 → MT5 / MT5 → 外部) 风险管理引擎 分析仪表盘 自定义执行桥接(币安、API 等) 为什么选择此库? 实时交易检测 结构化信号队列 事件分类(开仓、平仓、修改、部分平仓) 内置复制引擎(可选) 通过自定义逻辑实现完全控制 主要特性 实时交易捕获 使用 OnTradeTransaction 即时检测每一笔交易 备份轮询系统确保不遗漏任何信号 完整的交易生命周期支持 捕获所有操作: 买入/卖出 限价/止损单 止损/止盈修改 部分平仓 持仓平仓 反向交易 成交量增加 信号队列系统 线程安全的内部队列 按顺序处理信号 即使在高负载下也不会遗漏任何事件 内置复制引擎
    This library will allow you to send your trades using your MT5 EA bot and its very easy to integrate on any EA which you can do yourself with the script code which is mentioned in documentation. This product allows trading operations via API For MEXC chart : Renting   Crypto Charting  for OHLC data or   Crypto Ticks with Order Book Depth  is optional - Supports MEXC API calls - Place Limit, SL Limit and Take Profit Limit Orders - Place Market, SL-Market, TP-Market orders - Modify Limit order - C
    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
    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 );    //复杂开单
    Binance Library MetaTrader 5 connects your Expert Advisors, indicators, and scripts to Binance.com and Binance.US directly from MetaTrader 5. It is a developer library for building custom Binance integrations inside MT5, not a standalone trading robot or copier. The library helps you add Binance instruments to Market Watch, read symbol specifications, load current and historical market data, check wallet balances, manage orders, and track open positions. It supports Spot, USD-M futures, and COI
    1. 这是什么 MT5系统自带的优化结果非常少,有时候我们需要研究更多的结果,这个库可以让你在回测优化时可以输出更多的结果。也支持在单次回测时打印更多的策略结果。 2. 产品特色 优化的输出的结果非常多。 可以自定义CustomMax。 输出结果在Common文件夹。 根据EA名称自动命名,且同一个EA多次回测会自动更新名称,不会覆盖上一次的结果。 函数非常简单,你一眼就可以看懂。 #import "More BackTest Results.ex5" // Libraries Folder, Download from the market. //---Set CustomMax void iSetCustomMax( string mode); //---Display multiple strategy results when backtesting alone (not opt). void iOnDeinit(); //--- void iOnTesterInit(); double iOnTester(); void iOnTesterPass( string lang
    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 
    该库将允许您使用任何 EA 来管理交易,并且非常容易集成到任何 EA 上,您可以使用描述中提到的脚本代码以及显示完整过程的视频演示示例自行完成。 - 下限价、止损限价和止盈限价订单 - 下达市场订单、SL 市场订单、TP 市场订单 - 修改限价订单 - 取消订单 - 查询订单 - 更改杠杆、保证金 - 获取位置信息 和更多... 租赁加密货币图表是可选的,除非您的 MT5 上没有币安图表。 对于脚本演示:单击此处 如果您想与交易面板进行交易,您可能对此产品感兴趣 该产品是加密图表的插件 该库将允许您使用任何 EA 来管理交易,并且非常容易集成到任何 EA 上,您可以使用描述中提到的脚本代码以及显示完整过程的视频演示示例自行完成。 - 下限价、止损限价和止盈限价订单 - 下达市场订单、SL 市场订单、TP 市场订单 - 修改限价订单 - 取消订单 - 查询订单 - 更改杠杆、保证金 - 获取位置信息 和更多... 租赁加密货币图表是可选的,除非您的 MT5 上没有币安图表。 对于脚本演示: 单击此处 如果您想与交易面板进行交易, 您可能对
    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.
    该库旨在提供一种尽可能简单的方法,直接在MetaTrader上使用OpenAI的API。 要深入了解库的潜力,请阅读以下文章: https://www.mql5.com/en/blogs/post/756098 The files needed to use the library can be found here: Manual 重要提示:要使用EA,需要添加以下URL以允许访问OpenAI API  如附图所示 要使用该库,需要包含以下Header,您可以在以下链接找到:  https://www.mql5.com/en/blogs/post/756108 #import "StormWaveOpenAI.ex5" COpenAI *iOpenAI(string); CMessages *iMessages(void); CTools *iTools(void); #import 这就是您需要的所有信息,以便轻松使用该库。 以下是如何轻松使用该库并与OpenAI的API交互的示例 #include <StormWaveOpenAI.mqh>       //--- 包含用于AP
    作者的更多信息
    GW CRT Candle Range Theory
    Jose Martinez Hernandez
    GW CRT 是一款适用于 MetaTrader 5 的智能交易系统(EA),基于 蜡烛区间理论(Candle Range Theory,CRT) ——一种源自 ICT / Smart Money Concepts(聪明钱概念)方法的流动性形态:先出现对某个交易时段区间的假突破,随后价格回收(reclaim)该区间,再在回撤(retrace)阶段入场,方向与最初的突破相反。 它 不是 高频或剥头皮系统。每个品种 每天最多交易一次 ,且只有在完整形态被确认后才会交易——它优先考虑信号质量,而不是交易频率。 我开发这款 EA 的原因是:CRT 形态在 ICT / Smart Money Concepts 社区中已经非常流行,但却很少有人附带可验证的回测数据——很多人只是宣称"市场就是这样交易的",而这种说法的依据仅仅是授课者表面上的成功和生活方式,而不是数据。通过 GW CRT Candle Range Theory 这款 EA,我希望为社区提供一种直接自动化交易该形态的方式,无需经历整个设计和编程过程,并把测试结果摆在明面上,而不是空口宣称。 工作原理 交易时段 (可配置的时间范围)—
    筛选:
    无评论
    回复评论