News Trading Machine
- Experts
-
Denis Nikolaev
Robots for MetaTrader 4, MetaTrader 5, cTrader, ProRealTime, QuanTower, TradingView, QUIK, TradeStation, ThinkOrSwim, JForex and other platforms. - Version: 1.1
- Updated: 12 April 2026
- Activations: 5
News Trading Machine - The Expert Advisor trades on economic news downloaded from the MQL5 calendar. For each news item, two pending orders (BUYSTOP and SELLSTOP) are placed at a specified distance from the current price.
Peculiarities
- The advisor can trade any number of trading instruments from one chart.
- The advisor does not use risky methods
- The advisor sets stop-loss and take-profit for all orders.
- The advisor uses a magic number to identify its orders.
- The advisor has a user-friendly interface for tracking trading results.
- The advisor maintains detailed logging of its actions.
- The advisor is tested in the strategy tester (testing on many instruments may take a significant amount of time)
- The advisor is suitable for accounts with suffixes and prefixes
Recommendations
- Any broker with a tight spread and fast order execution is suitable for trading.
- The minimum recommended deposit is $100
- The advisor can be used with default parameters; simply install the advisor on the chart.
Parameters
Low News Settings group
- LowNews - enable/disable trading on low-importance news (importance=1 according to the MQL5 classification).
- iLotsLowNews - fixed transaction volume (lot) for low-importance news.
- ShiftBefore - how many seconds before news is published to place pending orders.
- ShiftAfter - how many seconds after the news to delete non-activated pending orders (if DeletePendingShiftAfter is enabled).
- TypeDistanceLow - Method for calculating the distance from the current price to order levels:
- Fix – fixed value in points (LowNewsOrderDistance);
- ATR – dynamic value = ATR * multiplier (Period_ATR_Low, Mult_ATR_Low).
- Period_ATR_Low ‑ period of the ATR indicator for calculating the distance (used if TypeDistanceLow = ATR).
- TF_ATR_Low is the timeframe on which ATR is taken (default is M1).
- Mult_ATR_Low - ATR multifier, resulting distance = ATR value in points × Mult_ATR_Low.
- LowNewsOrderDistance - fixed distance in points (used if TypeDistanceLow = Fix).
- LowNewsSpreadCount - protection against too small a distance: if the calculated distance (ATR or fixed) is less than the spread × LowNewsSpreadCount, then the spread × LowNewsSpreadCount is used; if the value is 0, the check is disabled.
- StopLossLowFix - fixed stop loss points (used if StopLossLowATR = 0 ).
- StopLossLowATR - a parameter for calculating stop loss based on the order distance; if > 0, then SL = order distance × StopLossLowATR (in points); if = 0, StopLossLowFix is used.
- TakeProfitLowNews - fixed take profit in points (used if TakeProfitLowNewsRR = 0 ).
- TakeProfitLowNewsRR - risk/reward as a stop-loss multiplier; if > 0, then TP = SL × TakeProfitLowNewsRR (in points); if = 0, TakeProfitLowNews is used.
- LowNewsColor - the color of the vertical news line on the chart (if DrawNewsLines = true ).
- NewsLineWidthLow - line width for low importance news.
The Middle News Settings and High News Settings groups are similar to the Low News Settings.
News Settings group
- NewsSymbols - a list of currencies of countries whose news is loaded.
- CurrencyMatchingMQL5 - list of country currencies from the MQL5 calendar.
- CurrencyMatchingYourBroker - a list of currencies from your broker's terminal.
- DateFrom - the starting date for downloading news from the MQL5 calendar.
- DateTo - the final date for downloading news.
- DrawNewsLines - enable/disable drawing vertical lines on charts during news breaks.
- NewsLineStyle - with line style
Trade Settings group of parameters
- TypeTradeCurrency - select the news filtering mode:
- Current Symbol Currency - trades if the news currency code is contained in the symbol name (eg USD in EURUSD).
- Select Currency - filter only by currency from SelectCurrency.
- Select News - filter by exact titles from SelectNews
- SelectCurrency - the currency code of the news to filter (for example, USD – all pairs will be traded based on USD news).
- SelectNews - specific news titles (with currency indication) on which trading is allowed.
- ExpirationSeconds ‑ the lifetime of a pending order in seconds. 0 – the order does not expire.
- DeletePendingShiftAfter - if true , then through ShiftAfter seconds after the news, all unactivated pending orders for this news are deleted.
- DeleteOppositeAfterTrigger - if true , then when one order is activated (for example, BUYSTOP), the opposite one (SELLSTOP) is immediately deleted.
- SetTakeStopAfterTrigger - if true , then stop-loss and take-profit are set after activation of a market order; if false – SL/TP are set immediately when sending a pending order.
- BreakEven - breakeven level, 0 – disabled, if >0, then when the price passes the distance BreakEven × (distance between BUYSTOP and SELLSTOP) , the stop loss of the activated position is moved to the opening level + a small premium (1/10 of this distance).
- DeleteOppositeAfterBreakEven - if true , then after reaching breakeven (and moving SL) the opposite pending order is deleted.
- FX_Major - enable trading on major currency pairs (list TradeSymbols_FX_Major ).
- TradeSymbols_FX_Major - a comma-separated list of majors.
- and other trading instruments...
- Prefix - here you can specify a prefix if your broker provides a trading account with a prefix.
- Suffix - here you can specify a suffix if your broker provides a trading account with a suffix.
- MagicNumber - a unique identifier (Magic number) for orders opened by the advisor.
Trading Time Filter Parameter Group
- UseTimeFilter - enable/disable the time filter.
- MondayTrade - allow trading on Monday.
- MondayTime - the time interval on Monday when trading is possible. You can specify multiple intervals ; . After an interval of _ can be added CloseAtEnd – then after the end of the interval, all news positions opened in this interval will be closed.
- CloseAllMondayOverTime - the time after which All the advisor's positions are forcibly closed (and pending orders are deleted).
- The remaining parameters are similar to those of Monday...
Before allowing an expert advisor to trade a particular currency pair, test the symbol in the tester using your broker's history, as the advisor is sensitive to spread and execution speed.
High profits in the past do not guarantee high profits in the future.
