MT4 & MT5 EA User Guide — Part 3: Configure Your Entries — Technical & News Filters
About This User Guide
This guide explains the shared settings and trade management features of the MetaTrader 4 and MetaTrader 5 robots listed below. It is organized into a series of articles covering installation, configuration, trade management, filters, testing, and troubleshooting.
Each robot uses its own built-in trading strategy. Signal settings, available options, and preset values may differ between products and platform editions. All numerical values in this guide are examples; refer to the individual product description for its entry logic and specific settings.
Robots Covered by This Guide
| Robot | MT5 Version | MT4 Version |
|---|---|---|
| 1. SuperTrend Order Block Robot | MT5 | MT4 |
| 2. RSI Kernel Optimized Robot | MT5 | MT4 |
| 3. Fibonacci Trend Continuation Robot | MT5 | MT4 |
| 4. Volumatic VIDyA Robot | MT5 | MT4 |
| 5. Zero Lag MA Trend Levels Robot | MT5 | MT4 |
| 6. Dual MA Cross Robot | MT5 | MT4 |
This list may be expanded in future updates to include additional robots that use the shared settings described in this guide.
MT4 & MT5 EA User Guide — Part 3: Configure Your Entries — Technical & News Filters
EA User Guide - all parts
- Part 1: Installation & Risk Controls
- Part 2: Trade Management — Grid & Hedging
- Part 3: Technical & News Filters (this part)
- Part 4: Control Panels & Backtesting
- Part 5: Messages & Troubleshooting
Groups 21-29: MA, RSI, Stochastic, ADX, MACD, SuperTrend, Volumatic VIDyA, Predictive Ranges and news filters.
Telegram support: @dh99trading
Example values: All values are examples. Presets, signal settings and available controls can differ by EA and platform edition. Use the settings supplied with your product.
21. Moving Average Filter
The MA filter compares a price series with an MA line. MA timeframe, comparison-price timeframe and bar shifts are independent settings.
| Setting label | Example value | How to use it |
|---|---|---|
| Enable moving average filter | false / Off | Enable the MA filter to confirm Buy and Sell independently. |
| MA timeframe (Current = chart timeframe) | Current | MA calculation timeframe. Current uses the chart timeframe; select a fixed timeframe for another reference. |
| MA calculation period | 52 | MA period; must be positive. |
| MA horizontal shift | 0 | Horizontal shift of the MA line. This differs from a bar shift used to select a data candle. |
| MA calculation method | EMA | MA method, such as SMA, EMA, SMMA or LWMA in the EA menu on your platform. |
| MA applied price | Close | Price source for calculating the MA, such as Close or Median. |
| Price series compared with the MA | Close | Price series compared with the MA. It can differ from the source used to calculate the MA itself. |
| Comparison timeframe (Current = chart timeframe) | Current | Comparison-price timeframe. Current uses the chart timeframe, not automatically a different fixed MA timeframe. |
| Comparison price bar shift | 1 | Comparison-price bar shift: 0 = forming candle, 1 = last closed candle. Cannot be negative. |
| Buy filter condition | Price > MA | Buy condition. For example, require comparison price above the MA. Always bypasses this condition for Buy. |
| Sell filter condition | Price < MA | Sell condition. For example, require comparison price below the MA. |
| MA value bar shift used for filter condition | 1 | Bar shift of the MA value used for filtering. Independent of horizontal MA shift and comparison-price bar shift. |
MA horizontal shift moves the line along the time axis; MA value bar shift selects the MA data candle; comparison price bar shift selects the price candle. These are different settings. If both directions use Always, the filter imposes no restriction.
MT4: Use a supported online timeframe with loaded price history for the MA and comparison series. Apply the same check to every timeframe-based filter below.
22. RSI Filter
RSI confirms each direction using the selected level condition. Overbought/Oversold levels are references; read the Buy/Sell conditions to understand which direction is approved.
| Setting label | Example value | How to use it |
|---|---|---|
| Enable RSI filter | false / Off | Enable the RSI filter. |
| RSI timeframe (Current = chart timeframe) | Current | RSI timeframe; Current uses the chart timeframe. |
| RSI calculation period | 52 | RSI period; must be positive. |
| RSI applied price | Close | Price source for RSI calculation. |
| RSI overbought level | 80 | Overbought reference level. Used only if the selected condition refers to it. |
| RSI oversold level | 20 | Oversold reference level. Used only if the selected condition refers to it. |
| Buy filter condition | RSI < Overbought | Buy condition. For example, RSI < Overbought with a level of 80 allows RSI below 80. |
| Sell filter condition | RSI > Oversold | Sell condition. For example, RSI > Oversold with a level of 20 allows RSI above 20. |
| RSI value bar shift used for filter condition | 1 | RSI bar shift: 1 reads the last closed candle on the RSI timeframe; 0 reads the forming candle. |
For example, Buy at RSI < 80 and Sell at RSI > 20 can both pass when RSI = 50. The EA signal source still determines the direction it wants to enter.
23. Stochastic Filter
Stochastic can filter by Main levels and the Main/Signal relationship. In the example, both Main/Signal conditions are None, so a line crossover is not required.
| Setting label | Example value | How to use it |
|---|---|---|
| Enable Stochastic filter | false / Off | Enable the Stochastic filter. |
| Stochastic timeframe (Current = chart timeframe) | Current | Stochastic timeframe; Current uses the chart timeframe. |
| Stochastic %K period | 20 | %K period; must be positive. |
| Stochastic %D period | 12 | %D period; must be positive. |
| Stochastic slowing period | 12 | Slowing period; must be positive. |
| Stochastic smoothing method | SMA | Stochastic smoothing method. |
| Stochastic price field | Low/High | Stochastic price field, such as Low/High or Close/Close. |
| Stochastic overbought level | 80 | Overbought level for level-based conditions. |
| Stochastic oversold level | 20 | Oversold level for level-based conditions. |
| Buy filter condition | Main < Overbought | Buy level condition. For example, Main < Overbought means Main < 80 when the level is 80. |
| Main line vs signal line for Buy | None | Additional Main/Signal condition for Buy. None imposes no relationship between the lines. |
| Sell filter condition | Main > Oversold | Sell level condition. For example, Main > Oversold means Main > 20 when the level is 20. |
| Main line vs signal line for Sell | None | Additional Main/Signal condition for Sell. None imposes no relationship between the lines. |
| Stochastic value bar shift for filter condition | 1 | Stochastic bar shift used for filtering; for example, 1 reads the last closed candle. |
Example: Main < 80 for Buy and Main > 20 for Sell. For a crossover or a particular zone, select the corresponding condition. Entering 80/20 alone does not create that rule.
24. ADX Filter
ADX provides a strength-level condition and a directional +DI/-DI condition. Read both parts together.
| Setting label | Example value | How to use it |
|---|---|---|
| Enable ADX filter | false / Off | Enable ADX and +DI/-DI filtering. |
| ADX timeframe (Current = chart timeframe) | Current | ADX timeframe; Current uses the chart timeframe. |
| ADX calculation period | 52 | ADX period; must be positive. |
| Use Wilder's ADX calculation | true / On | true uses Wilder ADX; false uses the other ADX calculation supplied by the EA. |
| ADX reference level for Buy | 25 | Buy ADX reference level. Used only if the Buy ADX condition compares against a level. |
| ADX reference level for Sell | 25 | Sell ADX reference level. Used only if the Sell ADX condition compares against a level. |
| Buy filter condition | Always | Buy ADX condition. With Always, entering a Buy level of 25 does not impose ADX > 25. |
| +DI vs -DI condition for Buy | +DI > -DI | Buy direction condition; for example, +DI > -DI. |
| Sell filter condition | Always | Sell ADX condition. With Always, entering a Sell level of 25 does not impose ADX > 25. |
| +DI vs -DI condition for Sell | +DI < -DI | Sell direction condition; for example, +DI < -DI. |
| ADX value bar shift used for filter condition | 1 | ADX data bar shift used for filtering; for example, 1 reads the last closed candle. |
In this example, ADX conditions for both directions are Always. Entering 25 does not require ADX > 25. Direction is determined by +DI > -DI for Buy and +DI < -DI for Sell.
MT4/MT5 comparison: Available ADX calculation options can differ by EA build. Match the calculation method, period and bar shift when comparing the two editions; matching only the level does not ensure matching ADX values.
25. MACD Filter
MACD has separate Fast, Slow and Signal periods. Greater/Less Level compares Main with 0; Main/Signal conditions are configured separately.
| Setting label | Example value | How to use it |
|---|---|---|
| Enable MACD filter | false / Off | Enable the MACD filter. |
| MACD timeframe (Current = chart timeframe) | Current | MACD timeframe; Current uses the chart timeframe. |
| MACD fast EMA period | 48 | Fast EMA period; must be positive. |
| MACD slow EMA period | 96 | Slow EMA period; must be positive. |
| MACD signal period | 36 | Signal period; must be positive. |
| MACD applied price | Close | Price source for MACD calculation. |
| Buy filter condition | Main > Level (0) | Buy MACD condition. Greater Level means Main is above 0. |
| Main line vs signal line for Buy | None | Additional Main/Signal condition for Buy. None does not require a crossover or a particular line relationship. |
| Sell filter condition | Main < Level (0) | Sell MACD condition. Less Level means Main is below 0. |
| Main line vs signal line for Sell | None | Additional Main/Signal condition for Sell. None bypasses this requirement. |
| MACD value bar shift used for filter condition | 1 | MACD bar shift used for filtering; for example, 1 reads the last closed candle. |
Main > 0 differs from Main crossing above Signal. With Main/Signal = None, this example does not require a crossover.
26. SuperTrend Filter
SuperTrend here is a filter. The signal in group 01 can use another strategy. Its ATR is independent of the SL/TP ATR in group 03.
| Setting label | Example value | How to use it |
|---|---|---|
| Enable SuperTrend filter | false / Off | Enable SuperTrend confirmation for the signal source in group 01. |
| Timeframe filter | D1 | SuperTrend timeframe. For example, D1 uses daily data; Current uses the chart timeframe. |
| ATR period | 10 | SuperTrend ATR period; must be positive. |
| Applied price | Median | SuperTrend price source; the example uses Median. |
| ATR multiplier | 1.0 | SuperTrend ATR multiplier; must be positive. |
| Use alternative ATR calculation method | true / On | Enable the alternative ATR calculation provided by SuperTrend. Match this setting when comparing with the chart indicator. |
| Trend shift confirmation method | Close | Trend-change confirmation method; the example uses Close. This is a SuperTrend rule, separate from EA entry timing. |
| Buy filter condition | Price > SuperTrend line | Buy confirmation; the example compares price above the SuperTrend line. |
| Sell filter condition | Price < SuperTrend line | Sell confirmation; the example compares price below the SuperTrend line. |
| Bars shift filter | 1 | SuperTrend filter bar shift. A value of 1 with timeframe D1 reads the last closed daily candle. |
For example, timeframe D1 and bar shift 1 read the last closed daily candle. Changing the chart timeframe does not switch the filter away from D1 while that selection remains.
27. Volumatic VIDyA Filter
Volumatic VIDyA confirms direction through separate trend and Delta Volume conditions for Buy and Sell. The signal in group 01 can use another strategy. VIDyA ATR is independent of the SL/TP ATR in group 03.
| Setting label | Example value | How to use it |
|---|---|---|
| Enable VIDyA filter | false / Off | Enable Volumatic VIDyA confirmation. It does not replace the signal source in group 01. |
| Timeframe filter | Current | VIDyA timeframe; Current uses the chart timeframe. |
| VIDyA Length | 10 | VIDyA period. Changing it changes the filter reference line. |
| VIDyA Momentum | 20 | Momentum period used by the VIDyA adaptive calculation. |
| Distance factor for upper/lower bands | 2 | Distance factor for the upper/lower VIDyA bands. Match the indicator configuration when comparing chart results. |
| Applied Price | Close | VIDyA price source; the example uses Close. |
| VIDyA value smoothing period | 15 | VIDyA value smoothing period. |
| Atr period | 200 | VIDyA band ATR period, independent of the ATR in group 03. |
| Applied volume | Tick volume | Volume source. MT4 uses tick volume from its price series. In MT5, real volume is meaningful only when the broker supplies it. Choose the supported source and match it when comparing the chart indicator with the EA. |
| Buy filter condition | Uptrend | Buy trend condition. For example, Uptrend uses the upward VIDyA trend as Buy confirmation. |
| Delta Volume for Buy | Bullish | Buy Delta Volume condition. For example, Bullish uses the VIDyA classification favoring buyers. |
| Sell filter condition | Downtrend | Sell trend condition. For example, Downtrend uses the downward VIDyA trend as Sell confirmation. |
| Delta Volume for Sell | Bearish | Sell Delta Volume condition. For example, Bearish uses the VIDyA classification favoring sellers. |
| Bars shift filter | 1 | VIDyA filter bar shift: 1 reads the last closed filter-timeframe candle; 0 reads the forming candle. |
Read the example configuration
| Direction | Trend condition | Delta Volume condition |
|---|---|---|
| Buy | Uptrend - VIDyA is in an upward trend. | Bullish - VIDyA classifies Delta Volume as favoring buyers. |
| Sell | Downtrend - VIDyA is in a downward trend. | Bearish - VIDyA classifies Delta Volume as favoring sellers. |
Example bar shift 1 reads the last closed candle of the filter timeframe. Current means the chart timeframe. Delta Volume selections are filter conditions; they do not size lots or create an entry by themselves.
When comparing with VIDyA on a chart, use matching Length, Momentum, Band distance, price source, smoothing, ATR and volume type. If a condition is bypassed, check trend and Delta Volume separately to see which part restricts each direction.
28. Predictive Ranges Filter
Predictive Ranges confirms the price position within support/resistance zones calculated by the indicator. It does not replace the signal, and the name Predictive does not guarantee a price reaction at a zone.
| Setting label | Example value | How to use it |
|---|---|---|
| Enable Predictive Ranges filter | false / Off | Enable Predictive Ranges to confirm price location in its zones. This does not replace the signal. |
| Timeframe filter | Current | Predictive Ranges timeframe. Current uses the chart timeframe; a fixed selection is retained when the chart timeframe changes. |
| Length | 200 | Length period used to calculate Predictive Ranges levels/zones. Match it when comparing with the chart indicator. |
| Factor | 6 | Predictive Ranges Factor. It controls zone calculation, not trade risk or lot multiplication. |
| Source | Close | Predictive Ranges price source; the example uses Close. |
| 1st multiplier | 1 | First multiplier used to build the zones. Separate from Factor above. |
| 2st multiplier | 2 | Second multiplier used to build the zones. |
| Buy filter condition | In support (SUP) | Buy condition. For example, In support requires price inside the support zone defined by Predictive Ranges. |
| Sell filter condition | In resistance (RES) | Sell condition. For example, In resistance requires price inside the resistance zone defined by Predictive Ranges. |
| Bars shift filter | 1 | Predictive Ranges bar shift; for example, 1 reads the last closed candle of the filter timeframe. |
| Direction | Example condition | Data candle |
|---|---|---|
| Buy | In support - price is in the SUP zone. | Bar shift 1 on the Predictive Ranges timeframe. |
| Sell | In resistance - price is in the RES zone. | Bar shift 1 on the Predictive Ranges timeframe. |
Length, Factor and both multipliers calculate the zones. In SUP/RES follows the actual zone boundaries calculated by Predictive Ranges; it is not automatically a fixed Point distance or a pending order. After changing zone settings, compare candles inside and outside the zones before comparing entries.
29. News Filter
News Filter blocks new entries around selected events. News Panel in group 31 can display the calendar while entry blocking is OFF. Source, time, event-type and currency checks can still apply when only the panel is enabled.
Example: Use symbol currencies only = false and all nine currencies are true, so events are not limited to the current symbol currencies. When News Filter is enabled, the example window blocks 30 minutes before and 30 minutes after eligible events.
| Setting label | Example value | How to use it |
|---|---|---|
| Enable news filter | false / Off | Enable new-entry blocking around selected events. Turning it OFF does not turn OFF News Panel in group 31. |
| Calendar source | ForexFactory | MT5: choose ForexFactory or the MT5 economic calendar where available. MT4: use ForexFactory; the native MT5 calendar is unavailable. ForexFactory needs WebRequest permission on Demo/Live in either platform. |
| Block if calendar is unavailable | true / On | With News Filter enabled, true blocks entries if calendar data cannot be verified. false permits bypassing unavailable data according to the source rules. |
| Server GMT offset (-13=auto) | -13 | Broker server GMT offset, not local time. -13 = automatic detection. Manual values range from -12 to +14. |
| Minutes to block before news | 30 | Minutes to block before eligible events; cannot be negative. Example: 30 minutes. |
| Minutes to block after news | 30 | Minutes to block after eligible events; cannot be negative. Example: 30 minutes. |
| Include high-impact events | true / On | Include high-impact events in the selected event set. |
| Include medium-impact events | true / On | Include medium-impact events in the selected event set. |
| Include low-impact events | true / On | Include low-impact events in the selected event set. |
| Include speech-related events | true / On | Include speech-related events in the selected event set. |
| Include holiday events | false / Off | Include holidays supplied by the calendar source. Separate from the manually configured holiday range in group 20. |
| Use symbol currencies only | false / Off | true uses symbol currencies; false uses the manual currency selections below. Check recognition on suffixed/prefixed symbols and metals. |
| Include USD events | true / On | Include USD events while Use symbol currencies only = false. Only enabled event types are considered. |
| Include EUR events | true / On | Include EUR events while Use symbol currencies only = false. Only enabled event types are considered. |
| Include GBP events | true / On | Include GBP events while Use symbol currencies only = false. Only enabled event types are considered. |
| Include JPY events | true / On | Include JPY events while Use symbol currencies only = false. Only enabled event types are considered. |
| Include AUD events | true / On | Include AUD events while Use symbol currencies only = false. Only enabled event types are considered. |
| Include NZD events | true / On | Include NZD events while Use symbol currencies only = false. Only enabled event types are considered. |
| Include CAD events | true / On | Include CAD events while Use symbol currencies only = false. Only enabled event types are considered. |
| Include CHF events | true / On | Include CHF events while Use symbol currencies only = false. Only enabled event types are considered. |
| Include CNY events | true / On | Include CNY events while Use symbol currencies only = false. Only enabled event types are considered. |
| Include title keywords separated by | | Blank | Included title keywords, separated by |, for the MT5 calendar source. Blank means no separate inclusion list. MT4 uses ForexFactory; do not assume this MT5-source condition filters its feed. |
| Exclude title keywords separated by | | Blank | Excluded title keywords, separated by |, for the MT5 calendar source. Blank means no separate exclusion list. MT4 uses ForexFactory; do not assume this MT5-source condition filters its feed. |
| Number of news events to retrieve (minimum 1) | 5 | Number of events to retrieve for information; minimum 1. Example: 5. Separate from the storage limit. |
| Preferred past output count | 1 | Preferred past-event count in the output, from 0 through total event count. Example: 1. |
| Maximum events stored in memory | 200 | Maximum events retained in memory; minimum 1. To avoid the relevant warning, do not set it below the requested output count. |
| Print calendar logs | false / Off | Enable calendar logs for data and update diagnostics. Turn OFF after setup if less log output is preferred. |
Configure the ForexFactory source
- In MT4 or MT5, open Tools > Options > Expert Advisors.
- Enable Allow WebRequest for listed URL.
- Add exactly https://nfs.faireconomy.media/ and select OK.
- MT5: select Calendar source = ForexFactory. MT4: ForexFactory is the source used by this edition; a source selector may be absent. Enable News Filter in group 29 or Display news panel in group 31 as needed.
- Check event data and times on a Demo/Live chart and in Experts/Journal. Repeat WebRequest permission setup on each terminal or VPS.
MT5 economic calendar is an MT5-only source and does not require the ForexFactory WebRequest permission. With that source, separate Include/Exclude keywords using |. MT4 uses ForexFactory. Check the actual selected events and do not assume keyword behavior is identical across sources.
News Filter and News Panel do not operate in Strategy Tester with either source. WebRequest permission does not enable ForexFactory in Tester. Check news functions on Demo.
Number of news events to retrieve controls the information output count; Maximum events stored in memory is the storage limit. Neither setting is a blocking duration. Preferred past output count prioritizes past events in the output and does not create another blocking window.
Both platforms: Compare displayed event times with broker server time on Demo, especially after daylight-saving changes. Recheck WebRequest permissions in the terminal or VPS that actually runs the EA.
EA User Guide - all parts
- Part 1: Installation & Risk Controls
- Part 2: Trade Management — Grid & Hedging
- Part 3: Technical & News Filters (this part)
- Part 4: Control Panels & Backtesting
- Part 5: Messages & Troubleshooting


