MACD Zero Cross Pro Level 0 Signals Multi Filters
- Indicadores
- Versão: 1.43
- Ativações: 5
MACD Zero Cross Multi Filter Signals
════════════════════════════════
MACD Zero Cross Pro | Level 0 Signals + Multi Filters | No Repaint for MT5
════════════════════════════════
MACD Zero Cross Pro is a MetaTrader 5 oscillator and signal tool built around a classic MACD histogram. It marks BUY and SELL only when the MACD main line crosses the zero level on a closed bar, then checks optional confirmation filters before drawing an arrow or sending an alert.
This is not an Expert Advisor. It does not open, close, or manage trades. It is a decision-support indicator for traders who want a zero-line MACD trigger with extra confirmation layers.
════════════════════════════════ PRODUCT TYPE ════════════════════════════════
Type : Technical Indicator Platform : MetaTrader 5 (MT5) Window : Separate indicator window + arrows on the main chart Strategy core : MACD main line cross of level 0 Signal style : Closed-bar only (designed not to repaint past arrows) Markets : Forex, Gold, Indices, Crypto, Stocks, and other MT5 symbols Timeframes : All (M1 to MN1). Results depend on your settings and market Version basis : MACD level 0 + Filters v1.43 logic
════════════════════════════════ WHY THIS INDICATOR EXISTS ════════════════════════════════
A raw MACD zero cross is simple, but it fires in ranging markets. The extra value here is the filter stack. Each filter can be turned on or off. When several filters are on, a signal is drawn only if the zero cross and every enabled filter agree.
Value points:
[+] Zero-line MACD as the only entry trigger
[+] Histogram with 4 dynamic colors for momentum strength
[+] MACD line and Signal line in the same window
[+] Optional multi-filter confirmation (trend, momentum, structure)
[+] Arrows on closed bars only
[+] Popup, sound, push, and email alerts
[+] Works as a visual system, a filter for your own rules, or a signal source for later EA work
No strategy can remove risk. Use this as confirmation, not as a promise of profit.
════════════════════════════════ WHAT YOU SEE ON THE CHART ════════════════════════════════
- Separate window
- MACD Histogram : colored columns of MACD minus Signal
- MACD Line : DodgerBlue
- Signal Line : Magenta
- Histogram colors
- LimeGreen : histogram above zero and rising
- DarkGreen : histogram above zero and falling
- Red : histogram below zero and falling
- Maroon : histogram below zero and rising
- Main chart arrows (optional)
- Aqua up arrow under the low = BUY candidate
- Red down arrow above the high = SELL candidate
- Arrow offset is set in points so the mark stays clear of the candle
════════════════════════════════ HOW THE CORE SIGNAL WORKS ════════════════════════════════
The engine watches the MACD main line, not the histogram, for the level-0 event.
BUY : previous closed bar MACD main < 0, current closed bar MACD main >= 0
SELL : previous closed bar MACD main > 0, current closed bar MACD main <= 0
Then every enabled filter is checked. Logic is AND, not OR. One failed filter blocks the arrow.
No-repaint rule in this build:
- Signals are evaluated on closed bars only (not the forming live bar)
- Alerts fire when a bar has just closed, not when you first attach the indicator to history
- Arrow objects use a unique name per bar time so the same bar is not duplicated
════════════════════════════════ KEY FEATURES AND BENEFITS ════════════════════════════════
[1] Level 0 MACD trigger
Benefit: a clear momentum-regime change. Crossing above zero often means bullish average pressure; crossing below zero often means bearish pressure.
[2] Four-color histogram
Benefit: you can see whether momentum is expanding or fading even when no new zero cross appears.
[3] Modular filters
Benefit: keep the raw MACD for testing, then add trend, oscillator, or structure filters without installing many extra tools.
[4] Closed-bar arrows
Benefit: you can review history with more confidence that old arrows stay where they were printed.
[5] Full alert set
Benefit: you do not need to stare at one chart. Popup, sound, phone push, and email can run together or separately.
[6] Broad market use
Benefit: one tool across FX, metals, indices, and crypto. Always retune filters per symbol and timeframe.
════════════════════════════════ FILTER MODULES EXPLAINED ════════════════════════════════
Every module below is OFF by default except where you enable it. Disabled filters use no extra condition.
► RSI Cross Filter
Looks for RSI leaving oversold for BUY or leaving overbought for SELL.
Use: mean-reversion confirmation with the MACD regime change.
► ADX Filter
Allows signals only if ADX is at or above your minimum.
Use: skip weak, sideways sessions.
► Single MA Filter
BUY only if close is above the MA. SELL only if close is below the MA.
Use: simple trend bias.
► Ichimoku Senkou Span B Filter
Compares close with Senkou Span B (the slower cloud boundary).
Use: longer-term cloud bias without a full Ichimoku overlay.
► RSI 75 Filter
Uses a longer RSI (default period 75). BUY if RSI > 50. SELL if RSI < 50.
Use: higher-timeframe-style momentum bias on the same chart.
► Double MA Filter
BUY if fast MA A is above slow MA B. SELL if MA A is below MA B.
Use: classic dual moving-average trend filter.
► Awesome Oscillator Filter
Optional sub-checks:
- Volume style : AO must be above a buy minimum or below a sell maximum
- Color style : AO rising for buy, falling for sell
- Zero style : AO rising and positive for buy; falling and negative for sell
Use: Bill Williams momentum confirmation.
► Parabolic SAR Filter
BUY if close is above SAR. SELL if close is below SAR.
Use: stop-style trend confirmation.
► Heiken Ashi Filter
Internal HA open/close. BUY on bullish HA candle. SELL on bearish HA candle.
Use: smoother candle bias.
► CCI Trend Filter
BUY if CCI > 0. SELL if CCI < 0.
Use: directional CCI regime.
► CCI OB and OS Filter
BUY if CCI is above the overbought level. SELL if CCI is below the oversold level.
Use: strong-momentum continuation, not classic fade. This is stricter than the trend CCI filter.
► RVI Trend Filter
BUY if RVI > 0. SELL if RVI < 0.
Use: relative vigor confirmation.
► RVI Signal Filter
BUY if RVI main > RVI signal. SELL if RVI main < RVI signal.
Use: RVI cross confirmation.
► MACD Signal Filter
A second MACD. BUY if its histogram is positive. SELL if negative.
Use: extra MACD momentum check, useful if the second MACD uses different periods.
► MACD Level 0 Filter
A second MACD main line. BUY if that MACD is above 0. SELL if below 0.
Use: dual-speed MACD agreement.
► Support and Resistance Filter
Builds a recent range high/low over SR_Period bars and requires price to touch a zone around support for BUY or resistance for SELL.
Use: zero-cross plus level reaction. Very selective.
► Fibonacci Filter
Finds recent swing high/low with Depth, Deviation, and Backstep, then builds a zone between two Fib ratios (default 0.382 and 0.618). Both sides need price to touch that zone.
Use: pullback-to-Fib context. If swings cannot be found, the signal is blocked.
Important: filters do not replace risk management. More filters mean fewer signals, not guaranteed accuracy.
════════════════════════════════ RECOMMENDED WAY TO USE ════════════════════════════════
Step 1. Attach the indicator to a clean chart.
Step 2. Leave all filters OFF and study raw zero-cross behavior.
Step 3. Add one trend filter first (Single MA, Double MA, ADX, or SAR).
Step 4. Add one momentum filter if needed (RSI 75, CCI, RVI, AO, second MACD).
Step 5. Add structure filters last (SR or Fibonacci) only if you want rare, location-based entries.
Step 6. Enable alerts after you accept the signal frequency on a demo chart.
Step 7. Trade your own plan: entry, stop, target, and size are not automated by this tool.
Practical notes:
- Lower timeframes need stronger filters or you will see many crosses.
- Gold and crypto often need wider SR zones and different AO thresholds than FX majors.
- Do not enable every filter at once. Start with 1 or 2.
- A good visual workflow is: higher-timeframe trend filter + current-timeframe zero cross.
- Histogram color fading after a signal can be used as a caution, not as an automatic exit.
Suggested starting combinations (examples only):
- Trend day trade : Double MA + ADX
- Pullback style : Single MA + Fibonacci
- Momentum style : RSI 75 + MACD Signal Filter
- Break of range : ADX + Parabolic SAR
- Conservative : Double MA + ADX + Heiken Ashi
════════════════════════════════ INPUT PARAMETERS ════════════════════════════════
--- MACD CORE --- FastEMA
Fast EMA period of the main MACD. Default 12. Lower = faster, more noise.
SlowEMA
Slow EMA period of the main MACD. Default 26. Must stay larger than FastEMA.
SignalSMA
Smoothing period of the signal line. Default 9.
AppliedPrice
Price used by the main MACD. Default PRICE_CLOSE.
--- ENTRY SIGNAL LEVEL 0 --- ArrowDistance
Offset of the arrow from high/low, in points. Default 30. Raise it on Gold/crypto if arrows sit on the wick.
ArrowSize
Arrow thickness. Range idea 1-5. Default 2.
BuyArrowColor / SellArrowColor
Arrow colors. Defaults Aqua and Red.
ShowArrows
true = draw arrows. false = histogram and lines only.
--- ALERT AND NOTIFICATION --- EnableAlert
true = terminal popup.
EnableSound
true = play a sound.
AlertSoundFile
File name inside the MT5 Sounds folder. Default alert.wav.
EnablePush
true = phone push. Enable Tools > Options > Notifications and set MetaQuotes ID.
EnableEmail
true = email. Enable Tools > Options > Email first.
Alerts are limited to one event per bar time and are intended for the bar that just closed.
--- RSI CROSS FILTER --- Use_RSI_Cross_Filter
Enable RSI leave-oversold / leave-overbought logic.
RSI_Length
RSI period for this module. Default 14.
RSI_Price_Source
Price for RSI. Default PRICE_CLOSE.
Oversold / Overbought
Default 30 and 70. BUY needs RSI to rise through Oversold. SELL needs RSI to fall through Overbought.
--- ADX FILTER --- Use_ADX_Filter
Enable ADX strength gate.
ADX_Period
Default 10.
ADX_Min_Level
Default 20. Both sides need ADX >= this value.
--- SINGLE MA FILTER --- Use_MA_Filter
Enable one moving average bias.
MA_Period / MA_Method / MA_Shift
Default 50, MODE_SMA, shift 0. Applied to close.
--- ICHIMOKU SENKOU SPAN B --- Use_Ichimoku_Filter
Enable close vs Senkou Span B.
Ichimoku_SenkouB
Span B period. Default 52.
Ichimoku_Kijun
Kijun period used when creating the Ichimoku handle. Default 26.
Tenkan is fixed at 9 inside the handle.
--- RSI 75 FILTER --- Use_RSI75_Filter
Enable long RSI 50-line bias.
RSI_Filter_Period
Default 75. BUY if value > 50, SELL if value < 50.
--- DOUBLE MA FILTER --- Use_DoubleMA_Filter
Enable MA A versus MA B.
MA_A_Period / MA_A_Method / MA_A_Applied / MA_A_Shift
Fast leg. Default 30, EMA, close, 0.
MA_B_Period / MA_B_Method / MA_B_Applied / MA_B_Shift
Slow leg. Default 140, EMA, close, 0.
--- AWESOME OSCILLATOR --- Use_AO_Filter
Master switch for AO.
Use_AO_Volume_Filter
AO must be >= AO_Buy_Min for buy or <= AO_Sell_Max for sell.
AO_Buy_Min / AO_Sell_Max
Default 4.0 and -4.0. Scale depends on the symbol. Adjust on Gold and indices.
Use_AO_Color_Filter
AO rising for buy, falling for sell.
Use_AO_Zero_Filter
AO rising and above 0 for buy; falling and below 0 for sell.
--- PARABOLIC SAR --- Use_SAR_Filter
Enable SAR side filter.
SAR_Step / SAR_Maximum
Default 0.02 and 0.2.
--- HEIKEN ASHI --- Use_HeikenAshi_Filter
Enable internal HA color filter. No extra period input.
--- CCI TREND --- Use_CCI_Filter
CCI above 0 / below 0.
CCI_Period / CCI_Applied
Default 50 and PRICE_CLOSE.
--- CCI OB AND OS --- Use_CCI_OBOS_Filter
Strict CCI extreme filter.
CCI_OBOS_Period / CCI_OBOS_Applied
Default 14 and PRICE_CLOSE.
CCI_Overbought / CCI_Oversold
Default 100 and -100.
--- RVI TREND --- Use_RVI_Filter
RVI above 0 / below 0.
RVI_Period
Default 75.
--- RVI SIGNAL --- Use_RVI_Signal_Filter
RVI main versus RVI signal line.
RVI_Signal_Period
Default 20.
--- MACD SIGNAL FILTER --- Use_MACD_Filter
Second MACD histogram sign.
MACD_FastEMA / MACD_SlowEMA / MACD_SignalSMA / MACD_Applied
Defaults 12, 26, 9, PRICE_CLOSE.
--- MACD LEVEL 0 FILTER --- Use_MACD_Zero_Filter
Second MACD main line above/below zero. Uses the same second-MACD handle as the module above.
--- SUPPORT AND RESISTANCE --- Use_SR_Filter
Enable recent-range touch filter.
SR_Period
Lookback bars for range high/low. Default 50.
SR_Zone_Points
Touch tolerance in points. Default 80. Increase on XAUUSD and indices.
--- FIBONACCI --- Use_Fib_Filter
Enable swing-based Fib zone touch.
Fib_Level_1 / Fib_Level_2
Default 0.382 and 0.618.
ZigZag_Depth / ZigZag_Deviation / ZigZag_Backstep
Swing search controls. Defaults 12, 5, 3.
Deviation is measured in points. Raise it on volatile symbols.
════════════════════════════════ INSTALLATION ════════════════════════════════
- Purchase or install from the MQL5 Market inside MetaTrader 5.
- Restart the terminal if the product does not appear at once.
- Open Navigator > Indicators > Market.
- Drag the indicator onto a chart.
- Allow DLL is not required. Enable alerts only if you need them.
- Press F5 or change timeframe once if objects do not refresh after a setting change.
On remove, the indicator deletes its own objects prefixed MACD0_BUY_ and MACD0_SELL_.
════════════════════════════════ GOOD PRACTICE AND LIMITS ════════════════════════════════
[+] Demo first on the symbol and timeframe you actually trade
[+] Keep a written rule for stop and target; this tool does not place them
[+] Recheck AO, SR, and Fib point-based inputs after you change broker digits or symbol
[+] News spikes can still print a valid-looking zero cross
[+] Historical arrows help study behavior; they are not a backtest report
[+] If no arrow appears, a filter is usually blocking the raw cross. Turn modules off one by one to find which one
This product does not guarantee profit, win rate, or future results. Markets change. You are responsible for every order.
════════════════════════════════ WHO IT IS FOR ════════════════════════════════
- Traders who already understand MACD and want a cleaner zero-line workflow
- Discretionary traders who like arrows plus optional confirmation
- System builders who want one chart tool instead of many separate indicators
- Scalpers to swing traders, after they retune filters to their timeframe
Not ideal as a fully automatic “set and forget” robot. It is an indicator.
════════════════════════════════ QUICK START PRESET IDEA ════════════════════════════════
ShowArrows = true
EnableAlert = true
Use_DoubleMA_Filter = true
MA_A_Period = 30 EMA
MA_B_Period = 140 EMA
Use_ADX_Filter = true
ADX_Min_Level = 20
All other filters = false
Watch 50 to 100 closed bars. If too many signals, raise ADX or add Heiken Ashi. If too few, drop ADX first.
════════════════════════════════ SUPPORT ════════════════════════════════
Questions, screenshot issues, and setting requests can be posted on the MQL5 product comments or via MQL5 messages. Describe symbol, timeframe, and which filters are enabled so the reply can be precise.
Updates follow the Market page. Read the “What’s new” tab after each version.
════════════════════════════════ DISCLAIMER ════════════════════════════════
Trading leveraged products involves substantial risk of loss. Past visual signals do not ensure future performance. Use proper position sizing and never risk capital you cannot afford to lose.
════════════════════════════════ THANK YOU ════════════════════════════════
Thank you for reading and for considering MACD Zero Cross Pro. Trade with a plan, test on demo, and use the filters as confirmation rather than as a shortcut.
Good luck on the charts.
