MultiFilter MA High Low Cross Buy Sell Arrows MT5
- Indicatori
- Versione: 1.32
- Attivazioni: 5
MultiFilter MA High Low Cross Buy Sell Arrows MT5 - Professional Technical Manual
1. Product Overview & System Architecture
MultiFilter MA High Low Cross Buy Sell Arrows MT5 is an advanced technical indicator engineered for the MetaTrader 5 trading terminal. Designed for professional technical analysts, manual chartists, and systematic discretionary traders, this software identifies high-probability directional momentum expansions and trend resumption points by tracking price interactions across dynamic volatility boundaries. Unlike conventional moving average indicators that rely on a single median or closing price baseline, the core analytical engine establishes an asymmetric volatility corridor by calculating two independent dynamic boundaries mapped directly to cyclical price extremes: an upper dynamic boundary tracking high price expansion and a lower dynamic boundary tracking low price expansion.
To resolve the vulnerability of false breakouts and choppy ranging phases inherent in single-indicator systems, this software incorporates an institutional multi-stage filtering architecture. This framework combines a primary directional envelope with 14 modular secondary confirmation filters covering relative momentum, directional volume, structural trend baselines, cloud equilibrium, volatility bands, trailing stops, synthetic price action smoothing, and historical price geometry. All signal evaluations, graphical arrow plots, and notification dispatches operate strictly on completed price bars, ensuring that every confirmed signal is permanent, stable, and completely non-repainting.
2. Technical Operating Methodology & Analytical Logic
The indicator evaluates directional price velocity by measuring structural market expansion through dynamic volatility bands. Instead of exposing the underlying algorithm to imitation or revealing exact mathematical formulas, the operational methodology can be understood through its analytical behavior:
- Core Analytical Corridor: The software tracks short-term market volatility through an adaptive dual-boundary channel. The upper boundary dynamically monitors the smoothed rate of upward price extension, while the lower boundary monitors the smoothed rate of downward price extension. Together, these boundaries define an active equilibrium corridor that expands during high-volatility impulses and tightens during periods of market consolidation.
- Bullish Signal Confirmation (Buy Arrow): A bullish signal is confirmed when price action exhibits strong directional velocity that penetrates and closes above the upper dynamic volatility boundary on a completed bar, provided that the preceding bar closed within or below that corridor. This confirms that upward momentum has exceeded normal volatility thresholds. A buy arrow is plotted only if all active macro trend filters and secondary confluence modules simultaneously confirm a bullish market state.
- Bearish Signal Confirmation (Sell Arrow): A bearish signal is confirmed when price action exhibits strong directional velocity that penetrates and closes below the lower dynamic volatility boundary on a completed bar, provided that the preceding bar closed within or above that corridor. This confirms that downward momentum has exceeded normal volatility thresholds. A sell arrow is plotted only if all active macro trend filters and secondary confluence modules simultaneously confirm a bearish market state.
- Macro Directional Envelope Filter: To safeguard against taking positions against the broader market flow, an optional long-period macro volatility corridor evaluates higher-order trend clearance. When enabled, bullish signals are disqualified if the closing price resides within or below the macro high boundary, and bearish signals are disqualified if the closing price resides within or above the macro low boundary.
3. Strict Non-Repainting Execution Protocol
Reliability and historical consistency are critical in technical trading tools. This indicator incorporates a closed-bar execution model:
- Completed-Bar Processing: All internal algorithmic computations, visual arrow allocations, and alert triggers are evaluated strictly on index bar 1 (the most recently closed candle) or completed historical bars. The currently active candle (index bar 0), which is subject to continuous price fluctuations until its official close, is ignored for signal confirmation.
- Permanent Signal Placement: Because the open, high, low, and close prices of a completed bar are mathematically fixed within the MetaTrader 5 historical database, an arrow plotted at a confirmed bar index will never change position, recalculate, disappear, or shift dynamically across subsequent price bars. The historical chart displays the exact signals that were generated in real time.
- Anti-Spam Timestamp Protection: The notification engine uses internal timestamp tracking variables (lastBuyAlertTime and lastSellAlertTime) to store the exact bar opening time of the most recent alert. This ensures that every confirmed trade signal emits an alert, sound, or push notification exactly once per completed candle, preventing repetitive notifications during market volatility.
4. Modular Multi-Filter Confluence Suite
The indicator features 14 independent secondary confirmation filters that can be activated individually or combined to create custom trading systems:
- RSI Dynamic Momentum Cross: Monitors momentum breakouts from statistical extreme zones. A bullish setup requires the Relative Strength Index to cross upward from oversold territory, while a bearish setup requires a downward cross from overbought territory.
- ADX Trend Strength Filter: Validates structural trend conviction by ensuring that the Average Directional Movement Index is at or above a user-defined threshold, filtering out trade setups during low-volume or sideways market conditions.
- Single MA Directional Baseline: Uses a customizable baseline moving average (supporting SMA, EMA, SMMA, and LWMA) to enforce directional alignment, requiring price to close above the baseline for buy setups or below it for sell setups.
- Ichimoku Equilibrium Filter: Evaluates price position relative to the 52-period Senkou Span B cloud baseline, ensuring signals align with the broader equilibrium structure of the Ichimoku Kinko Hyo system.
- RSI 75 Long-Cycle Momentum Filter: Uses a long-period smoothed RSI calculation to measure institutional momentum bias, requiring values above 50.0 for bullish setups and below 50.0 for bearish setups.
- Double MA Ribbon Filter: Uses two distinct moving averages (Fast MA A and Slow MA B) to confirm structural trend alignment through dynamic ribbon orientation.
- Awesome Oscillator (AO) Multi-Mode Engine: Features three selectable sub-modes: Volume threshold filtering (requiring minimum histogram amplitude), Color acceleration filtering (requiring consecutive bar momentum expansion), and Zero-line polarity filtering (requiring alignment with directional oscillator momentum).
- Parabolic SAR Trailing Bias: Tracks market acceleration and trailing stops, confirming buy signals only when the SAR marker is positioned beneath price and sell signals only when positioned above price.
- Heiken Ashi Structural Smoothing: Uses synthetic average price bars to remove erratic intra-bar noise, verifying that synthetic candle polarity aligns with signal direction.
- CCI Zero-Trend Filter: Evaluates standard statistical deviation relative to its baseline, requiring Commodity Channel Index values above 0.0 for buy signals and below 0.0 for sell signals.
- CCI Overbought/Oversold Filter: Enforces aggressive momentum expansion by requiring CCI values to exceed extreme statistical bands (+100 for buy, -100 for sell).
- RVI Trend Filter: Evaluates the relationship between closing and opening price vectors via the Relative Vigor Index, verifying that closing energy dominates the trading session.
- RVI Signal Line Cross: Analyzes crossover dynamics between the primary RVI line and its smoothed signal line for high-precision entry timing.
- MACD Dual-Mode Engine: Features two selectable confirmation models: Histogram mode (verifying expanding momentum differential between main and signal lines) and Zero-level mode (demanding absolute MACD placement above or below zero).
- Support & Resistance Zone Filter: Automatically calculates historical swing highs and lows across a rolling lookback window, requiring price to interact with structural support or resistance tolerance bands before validating an entry.
- ZigZag Fibonacci Retracement Engine: Identifies primary swing points via an algorithmic ZigZag routine and constructs dynamic Fibonacci retracement zones (38.2% to 61.8%), ensuring trades originate from deep value pullbacks within the prevailing trend.
5. Comprehensive Input Parameters Documentation
Primary Signal Parameters (EMA High/Low)
- InpEMAPeriod (Default: 10 | Type: int) -> Smoothing period for the primary dynamic high and low volatility channel. Determines responsiveness to immediate price velocity.
- InpMAMethod (Default: MODE_EMA | Type: ENUM_MA_METHOD) -> Mathematical averaging algorithm applied to calculate the primary dynamic channel (MODE_SMA, MODE_EMA, MODE_SMMA, MODE_LWMA).
- InpArrowDistance (Default: 100 | Type: int) -> Vertical pixel/point offset spacing between the signal arrow graphic and the extreme high or low price of the triggering candle.
- InpArrowSize (Default: 2 | Type: int) -> Graphical display size of the plotted buy and sell arrows on the chart canvas (selectable integer scale from 1 to 5).
Macro Directional Envelope Filter
- InpUseFilter (Default: true | Type: bool) -> Master toggle for activating the higher-period macro EMA High/Low trend boundary envelope.
- InpFilterPeriod (Default: 200 | Type: int) -> Calculation lookback period for the macro trend filter channel. Disables trades that oppose the macro trend.
RSI Dynamic Cross Filter Parameters
- Use_RSI_Cross_Filter (Default: false | Type: bool) -> Enables momentum threshold breakout filtering via the Relative Strength Index.
- RSI_Length (Default: 14 | Type: int) -> Lookback averaging period applied to the primary RSI oscillator calculation.
- RSI_Price_Source (Default: PRICE_CLOSE | Type: ENUM_APPLIED_PRICE) -> Applied price constant used for calculating RSI values.
- Oversold (Default: 30.0 | Type: double) -> Lower threshold boundary defining the dynamic oversold zone for bullish entry confirmation.
- Overbought (Default: 70.0 | Type: double) -> Upper threshold boundary defining the dynamic overbought zone for bearish entry confirmation.
ADX Trend Strength Filter Parameters
- Use_ADX_Filter (Default: false | Type: bool) -> Enables trend intensity verification via the Average Directional Movement Index.
- ADX_Period (Default: 10 | Type: int) -> Lookback period for smoothing directional vectors and computing the main ADX line.
- ADX_Min_Level (Default: 20.0 | Type: double) -> Minimum numerical ADX threshold required. Signals occurring below this value are disqualified.
Single Moving Average Filter Parameters
- Use_MA_Filter (Default: false | Type: bool) -> Activates structural baseline trend filtering via an independent moving average.
- MA_Period (Default: 50 | Type: int) -> Averaging lookback period for the baseline moving average calculation.
- MA_Method (Default: MODE_SMA | Type: ENUM_MA_METHOD) -> Mathematical smoothing method applied to the baseline moving average.
- MA_Shift (Default: 0 | Type: int) -> Horizontal bar displacement offset applied to the baseline moving average buffer.
Ichimoku Equilibrium Filter Parameters
- Use_Ichimoku_Filter (Default: false | Type: bool) -> Activates equilibrium cloud filtering based on the Senkou Span B baseline.
- Ichimoku_SenkouB (Default: 52 | Type: int) -> Lookback calculation period defining the historical midpoint of the Senkou Span B cloud line.
- Ichimoku_Kijun (Default: 26 | Type: int) -> Shift displacement lookback parameter applied within the Ichimoku calculation pipeline.
RSI 75 Long-Cycle Filter Parameters
- Use_RSI75_Filter (Default: false | Type: bool) -> Activates long-cycle momentum baseline verification.
- RSI_Filter_Period (Default: 75 | Type: int) -> Calculation period for tracking institutional momentum balance around the 50.0 level.
Double Moving Average Ribbon Parameters
- Use_DoubleMA_Filter (Default: false | Type: bool) -> Activates dual moving average ribbon trend verification.
- MA_A_Period (Default: 30 | Type: int) -> Calculation lookback period for Fast Moving Average A.
- MA_A_Method (Default: MODE_EMA | Type: ENUM_MA_METHOD) -> Smoothing formula applied to Fast Moving Average A.
- MA_A_Applied (Default: PRICE_CLOSE | Type: ENUM_APPLIED_PRICE) -> Applied price data source for Fast Moving Average A.
- MA_A_Shift (Default: 0 | Type: int) -> Horizontal bar shift displacement applied to Fast Moving Average A.
- MA_B_Period (Default: 140 | Type: int) -> Calculation lookback period for Slow Moving Average B.
- MA_B_Method (Default: MODE_EMA | Type: ENUM_MA_METHOD) -> Smoothing formula applied to Slow Moving Average B.
- MA_B_Applied (Default: PRICE_CLOSE | Type: ENUM_APPLIED_PRICE) -> Applied price data source for Slow Moving Average B.
- MA_B_Shift (Default: 0 | Type: int) -> Horizontal bar shift displacement applied to Slow Moving Average B.
Awesome Oscillator (AO) Filter Parameters
- Use_AO_Filter (Default: false | Type: bool) -> Master toggle for activating the Awesome Oscillator confirmation suite.
- Use_AO_Volume_Filter (Default: false | Type: bool) -> Enforces strict minimum and maximum histogram amplitude thresholds.
- AO_Buy_Min (Default: 4.0 | Type: double) -> Minimum positive histogram amplitude required to validate a bullish entry.
- AO_Sell_Max (Default: -4.0 | Type: double) -> Maximum negative histogram amplitude required to validate a bearish entry.
- Use_AO_Color_Filter (Default: false | Type: bool) -> Evaluates bar-over-bar histogram slope to ensure accelerating momentum.
- Use_AO_Zero_Filter (Default: false | Type: bool) -> Requires histogram values to remain strictly on the corresponding side of the zero baseline.
Parabolic SAR Filter Parameters
- Use_SAR_Filter (Default: false | Type: bool) -> Activates dynamic stop-and-reverse trailing position filtering.
- SAR_Step (Default: 0.02 | Type: double) -> Incremental acceleration factor step applied to dynamic extreme price trailing.
- SAR_Maximum (Default: 0.2 | Type: double) -> Maximum cap for the Parabolic SAR acceleration factor.
Heiken Ashi Filter Parameters
- Use_HeikenAshi_Filter (Default: false | Type: bool) -> Activates synthetic candle momentum smoothing, confirming entries only when candle color matches signal direction.
CCI Trend & OB/OS Filter Parameters
- Use_CCI_Filter (Default: false | Type: bool) -> Activates Commodity Channel Index zero-line directional filtering.
- CCI_Period (Default: 50 | Type: int) -> Lookback period used to compute statistical mean deviation for the trend filter.
- CCI_Applied (Default: PRICE_CLOSE | Type: ENUM_APPLIED_PRICE) -> Applied price data source for CCI trend calculation.
- Use_CCI_OBOS_Filter (Default: false | Type: bool) -> Activates statistical extreme expansion filtering.
- CCI_OBOS_Period (Default: 14 | Type: int) -> Lookback period used to measure short-term statistical price expansion.
- CCI_OBOS_Applied (Default: PRICE_CLOSE | Type: ENUM_APPLIED_PRICE) -> Applied price data source for CCI OB/OS calculation.
- CCI_Overbought (Default: 100.0 | Type: double) -> Upper statistical threshold required for bullish momentum validation.
- CCI_Oversold (Default: -100.0 | Type: double) -> Lower statistical threshold required for bearish momentum validation.
RVI Trend & Signal Filter Parameters
- Use_RVI_Filter (Default: false | Type: bool) -> Activates Relative Vigor Index zero-line directional filtering.
- RVI_Period (Default: 75 | Type: int) -> Calculation period used to evaluate long-term energy distribution.
- Use_RVI_Signal_Filter (Default: false | Type: bool) -> Activates short-term RVI crossover momentum confirmation.
- RVI_Signal_Period (Default: 20 | Type: int) -> Calculation period for the fast Relative Vigor Index signal-line crossover engine.
MACD Signal & Zero Filter Parameters
- Use_MACD_Filter (Default: false | Type: bool) -> Activates MACD histogram differential momentum filtering.
- MACD_FastEMA (Default: 12 | Type: int) -> Lookback period for the fast exponential moving average in MACD.
- MACD_SlowEMA (Default: 26 | Type: int) -> Lookback period for the slow exponential moving average in MACD.
- MACD_SignalSMA (Default: 9 | Type: int) -> Smoothing period for the signal line constructed across the MACD spread.
- MACD_Applied (Default: PRICE_CLOSE | Type: ENUM_APPLIED_PRICE) -> Applied price data source for MACD calculations.
- Use_MACD_Zero_Filter (Default: false | Type: bool) -> Requires the main MACD line to remain strictly above zero for buy signals or below zero for sell signals.
Support & Resistance Zone Filter Parameters
- Use_SR_Filter (Default: false | Type: bool) -> Activates rolling swing high and swing low boundary touch verification.
- SR_Period (Default: 50 | Type: int) -> Historical rolling lookback window used to identify support (lowest low) and resistance (highest high).
- SR_Zone_Points (Default: 80.0 | Type: double) -> Geometric boundary tolerance buffer expressed in points, verifying that signals originate near structural levels.
Fibonacci Retracement Filter Parameters
- Use_Fib_Filter (Default: false | Type: bool) -> Activates ZigZag-derived structural swing Fibonacci retracement zone filtering.
- Fib_Level_1 (Default: 0.382 | Type: double) -> Primary retracement ratio defining the inner boundary of the golden zone.
- Fib_Level_2 (Default: 0.618 | Type: double) -> Secondary retracement ratio defining the outer boundary of the golden zone.
- ZigZag_Depth (Default: 12 | Type: int) -> Minimum bar interval required between consecutive candidate swing points.
- ZigZag_Deviation (Default: 5 | Type: int) -> Minimum price deviation required to designate a valid new swing high or low.
- ZigZag_Backstep (Default: 3 | Type: int) -> Minimum number of bars that must separate consecutive swing reversals.
Alert & Notification Parameters
- InpEnableAlert (Default: true | Type: bool) -> Toggles native pop-up alert dialog boxes inside the MetaTrader 5 terminal upon signal confirmation.
- InpEnableSound (Default: true | Type: bool) -> Toggles audible sound alerts upon confirmed closed-bar signals.
- InpEnablePush (Default: false | Type: bool) -> Toggles encrypted push notifications dispatched to mobile terminals via MetaQuotes ID.
- InpBuySound (Default: "alert.wav" | Type: string) -> Audio file executed upon confirmation of a valid buy signal.
- InpSellSound (Default: "alert2.wav" | Type: string) -> Audio file executed upon confirmation of a valid sell signal.
6. Visual Plotting & Buffer Architecture
The indicator allocates 6 data buffers to handle chart plotting, visual arrow rendering, and internal background calculations:
- Buffer 0 (EMA High Boundary): Renders the upper dynamic volatility line (Plot Type: DRAW_LINE, Style: STYLE_SOLID, Color: clrDodgerBlue, Width: 2).
- Buffer 1 (EMA Low Boundary): Renders the lower dynamic volatility line (Plot Type: DRAW_LINE, Style: STYLE_SOLID, Color: clrOrangeRed, Width: 2).
- Buffer 2 (Buy Signal Arrow): Renders the visual buy signal arrow beneath confirmed candles (Plot Type: DRAW_ARROW, Wingdings Code: 233, Color: clrAqua, Line Width: InpArrowSize, Empty Value: EMPTY_VALUE).
- Buffer 3 (Sell Signal Arrow): Renders the visual sell signal arrow above confirmed candles (Plot Type: DRAW_ARROW, Wingdings Code: 234, Color: clrRed, Line Width: InpArrowSize, Empty Value: EMPTY_VALUE).
- Buffer 4 (Macro Filter High Boundary): Internal buffer storing the higher-period macro EMA High calculations. Configured with PLOT_SHOW_DATA = false to keep chart visuals and the Data Window organized.
- Buffer 5 (Macro Filter Low Boundary): Internal buffer storing the higher-period macro EMA Low calculations. Configured with PLOT_SHOW_DATA = false to keep chart visuals and the Data Window organized.
7. Multi-Channel Alert & Dispatch Engine
The indicator includes an integrated alert dispatch engine designed to keep traders informed of market developments across multiple devices:
- Native Terminal Pop-Up Alerts: Generates a dialogue window inside MetaTrader 5 showing the currency pair, timeframe, execution price, and signal direction.
- Acoustic Sound Notifications: Plays designated .wav audio files immediately upon closed-bar confirmation, providing distinct sounds for buy and sell signals.
- Mobile Push Notifications: Connects directly with the MetaQuotes notification gateway. When configured with a user's MetaQuotes ID, signals are delivered directly to iOS and Android devices.
- Diagnostic Journal Logging: Automatically logs signal event records to the MetaTrader 5 Experts journal, detailing timestamps, asset names, timeframes, and confirmation prices.
8. Operational Specifications & Setup Recommendations
- Supported Instruments: Developed for liquid financial assets, including Major and Minor Forex pairs, Gold (XAUUSD), Silver (XAGUSD), Equity Indices (US30, NAS100, GER40), and selected Liquid Commodity CFDs.
- Supported Timeframes: Operates across all standard MT5 chart intervals: M1, M5, M15, M30, H1, H4, D1, W1, and MN.
- Recommended Execution Environments: Fully compatible with Netting and Hedging account architectures. ECN or Raw Spread accounts are recommended for lower timeframes (M1, M5) to minimize spread impact.
- CPU & Memory Optimization: Multi-filter calculations use series buffer mapping and standard loop execution routines. Historical bar analysis is bounded by safe lookback thresholds, preventing terminal lag during multi-chart deployment.
9. Practical Strategy Configurations & Parameter Presets
Preset 1: Aggressive Momentum Breakout (Scalping & Day Trading)
- Primary Strategy: Captures rapid volatility breakouts during active market sessions (London and New York overlaps).
- Target Timeframes: M5, M15
- Suggested Assets: EURUSD, GBPUSD, USDJPY, XAUUSD
- Core Configuration: InpEMAPeriod = 10, InpMAMethod = MODE_EMA, InpUseFilter = true, InpFilterPeriod = 200
- Recommended Active Filters:
* Use_ADX_Filter = true (ADX_Period = 10, ADX_Min_Level = 22.0)
* Use_CCI_OBOS_Filter = true (CCI_OBOS_Period = 14, Overbought = 100.0, Oversold = -100.0)
* Use_HeikenAshi_Filter = true
- Analytical Rationale: The 200 EMA envelope establishes macro trend direction, ADX confirms breakout momentum, the CCI OB/OS filter confirms aggressive price expansion, and Heiken Ashi filters out minor intra-bar fluctuations.
Preset 2: Structural Trend-Following (Swing Trading)
- Primary Strategy: Identifies sustained multi-day trend continuations while ignoring transient counter-trend noise.
- Target Timeframes: H1, H4, D1
- Suggested Assets: Major FX Pairs, Cross Pairs, Global Indices, Energy CFDs
- Core Configuration: InpEMAPeriod = 14, InpMAMethod = MODE_EMA, InpUseFilter = true, InpFilterPeriod = 200
- Recommended Active Filters:
* Use_DoubleMA_Filter = true (MA_A = 30, MA_B = 140, Method = MODE_EMA)
* Use_MACD_Filter = true (Fast = 12, Slow = 26, Signal = 9)
* Use_MACD_Zero_Filter = true
* Use_SAR_Filter = true (Step = 0.02, Maximum = 0.2)
- Analytical Rationale: Combines moving average ribbon alignment with trailing Parabolic SAR confirmation. The dual MACD filter ensures that entries align with broad institutional momentum.
Preset 3: Confluent Swing & Retracement Resumption
- Primary Strategy: Identifies trend continuation setups as price pulls back into key geometric support or resistance levels.
- Target Timeframes: M15, M30, H1
- Suggested Assets: XAUUSD, EURUSD, GBPUSD, Tech Indices
- Core Configuration: InpEMAPeriod = 10, InpMAMethod = MODE_EMA, InpUseFilter = true, InpFilterPeriod = 200
- Recommended Active Filters:
* Use_Fib_Filter = true (Fib_Level_1 = 0.382, Fib_Level_2 = 0.618, ZigZag_Depth = 12, Deviation = 5, Backstep = 3)
* Use_SR_Filter = true (SR_Period = 50, SR_Zone_Points = 80.0)
* Use_RSI_Cross_Filter = true (RSI_Length = 14, Oversold = 35.0, Overbought = 65.0)
- Analytical Rationale: Confirms boundary breakouts only when price tests a historical support or resistance zone that aligns with a 38.2% to 61.8% Fibonacci retracement level, providing confluence between price action and momentum.
10. Regulatory Risk Disclaimer
Trading foreign exchange (Forex), contracts for difference (CFDs), indices, precious metals, and other financial derivatives involves substantial financial risk and may not be suitable for all categories of investors. Leverage can magnify both potential gains and potential losses. Before engaging in live financial market trading, you should carefully evaluate your personal investment objectives, risk tolerance, practical trading knowledge, and financial situation. There is a possibility that you could sustain a partial or complete loss of your deposited capital.
MultiFilter MA High Low Cross Buy Sell Arrows MT5 is an analytical software tool designed solely to assist traders with technical charting, pattern recognition, and quantitative filtering. It does not provide individualized financial advice, trade execution services, or guarantees of profitability. Historical performance, backtest models, and indicator presets do not guarantee future performance in live market conditions. Users should thoroughly test the indicator, its parameters, and filter interactions on a demo account before using it with real capital.
