ADX Signal Arrows Multi Filter DI DI Index Level
- Indicadores
- Versão: 1.24
- Ativações: 5
════════════════ ADX SIGNAL ARROWS MULTIFILTER — NO REPAINT BUY SELL INDICATOR FOR MT5 ════════════════
Professional ADX +DI / −DI crossover arrows with 17 optional confirmation filters, closed-bar logic, and multi-channel alerts.
Turn raw directional movement into cleaner, filterable buy and sell arrows — without waiting for a second indicator window and without signals that jump after the candle has closed.
════════════════ PRODUCT TYPE ════════════════
• Platform : MetaTrader 5 (MT5) • Product type : Technical Indicator • Display : Chart window (ADX, +DI, −DI lines + buy/sell arrows) • Signal style : Arrow objects + indicator buffers • Repaint behavior : Designed as no-repaint on closed candles • Version : 1.24 • Markets : Forex, Gold, Indices, Crypto, Oil, Stocks — any MT5 symbol • Timeframes : All (M1 to MN). Best results usually M15–H4 after filter tuning • Skill level : Beginner to advanced (filters can be off or stacked) • Usage : Manual trading, signal confirmation, alert-based workflow • Not an Expert Advisor : This product does not open, close, or manage trades automatically
Recommended as a confirmation / timing tool, not as a standalone “always-in-market” system.
════════════════ WHO THIS INDICATOR IS FOR ════════════════
• Traders who like ADX / Directional Movement but want arrows on price, not only in a sub-window • Discretionary traders who want a core signal plus optional filters (trend, momentum, volatility, S/R, Fib) • Users who need alerts on phone, terminal, sound, or email when a closed bar confirms • Sellers / signal providers who want a modular toolkit instead of 10 separate indicators • Anyone tired of arrows that appear on the live candle and then disappear after close
If you want one core rule (+DI / −DI level break) and the freedom to tighten it, this is built for that workflow.
════════════════ CORE IDEA (READ THIS FIRST) ════════════════
The engine is simple and transparent:
- Calculate ADX, +DI, and −DI with your chosen period.
- BUY candidate : +DI crosses UP through the Level Threshold (default 25).
- SELL candidate : −DI crosses UP through the same Level Threshold.
- Every enabled filter must also agree.
- Arrow is drawn on that bar only after the logic runs on closed-bar data.
- Alert fires on the newly closed bar (optional anti-spam lock).
That is the whole product philosophy: Core ADX directional burst → optional multi-filter confirmation → visual arrow → notification.
You do not have to use every filter. In fact, you should not. Start with the core signal, then add 1–3 filters that match your style.
════════════════ UNIQUE VALUE (WHY THIS IS NOT “JUST ANOTHER ADX”) ════════════════
★ Closed-bar / no-repaint design Signals are evaluated from already-closed candles. The current forming bar is not used as a confirmed arrow. This is the difference between a live flicker and a usable signal.
★ Modular filter stack (17 confirmation modules) Each filter has its own ON/OFF switch. Combine trend + momentum + location (example: Double MA + MACD + Support/Resistance) or keep only ADX.
★ Chart-window workflow ADX, +DI, and −DI are plotted on the chart together with arrows, so you can watch the directional burst and the price action in one place.
★ Fixed Ichimoku Senkou Span B module Uses the official iIchimoku handle and Senkou Span B buffer (buffer 3), with Tenkan 9, Kijun and Senkou B periods you control. Price vs cloud-leading span is used as a trend-location filter.
★ Built-in Heiken Ashi engine No extra chart or custom HA indicator required. Bullish HA candle confirms buys; bearish HA candle confirms sells.
★ Location filters, not only oscillators Support/Resistance lookback zones and a Fibonacci 38.2–61.8 zone (from custom swing logic) let you demand that the ADX burst happens at a meaningful price area.
★ Multi-channel alerts with anti-duplicate lock Popup, sound, push notification, and email. Optional “new bar only” so one closed signal does not spam you every tick.
★ Arrow objects + buffers Arrows are created as chart objects (codes 233 / 234) and also written into buffers. Easy to see, hideable, and usable by EAs that read indicator buffers if you later build one.
★ One product instead of a folder of confirmations RSI, second ADX, MA, Ichimoku, Double MA, AO, SAR, HA, CCI, RVI, MACD, S/R, and Fib are already inside.
════════════════ WHAT YOU SEE ON THE CHART ════════════════
• DodgerBlue line : ADX (trend strength) • Aqua line : +DI (bullish directional pressure) • Red line : −DI (bearish directional pressure) • Lime up arrow (233) : Confirmed BUY after filters • Red down arrow (234): Confirmed SELL after filters
Arrow distance from high/low is set in points. Arrow width is set from 1–5.
Note: ADX / DI values live on a 0–100 scale. On a price chart they appear as overlay lines, not as a separate oscillator pane. Use them as a directional dashboard on price, not as a price-level tool.
════════════════ KEY FEATURES ════════════════
▸ ADX / +DI / −DI engine with custom period ▸ Level-cross signal (not a vague “ADX is high” guess) ▸ Buy and sell arrows under / above the candle ▸ 17 independent filters, all optional ▸ No-repaint logic on closed bars ▸ Popup / sound / push / email alerts ▸ New-bar anti-spam ▸ Custom buy/sell WAV files from the MT5 Sounds folder ▸ Works on every symbol and timeframe available in MT5 ▸ Clean input groups so you can enable only what you need
════════════════ SIGNAL LOGIC IN PLAIN LANGUAGE ════════════════
BUY is allowed only when ALL of the following are true: • +DI now is above InpLevel • +DI on the previous closed bar was at or below InpLevel • Every filter you enabled votes BUY • The bar being marked is a closed bar in the calculation loop
SELL is allowed only when: • −DI now is above InpLevel • −DI on the previous closed bar was at or below InpLevel • Every filter you enabled votes SELL • The bar is closed
If both sides fail or a required filter disagrees, no arrow is drawn.
This is a CROSS of +DI or −DI through a strength level. It is not “price crossed MA” and it is not “ADX above 25” by itself. The burst of directional pressure is the trigger; filters are the quality control.
════════════════ DETAILED FILTER MODULES AND BENEFITS ════════════════
- RSI CROSS FILTER Benefit: Avoids taking an ADX burst when momentum has not come from an extreme. BUY : RSI crosses up through Oversold (default 30). SELL : RSI crosses down through Overbought (default 70). Best for: Reversal-style entries after exhaustion.
- ADX FILTER (second ADX) Benefit: Requires a minimum trend strength from a separate ADX period. Rule : Filter ADX >= ADX_Min_Level (default 20) for both sides. Best for: Skipping dead, sideways markets.
- SINGLE MA FILTER Benefit: Simple trend bias. BUY : Close > MA SELL : Close < MA Best for: “Only with the 50 SMA” type discipline.
- ICHIMOKU SENKOU SPAN B FILTER Benefit: Location versus the slower cloud leading span. BUY : Close > Senkou Span B SELL : Close < Senkou Span B Best for: Higher-timeframe bias without drawing a full Ichimoku set by hand.
- RSI 75 FILTER Benefit: Slow RSI regime filter (default period 75). BUY : RSI75 > 50 SELL : RSI75 < 50 Best for: Staying on the dominant momentum side instead of every wiggle.
- DOUBLE MA FILTER Benefit: Fast vs slow average regime (default 30 EMA vs 140 EMA). BUY : MA A > MA B SELL : MA A < MA B Best for: Swing traders who only want signals in a clear moving-average trend.
- AWESOME OSCILLATOR FILTER Benefit: Bill Williams momentum with three optional sub-rules. • Volume rule : AO >= AO_Buy_Min for buys, AO <= AO_Sell_Max for sells • Color rule : AO rising for buys, falling for sells • Zero rule : Rising and above 0 for buys; falling and below 0 for sells Best for: Momentum confirmation. Enable only the sub-rules you actually want.
- PARABOLIC SAR FILTER Benefit: Classic stop-and-reverse side filter. BUY : Close > SAR SELL : Close < SAR Best for: Trend-following and trailing-bias confirmation.
- HEIKEN ASHI FILTER Benefit: Smooth candle color without attaching another indicator. BUY : HA Close > HA Open SELL : HA Close < HA Open Best for: Filtering choppy raw candles.
- CCI TREND FILTER Benefit: Commodity Channel Index above/below zero as a trend vote. BUY : CCI > 0 SELL : CCI < 0 Best for: Medium-period trend confirmation (default 50).
- CCI OB & OS FILTER Benefit: Extreme CCI only. BUY : CCI > Overbought (default +100) SELL : CCI < Oversold (default −100) Best for: Momentum breakout style, not mean-reversion (read that again).
- RVI TREND FILTER Benefit: Relative Vigor Index sign. BUY : RVI > 0 SELL : RVI < 0 Best for: Long-period energy of the move (default 75).
- RVI SIGNAL FILTER Benefit: RVI line versus its signal line. BUY : RVI Main > RVI Signal SELL : RVI Main < RVI Signal Best for: Timing inside an RVI regime.
- MACD SIGNAL FILTER (histogram) Benefit: MACD main minus signal. BUY : Histogram > 0 SELL : Histogram < 0 Best for: Standard momentum alignment.
- MACD LEVEL 0 FILTER Benefit: MACD main line versus the zero line. BUY : MACD Main > 0 SELL : MACD Main < 0 Best for: Higher-level bull/bear regime.
- SUPPORT & RESISTANCE FILTER Benefit: Demand that the signal prints near a recent swing zone. Looks back SR_Period bars, finds lowest low (support) and highest high (resistance), then builds a zone of SR_Zone_Points. BUY : Candle touches the support zone SELL : Candle touches the resistance zone Best for: ADX bursts at the edge of the recent range.
- FIBONACCI FILTER Benefit: Price must interact with the 38.2–61.8 band of the latest swing pair. Swings are found with Depth / Deviation / Backstep logic similar in spirit to ZigZag. BUY and SELL both require the candle to overlap that Fib zone. Best for: Pullback-to-zone entries rather than random mid-range bursts.
Important: Filters are AND conditions. The more you enable, the fewer arrows you get. That is a feature, not a bug.
════════════════ ALERTS AND NOTIFICATIONS ════════════════
When a BUY or SELL arrow is confirmed on the last closed bar:
• Popup alert in the terminal • Sound file (separate buy / sell WAV) • Push notification to the MetaQuotes ID on your phone • Email (if SMTP is configured in Tools > Options)
Anti-spam: If Alert_On_NewBarOnly = true, the same side will not alert twice for the same bar time.
Message format includes side (BUY/SELL), symbol, timeframe, price, and bar time.
════════════════ NO-REPAINT POLICY (HONEST) ════════════════
• Confirmed arrows are calculated on closed bars. • Alerts are tied to the newly closed bar after the indicator has already been calculated at least once (prev_calculated > 0). • Historical arrows are stored as objects named ADX_BUY_ / ADX_SELL_ + date-time, so they are not rebuilt as flickering live guesses. • Like almost every MT5 indicator, values on the current forming candle can still change until that candle closes. Do not treat the live bar as a signal. • Support/Resistance and Fibonacci use lookback / swing logic. That is confirmation of location on closed data, not a crystal ball.
Trade the closed arrow, not the tick that is still printing.
════════════════ FULL INPUT GUIDE (EVERY VARIABLE) ════════════════
──────── ADX SIGNAL SETTINGS ──────── InpPeriod (default 5) ADX / +DI / −DI period. Smaller = faster, more arrows, more noise. Larger = slower, fewer arrows. 5 is aggressive; 14 is classic; 21 is conservative.
InpLevel (default 25.0) The +DI / −DI threshold that must be crossed upward. 20 = earlier. 25 = standard strength. 30–35 = only stronger bursts.
InpArrowDistance (default 30) Offset of the arrow from the candle low (buy) or high (sell), in points. Increase on gold / crypto / high-digit symbols if arrows sit on top of wicks.
InpArrowSize (default 2) Visual thickness of the arrow object, intended range 1–5.
──────── RSI CROSS FILTER ──────── Use_RSI_Cross_Filter (false) Master switch.
RSI_Length (14) RSI period used for the cross rule (and also created when RSI75 module is on).
RSI_Price_Source (PRICE_CLOSE) Applied price: Close is standard.
Oversold (30.0) BUY requires RSI to cross up through this level.
Overbought (70.0) SELL requires RSI to cross down through this level.
──────── ADX FILTER ──────── Use_ADX_Filter (false) Master switch for a second ADX.
ADX_Period (10) Independent from InpPeriod so you can signal on fast DI and filter on a different strength window.
ADX_Min_Level (20.0) Minimum ADX value required for both buy and sell. Raise to 25–30 to skip weak trends.
──────── SINGLE MA FILTER ──────── Use_MA_Filter (false)
MA_Period (50) Lookback of the bias average.
MA_Method (MODE_SMA) SMA, EMA, SMMA, or LWMA.
MA_Shift (0) Forward/back shift of the average. Keep 0 unless you know why you want a shift.
──────── ICHIMOKU SENKOU SPAN B FILTER ──────── Use_Ichimoku_Filter (false)
Ichimoku_SenkouB (52) Senkou Span B period (classic 52).
Ichimoku_Kijun (26) Kijun-sen period passed into iIchimoku. Tenkan is fixed at 9 inside the code (classic Ichimoku). Filter uses Senkou Span B: price above = buy bias, price below = sell bias.
──────── RSI 75 FILTER ──────── Use_RSI75_Filter (false)
RSI_Filter_Period (75) Slow RSI. Above 50 = buy bias, below 50 = sell bias. This is a regime filter, not an oversold cross.
──────── DOUBLE MA FILTER ──────── Use_DoubleMA_Filter (false)
MA_A_Period / MA_A_Method / MA_A_Applied / MA_A_Shift Fast line (default 30 EMA on Close, shift 0).
MA_B_Period / MA_B_Method / MA_B_Applied / MA_B_Shift Slow line (default 140 EMA on Close, shift 0).
Buy only if A is above B. Sell only if A is below B.
──────── AWESOME OSCILLATOR FILTER ──────── Use_AO_Filter (false) Must be true before any AO sub-rule matters.
Use_AO_Volume_Filter (false) Requires AO >= AO_Buy_Min (4.0) for buys and AO <= AO_Sell_Max (−4.0) for sells. Units follow the AO scale of the symbol. Tune per instrument (Gold is not EURUSD).
Use_AO_Color_Filter (false) Buy if AO is rising versus previous bar. Sell if AO is falling.
Use_AO_Zero_Filter (false) Buy if AO is rising and positive. Sell if AO is falling and negative.
You may combine the three sub-rules. All enabled sub-rules must pass.
──────── PARABOLIC SAR FILTER ──────── Use_SAR_Filter (false)
SAR_Step (0.02) Acceleration factor. Smaller = slower SAR, fewer flips.
SAR_Maximum (0.2) Cap on acceleration. Classic 0.2.
──────── HEIKEN ASHI FILTER ──────── Use_HeikenAshi_Filter (false) No extra parameters. Internal HA open/close series. Buy on bullish HA candle, sell on bearish HA candle of the same bar.
──────── CCI TREND FILTER ──────── Use_CCI_Filter (false)
CCI_Period (50) Longer than the classic 14 on purpose — this module is a trend vote.
CCI_Applied (PRICE_CLOSE) Applied price for CCI.
──────── CCI OB & OS FILTER ──────── Use_CCI_OBOS_Filter (false)
CCI_OBOS_Period (14) Classic CCI length.
CCI_OBOS_Applied (PRICE_CLOSE)
CCI_Overbought (100.0) Buy requires CCI above this (momentum already stretched up).
CCI_Oversold (−100.0) Sell requires CCI below this.
Do not confuse this with a fade-the-extreme filter. It confirms extremes, it does not fade them.
──────── RVI TREND FILTER ──────── Use_RVI_Filter (false)
RVI_Period (75) Sign of RVI only.
──────── RVI SIGNAL FILTER ──────── Use_RVI_Signal_Filter (false)
RVI_Signal_Period (20) Compares RVI main line to its signal line.
──────── MACD SIGNAL FILTER ──────── Use_MACD_Filter (false)
MACD_FastEMA (12) MACD_SlowEMA (26) MACD_SignalSMA (9) MACD_Applied (PRICE_CLOSE)
Histogram = MACD Main − Signal. Buy if histogram positive, sell if negative.
──────── MACD LEV 0 FILTER ──────── Use_MACD_Zero_Filter (false) Uses the same MACD handle. Buy if MACD Main > 0, sell if MACD Main < 0. Can be combined with the histogram filter for stricter MACD alignment.
──────── SUPPORT & RESISTANCE FILTER ──────── Use_SR_Filter (false)
SR_Period (50) How many completed bars to scan for the lowest low and highest high.
SR_Zone_Points (80) Thickness of the touch zone, in points. Increase on XAUUSD / BTC / JPY pairs if touches never trigger. Decrease if almost every bar “touches.”
BUY needs a support touch (including wicks that pierce the level). SELL needs a resistance touch.
──────── FIBONACCI FILTER ──────── Use_Fib_Filter (false)
Fib_Level_1 (0.382) Fib_Level_2 (0.618) The band between these retracement ratios of the latest swing pair.
ZigZag_Depth (12) How many bars on each side a peak/valley must dominate to count as a swing.
ZigZag_Deviation (5) Minimum improvement versus the previous swing, in points.
ZigZag_Backstep (3) Minimum bar distance between accepted swings.
If no valid swing pair is found, both sides are rejected for that bar.
──────── ALERT & NOTIFICATION ──────── Use_Popup_Alert (true) Terminal Alert() window.
Use_Sound_Alert (true) Plays a WAV from the MT5 Sounds folder.
Sound_Buy_File ("alert.wav") Sound_Sell_File ("alert2.wav") Change names if you drop custom files into /Sounds/.
Use_Push_Notify (true) Requires MetaQuotes ID in the terminal (Tools > Options > Notifications).
Use_Email_Alert (false) Requires email settings in Tools > Options > Email.
Alert_On_NewBarOnly (true) Keep true unless you fully understand tick-level repeat risk.
════════════════ HOW TO INSTALL ════════════════
- Open MetaTrader 5.
- File → Open Data Folder → MQL5 → Indicators.
- Copy the .ex5 / .mq5 file into that folder (or use Market install if purchased from MQL5 Market).
- Restart MT5 or right-click Navigator → Indicators → Refresh.
- Drag “ADX Signal MultiFilter NoRepaint” onto the chart.
- Allow DLL only if your terminal asks and your setup requires it (this code uses standard built-in indicators; no external DLL trading).
- Enable push/email in Tools > Options if you want those channels.
════════════════ RECOMMENDED FIRST SETUP (DO THIS BEFORE YOU COMPLAIN ABOUT “TOO MANY / TOO FEW ARROWS”) ════════════════
Step 1 — Core only Turn every Use_* filter OFF. Leave InpPeriod = 5 or try 14. Leave InpLevel = 25. Watch 200–500 historical bars. Learn how often raw DI-level crosses appear on YOUR symbol.
Step 2 — Add one trend filter Pick ONE: • Single MA 50, or • Double MA 30/140, or • Ichimoku Senkou B, or • SAR, or • Heiken Ashi
Step 3 — Add one momentum filter Pick ONE: • ADX Filter (min 20–25), or • MACD histogram, or • RSI75 >50 / <50, or • RVI sign
Step 4 — Optional location filter Only if you want fewer, location-based shots: • S/R zone, or • Fibonacci 38.2–61.8
Step 5 — Alerts Keep Alert_On_NewBarOnly = true. Test popup + sound first. Add push after you trust the setup.
Never enable all 17 filters at once. You will get almost zero arrows and think the product is broken.
════════════════ EXAMPLE PRESETS (STARTING POINTS, NOT HOLY GRAIL) ════════════════
Scalp / M5–M15 • InpPeriod 5, InpLevel 20–25 • Heiken Ashi ON • ADX Filter ON (period 10, min 18–22) • Optional: SAR ON
Intraday / M15–H1 • InpPeriod 14, InpLevel 25 • Double MA 30 EMA / 140 EMA ON • MACD histogram ON • Optional: RSI75 ON
Swing / H1–H4 • InpPeriod 14–21, InpLevel 25–30 • Ichimoku Senkou B ON • ADX Filter min 25 • S/R or Fib ON if you only want reactions at zones
Gold / high volatility • Increase InpArrowDistance • Increase SR_Zone_Points (150–400+ depending on digits) • Recalibrate AO_Buy_Min / AO_Sell_Max; default 4.0 / −4.0 is not universal
════════════════ HOW TO TRADE THE ARROWS (PRACTICAL) ════════════════
- Wait for the candle to close with an arrow.
- Read the ADX line: rising ADX after the cross is healthier than a dying ADX.
- Check that +DI is still above −DI for buys (and the opposite for sells) if you want extra discretion.
- Place your own stop beyond the signal candle or beyond SAR / swing — this indicator does not calculate SL/TP.
- Manage risk per trade. Arrows are timing aids, not position-size advice.
- If filters are tight, treat each arrow as a higher-quality setup and avoid forcing extra entries.
Invalidation ideas (your rules, not built-in): • Opposite arrow • Close back through the signal MA / Senkou B / SAR • ADX rolling over while price stalls
════════════════ WHAT THIS PRODUCT DOES NOT DO ════════════════
• It does not auto-trade. • It does not guarantee profit. • It does not predict news spikes. • It does not replace a stop loss. • It does not keep a trade journal for you. • It does not draw the full Ichimoku set (Tenkan, Kijun, cloud fill) — only Senkou B is used as a filter. • It does not use the official MetaTrader ZigZag indicator; Fib swings are computed internally.
════════════════ COMPATIBILITY AND PERFORMANCE ════════════════
• MT5 builds that support standard iADX, iRSI, iMA, iIchimoku, iAO, iSAR, iCCI, iRVI, iMACD • Handles are created only for filters you enable, then released on Deinit • Objects are prefixed ADX_BUY_ and ADX_SELL_ and cleaned on remove • First load on a long history may take a moment because buffers and optional HA series are filled • Tester / visual mode: judge signals on closed bars only
════════════════ RISK DISCLAIMER ════════════════
Trading leveraged markets involves substantial risk of loss. Past arrows on a chart are not future results. Backtest visually, forward-test on demo, and use position size you can survive. The author is not responsible for trading losses, missed alerts caused by terminal settings, or internet / VPS disconnection.
This description explains the logic inside the indicator. It is not financial advice.
════════════════ QUICK SPEC SHEET ════════════════
Name concept : ADX Signal Arrows MultiFilter No-Repaint Platform : MetaTrader 5 Window : Chart Plots : ADX, +DI, −DI Signals : Buy arrow + Sell arrow Core trigger : +DI / −DI upward cross of Level Filters : 17 optional modules Alerts : Popup, sound, push, email Anti-repaint : Closed-bar calculation + new-bar alert lock Inputs : Grouped, documented, default filters OFF Alerts default : Popup / sound / push ON, email OFF
════════════════ SUPPORT AFTER PURCHASE ════════════════
After you install: • Attach a screenshot of inputs + chart if a filter behaves unexpectedly on a specific symbol • Tell the symbol, timeframe, and which Use_* switches are true • Remember AO, S/R points, and arrow distance are symbol-digit sensitive
Most “no arrows” cases are: too many filters ON, Fib swings not found, S/R zone too tight, or AO thresholds copied from another market.
Most “too many arrows” cases are: all filters OFF + InpPeriod 5 + InpLevel 20 on M1.
Tune one variable at a time.
════════════════ THANK YOU ════════════════
Thank you for reading and for supporting this ADX Signal Arrows MultiFilter build. Trade the closed bar, keep the stack simple, and protect every position.
Good luck and good fills.
