Divergence Detector (MACD + Volume)Divergence Detector (MACD + Volume Confirmation)
This indicator automatically detects bullish and bearish divergences between price and MACD, enhanced with volume confirmation to filter out weak signals.
🔹 Core Logic
Pivot Detection:
The script identifies swing highs and lows (pivots) using customizable left/right lookback values.
Bullish Divergence:
Occurs when price makes a lower low, but MACD makes a higher low.
A label "Bull Div" appears below the bar; if confirmed by high volume, it shows "Bull Div 🔥".
Bearish Divergence:
Occurs when price makes a higher high, but MACD makes a lower high.
A label "Bear Div" appears above the bar; if confirmed by high volume, it shows "Bear Div 📉".
Volume Confirmation:
The indicator checks whether the volume at the pivot bar is above the moving average of volume (customizable length).
This ensures that divergence signals are backed by strong market participation.
Inputs
MACD Fast/Slow/Signal Length – standard MACD parameters
Pivot Lookback Left/Right – defines the swing structure sensitivity
Volume MA Length – defines how volume strength is validated
Output
Labels:
🔹 Bull Div / Bull Div 🔥 → Bullish divergence (confirmed with volume)
🔹 Bear Div / Bear Div 📉 → Bearish divergence (confirmed with volume)
Tips
Works best on higher timeframes and trending markets.
Volume confirmation helps filter false divergences in low liquidity conditions.
Combine with trend or structure indicators for better trade setups.
----------------------------------------------------------------------------------------------
اندیکاتور شناسایی واگرایی MACD با تأیید حجم
این اندیکاتور بهصورت خودکار واگراییهای صعودی و نزولی بین قیمت و MACD را شناسایی کرده و با استفاده از تأیید حجم (Volume Confirmation) سیگنالهای ضعیف را فیلتر میکند.
🔹 منطق عملکرد
شناسایی پیوتها:
نقاط چرخش (سقف و کف) با استفاده از تعداد کندلهای قابل تنظیم در دو سمت شناسایی میشوند.
واگرایی صعودی (Bullish):
زمانی که قیمت کف پایینتر و MACD کف بالاتر میسازد.
برچسب "Bull Div" در زیر کندل نمایش داده میشود؛ اگر حجم بالا باشد، با علامت 🔥 مشخص میگردد.
واگرایی نزولی (Bearish):
زمانی که قیمت سقف بالاتر و MACD سقف پایینتر میسازد.
برچسب "Bear Div" در بالای کندل نمایش داده میشود؛ اگر حجم بالا باشد، با 📉 مشخص میگردد.
تأیید حجم:
اگر حجم در کندل پیوت بالاتر از میانگین متحرک حجم باشد، سیگنال معتبرتر در نظر گرفته میشود.
تنظیمات ورودی
تنظیمات MACD (Fast, Slow, Signal)
پارامترهای شناسایی پیوت (Left / Right)
طول میانگین متحرک حجم (Volume MA Length)
خروجیها
Bull Div 🔥 / Bear Div 📉 برای واگراییهای تأییدشده با حجم
Bull Div / Bear Div برای واگراییهای بدون تأیید حجم
نکات کاربردی
بهترین عملکرد در تایمفریمهای بالا و بازارهای دارای روند
تأیید حجم به حذف سیگنالهای اشتباه در شرایط حجم پایین کمک میکند
برای دقت بیشتر، آن را با اندیکاتورهای روند یا ساختار ترکیب کنید
⚠️ Disclaimer:
This script is provided for educational and informational purposes only.
It does not constitute financial advice, and the author is not responsible for any financial losses caused by its use.
Always confirm signals with your own analysis and other tools before making trading decisions.
⚠️ توجه:
این اسکریپت صرفاً جهت آموزش و اطلاعرسانی طراحی شده و توصیه مالی یا سرمایهگذاری محسوب نمیشود.
نویسنده مسئول هیچگونه ضرر یا زیان احتمالی ناشی از استفاده از آن نیست.
لطفاً پیش از هر تصمیم معاملاتی، تحلیل شخصی خود را انجام داده و از این ابزار در کنار سایر ابزارهای تحلیل و مدیریت ریسک استفاده کنید.
Macd-v
Dual MACD AccelerationDual MACD Acceleration Indicator – Synopsis
Purpose:
This indicator identifies early momentum shifts in the market by comparing a fast MACD (8/20/6) with a slower MACD (12/26/9). It highlights potential strong buy and sell signals when the faster MACD crosses the slower MACD, allowing traders to catch trend accelerations before the full move develops.
Components
Fast MACD (8/20/6)
Responds quickly to short-term price changes.
Detects early momentum shifts.
Slow MACD (12/26/9)
Captures the dominant trend.
Provides a smoother reference for comparison.
Acceleration Signals
Long (▲): Fast MACD crosses above Slow MACD → potential bullish acceleration.
Short (▼): Fast MACD crosses below Slow MACD → potential bearish acceleration.
Zero Line
Optional visual reference for overall trend direction.
Crosses above zero = bullish trend, below zero = bearish trend.
Key Features
Clean, minimal chart display.
Optional toggles to show/hide each MACD line.
Label markers indicate crossovers.
Built-in alert conditions for automated notifications.
Trading Use
Trend Confirmation:
Best used with higher timeframe filters (VWAP or EMAs) to avoid fakeouts.
Entry Timing:
Enter on the first pullback after a crossover signal.
Only trade in the direction of the dominant trend.
Stops & Risk:
Use recent swing lows/highs for stop placement.
TP levels can be structure-based or trailing with price momentum.
Synopsis Summary:
The Dual MACD Acceleration Indicator is a lightweight, early-momentum tool designed for scalpers and short-term traders. It captures fast shifts in trend by comparing a faster and slower MACD, highlighting strong buy and sell opportunities while remaining clean and easy to read. For higher accuracy, combine with trend filters like VWAP or EMAs.
Dual MACD📘 Dual MACD — Synopsis
The Dual MACD indicator displays two separate MACD systems inside the same pane, allowing traders to compare fast and slow momentum behavior simultaneously.
What It Includes
Two fully adjustable MACDs
MACD 1 default: 12 / 12 / 9
MACD 2 default: 8 / 20 / 6
Show/Hide Toggles so each MACD can be viewed independently or together.
MACD Lines, Signal Lines, and Histograms for both systems.
Clean layout with a compact panel title: “MACD x2”
What It Helps You See
Short-term vs. longer-term momentum shifts
Faster MACD reacting to quick trend changes
Slower MACD confirming or filtering signals
Trend strength, momentum acceleration, and crossover behavior in a single pane
Why It’s Useful
The Dual MACD gives you momentum confirmation, fakeout filtering, and multi-speed trend insight—making it valuable for scalpers, intraday traders, and swing traders who want to reduce noise and improve signal quality.
Divergence Scanner
Scanner and Indication (Divergence Scanner & Signal)An advanced experimental indicator designed to detect instances of Divergence between price action and key oscillator metrics (e.g., RSI or MACD).The primary function of this script is for Screener use. It plots a numerical value (a value greater than zero) on the chart when a confirmed bullish or bearish divergence signal appears."
MACD Momentum Structure & Wedge Sniper [MTF]🚀 MACD Market Structure: The All-in-One System
This tool automates institutional price action analysis by filtering market noise using MACD momentum rather than simple candle wicks.
🔥 Key Features
Noise-Free Structure: Identifies true Swing Highs (SH) and Swing Lows (SL) based on MACD peaks, ignoring fake-outs.
Auto-Trendlines: Automatically draws purple trendlines connecting recent swings to visualize Wedges, Triangles, and Squeezes in real-time.
Smart Zones: On a trend change (CHoCH), it automatically draws the Fixed Range Volume Profile to highlight the "Point of Control" (Institutional Entry Level).
"Sniper" Entries: Signals entries only when price retests a Zone AND momentum confirms it on a lower timeframe (e.g., M1 crossover).
MTF Dashboard: Monitors trends across 4 timeframes simultaneously so you never trade against the higher timeframe.
Patrice - GC M1 Bot (MACD EMA RSI)//@version=6
indicator("Patrice - GC M1 Bot (MACD EMA RSI)", overlay = true)
//----------------------
// Inputs (optimisés GC)
//----------------------
emaLenFast = input.int(9, "EMA rapide")
emaLenSlow = input.int(14, "EMA lente")
rsiLen = input.int(14, "RSI length")
atrLen = input.int(14, "ATR length")
volLen = input.int(20, "Volume moyenne")
slMult = input.float(0.4, "SL = ATR x", step = 0.1)
tpMult = input.float(0.7, "TP = ATR x", step = 0.1)
minAtr = input.float(0.7, "ATR minimum pour trader", step = 0.1)
maxDistEmaPct = input.float(0.3, "Distance max EMA9 (%)", step = 0.1)
//----------------------
// Indicateurs
//----------------------
ema9 = ta.ema(close, emaLenFast)
ema14 = ta.ema(close, emaLenSlow)
= ta.macd(close, 12, 26, 9)
hist = macdLine - signalLine
rsi = ta.rsi(close, rsiLen)
atr = ta.atr(atrLen)
volMa = ta.sma(volume, volLen)
//----------------------
// Session 9:30 - 11:00 (NY)
//----------------------
hourSession = hour(time, "America/New_York")
minuteSession = minute(time, "America/New_York")
inSession = (hourSession == 9 and minuteSession >= 30) or
(hourSession > 9 and hourSession < 11) or
(hourSession == 11 and minuteSession == 0)
//----------------------
// Filtres vol / ATR / distance EMA
//----------------------
volFilter = volume > volMa
atrFilter = atr > minAtr
distEmaPct = math.abs(close - ema9) / close * 100.0
distFilter = distEmaPct < maxDistEmaPct
//----------------------
// Tendance
//----------------------
bullTrend = close > ema9 and close > ema14 and ema9 > ema14
bearTrend = close < ema9 and close < ema14 and ema9 < ema14
//----------------------
// MACD : 2e barre
//----------------------
bullSecondBar = hist > 0 and hist > 0 and hist <= 0
bearSecondBar = hist < 0 and hist < 0 and hist >= 0
//----------------------
// Filtres RSI
//----------------------
rsiLongOk = rsi < 70 and rsi >= 45 and rsi <= 65
rsiShortOk = rsi > 30 and rsi >= 35 and rsi <= 55
//----------------------
// Gestion du risque (simple pour l'instant)
//----------------------
canTradeRisk = true
//----------------------
// Conditions d'entrée
//----------------------
longCond = bullTrend and bullSecondBar and rsiLongOk and inSession and volFilter and atrFilter and distFilter and canTradeRisk
shortCond = bearTrend and bearSecondBar and rsiShortOk and inSession and volFilter and atrFilter and distFilter and canTradeRisk
//----------------------
// SL / TP (info seulement, pas d'ordres)
//----------------------
slPoints = atr * slMult
tpPoints = atr * tpMult
longSL = close - slPoints
longTP = close + tpPoints
shortSL = close + slPoints
shortTP = close - tpPoints
//----------------------
// Visuels
//----------------------
plot(ema9, title = "EMA 9")
plot(ema14, title = "EMA 14")
plotshape(longCond, title = "Signal Long", style = shape.triangleup, location = location.belowbar, size = size.tiny, text = "L")
plotshape(shortCond, title = "Signal Short", style = shape.triangledown, location = location.abovebar, size = size.tiny, text = "S")
//----------------------
// Conditions d'ALERTE
//----------------------
alertcondition(longCond, title = "ALERTE LONG", message = "Signal LONG Patrice GC bot")
alertcondition(shortCond, title = "ALERTE SHORT", message = "Signal SHORT Patrice GC bot")
BTC 30 m Long singal Asset: Bitcoin only
Timeframe: 30 minutes
Entry Conditions (Long):
MACD histogram turns from red to green (negative to positive)
Stochastic K line crosses above D line AND this crossover happens below the lower band (20)
RSI is above the middle band (50)
Project 1 - Complete with CMF and All IndicatorsProject 1 – Multi-Indicator Suite
This script combines several widely-used technical indicators into a single visual framework.
It is designed to help traders track momentum, trend strength, volume behavior, and money flow without switching between multiple tools.
Included components:
• MACD with dynamic color changes
• RSI with percentage change and directional marker
• ADX with trend-strength shading and Δ% calculation
• CMF (Chaikin Money Flow) with positive/negative flow tracking
• Volume Oscillator for short–long volume pressure
• Auto-updated labels for RSI, ADX, and CMF
• Lightweight visual lines to show momentum changes
Use cases:
• Trend confirmation
• Momentum diagnostics
• Volume-based pressure analysis
• Money-flow direction and strength
• Multi-factor confluence without indicator stacking
This tool does not generate buy/sell signals and does not imply trading outcomes.
It is a visual analytics suite built for discretionary technical analysis.
Dual MACD With Pilot Background + + Stoch RSI Alert HELL 2macd 1 chart time macd 2 4x chart time with over bought and over sold stoc rsi alerts
MACD FROM HELLthis is a double macd with 2 time frames macd 1 is chart macd 4 is 4X meaning the 1hr becomes the 4hr and it uses the histogram coloring for added detail ,, on top of that it has stochastic rsi Alerts set to trigger when k line goes above 99.9 or below 0.01 and exits ,, alert triggers on exit
WTC Step Buy Step Edition CbyCarlo📊 WT Cross Modified – Step Buy Step Edition (v4)
WTC_StepBuyStep_Edition is an enhanced, practical, and optimized version of the classic WaveTrend (WT) Cross Indicator.
Developed for the Step Buy Step project, this tool helps traders identify market momentum shifts, structural price zones, and potential reversal areas with high clarity and precision.
🔍 Concept & Purpose
This indicator builds upon the established WaveTrend / LazyBear logic and extends it with additional structural intelligence.
The goal is to make overbought/oversold phases and trend reversals easier to spot — while also highlighting historically validated price zones where the market has previously reacted strongly.
⚙️ Key Features
1️⃣ WT Cross Signals
WT1 (yellow) and WT2 (purple) visualize market momentum.
A WT1 cross above WT2 while below the Oversold zone (−53) can indicate potential Long opportunities.
A WT1 cross below WT2 while above the Overbought zone (+53) can indicate potential Short opportunities.
Signals only confirm after candle close to prevent repainting.
2️⃣ Dynamic “WT SignalZone” Panel
Displayed in the top-right corner, this panel shows the last three valid price levels derived from WT signals:
🟢 LonLev – Buy support levels from previous WT Long signals
🔴 ShoLev – Sell resistance levels from previous WT Short signals
These zones act as objective support/resistance structures, based on historical momentum turning points — not subjective lines.
3️⃣ Flexible Calculation Modes
Choose how levels are derived from each WT signal:
Pullback 50% → Midpoint of the signal candle (high+low)/2
Close → Close price of the signal candle
Next Open → Open of the following bar (ideal for system testing)
📈 How to Interpret the Indicator
Market Condition WT Event Meaning
WT1 < −53 & CrossUp Long Signal Potential reversal / buy zone
WT1 > +53 & CrossDown Short Signal Potential exhaustion / sell zone
Price revisits LonLev Support Re-entry or bounce zone
Price revisits ShoLev Resistance Profit-taking or short setup zone
This makes the tool highly effective for:
Swing traders
Zone-based trading strategies
Systematic re-entries
Identifying structural turning points
🧠 Advantages
No repainting (signals confirmed only after bar close)
Works on all timeframes (from intraday to weekly)
Clean overview without clutter or excessive chart markers
Excellent as a filter to confirm market context
💬 Best Use Case
Use WTC_StepBuyStep_Edition as a contextual confirmation tool.
It does not replace a full trading system — but it gives you objective, repeatable, and statistically relevant zones where the market has reacted before.
Combine it with price action, volume analysis, or trend tools for even stronger setups.
© Step Buy Step • Step-Buy-Step.com
Educational trading tool intended for market analysis.
Not financial advice.
MTF MACD – 1m / 15m / 1D / 1W//@version=6
indicator("MTF MACD – 1m / 15m / 1D / 1W", overlay=false)
// MACD inputs
fastLen = input.int(12, "Fast length")
slowLen = input.int(26, "Slow length")
signalLen = input.int(9, "Signal length")
// Multi-timeframe MACD using built-in ta.macd()
= request.security(syminfo.tickerid, "1", ta.macd(close, fastLen, slowLen, signalLen))
= request.security(syminfo.tickerid, "15", ta.macd(close, fastLen, slowLen, signalLen))
= request.security(syminfo.tickerid, "D", ta.macd(close, fastLen, slowLen, signalLen))
= request.security(syminfo.tickerid, "W", ta.macd(close, fastLen, slowLen, signalLen))
// Plot MACD lines for each timeframe
plot(macd_1m, title="MACD 1m", color=color.red, linewidth=2)
plot(macd_15m, title="MACD 15m", color=color.blue, linewidth=2)
plot(macd_1d, title="MACD 1D", color=color.green, linewidth=2)
plot(macd_1w, title="MACD 1W", color=color.orange, linewidth=2)
// (Optional) you can uncomment these if you also want signals/histograms:
// plot(signal_1m, title="Signal 1m", color=color.new(color.red, 50), style=plot.style_dotted)
// plot(signal_15m, title="Signal 15m", color=color.new(color.blue, 50), style=plot.style_dotted)
// plot(signal_1d, title="Signal 1D", color=color.new(color.green, 50), style=plot.style_dotted)
// plot(signal_1w, title="Signal 1W", color=color.new(color.orange, 50), style=plot.style_dotted)
// plot(hist_1m, title="Hist 1m", color=color.red, style=plot.style_histogram)
// plot(hist_15m, title="Hist 15m", color=color.blue, style=plot.style_histogram)
// plot(hist_1d, title="Hist 1D", color=color.green, style=plot.style_histogram)
// plot(hist_1w, title="Hist 1W", color=color.orange, style=plot.style_histogram)
MACD Trend & Momentum Dashboard (Weighted, 3 TFs)This indicator provides a multi-timeframe MACD trend and momentum dashboard that works independently of your current chart timeframe. It displays MACD zero-line bias and MACD-vs-Signal trend state across three user-selectable timeframes, using clear color-coded cells for instant visual interpretation. A weighted scoring system combines all six signals into a single market bias classification (Strong Bullish → Strong Bearish). This helps traders quickly understand higher- and lower-timeframe alignment, market regime, and overall trend quality. Ideal for trend- and momentum-followers who want a clean, actionable market overview at a glance.
Multi-Confluence Signal System📊 OPTIMIZED MULTI-CONFLUENCE SIGNAL SYSTEM
A professional-grade trading indicator that combines multiple technical analysis methods to generate high-probability buy and sell signals. Designed for daily timeframe Bitcoin/crypto trading with optimized parameters based on real market backtesting.
🎯 KEY FEATURES:
- Multi-Confluence Scoring (8 components) - Each signal shows strength rating
- Smart Top & Bottom Detection - Catches reversals using price action patterns
- Ichimoku Cloud Integration - Dynamic support/resistance visualization
- Dual EMA System (20/50) - Clear trend identification
- RSI + MACD + Volume Confirmation - Multi-indicator validation
- Signal Alternation - Only shows directional changes (no repeated signals)
- Minimal Bar Spacing - Prevents signal clustering and overtrading
✅ OPTIMIZED FOR:
- Catching parabolic tops with rejection wicks
- Identifying capitulation bottoms in downtrends
- Avoiding false signals during consolidation
- 4-8 quality signals per 4-month period on daily charts
- Works in both trending and volatile markets
🔧 TECHNICAL COMPONENTS:
- EMA 20/50 trend system
- RSI (14) with adjusted overbought/oversold levels (68/32)
- MACD for momentum confirmation
- Ichimoku Cloud for trend context
- Volume analysis (1.3x threshold)
- Candlestick pattern recognition (engulfing, hammers, shooting stars)
- Capitulation detection for extreme moves
- Price extension filters (±5-10% from EMAs)
⚠️ BEST PRACTICES:
- Optimized for Daily timeframe
- Combine with your own risk management
- Higher scores = higher probability trades
- Wait for signal confirmation on candle close
- Use in conjunction with key support/resistance levels
💡 SIGNAL LOGIC:
BUY signals trigger on: Capitulation candles, extreme oversold + reversal patterns, MACD turnarounds in downtrends, or high confluence scores with bullish patterns
SELL signals trigger on: Rejection wicks at tops, bearish engulfings with overbought RSI, parabolic extensions, MACD reversals, or high confluence scores with bearish patterns
📈 Created through iterative backtesting and optimization on Bitcoin price action from 2024-2025.
⭐ Free to use • Leave feedback • Happy trading!
Boring MACD Trading Strategy - Dedicated to 'The Secret Mindset'This indicator displays the MACD status across three selectable timeframes, regardless of the chart timeframe you are currently viewing.
For each timeframe, it shows whether the MACD line is above or below the zero line, indicating bullish or bearish momentum.
It also shows whether the MACD line is above or below the signal line, revealing the current trend condition as bullish, bearish, or neutral.
Boring MACD Trading Strategy - Dedicated to 'The Secret Mindset'This indicator displays the MACD status across three selectable timeframes, regardless of the chart timeframe you are currently viewing.
For each timeframe, it shows whether the MACD line is above or below the zero line, indicating bullish or bearish momentum.
It also shows whether the MACD line is above or below the signal line, revealing the current trend condition as bullish, bearish, or neutral.
RSI + MACD Multi-Timeframe StrategyThis strategy combines the Relative Strength Index (RSI) from the daily timeframe with the Moving Average Convergence Divergence (MACD) from the 4-hour timeframe to generate precise long entry and exit signals.
The system uses a multi-timeframe approach to align longer-term trend conditions with shorter-term momentum shifts — allowing traders to catch dips with confirmation and exit before reversals.
🧠 Strategy Logic
✅ Long Entry Condition:
- RSI on the daily (1D) timeframe is oversold (below your defined threshold)
- MACD on the 4H timeframe crosses above the signal line
→ A long trade is opened when these two align
✅ Long Exit Condition:
- RSI on the daily timeframe is overbought
- MACD on the 4H timeframe crosses below the signal line
→ The long trade is closed when these two conditions are met
💡 This strategy currently supports long entries only. Short logic can be added if needed.
📊 Indicator Components
🔹 RSI (Relative Strength Index):
- A momentum oscillator that measures the speed and magnitude of price changes.
- Helps identify overbought (potential sell) and oversold (potential buy) conditions.
- Applied on the 1D timeframe (by default) to reflect broader market trend or exhaustion levels.
🔹 MACD (Moving Average Convergence Divergence):
- A trend-following momentum indicator based on moving averages.
- The MACD Line (fast EMA - slow EMA) crossing above the Signal Line indicates bullish momentum.
- Used here on the 4-hour timeframe (by default) for shorter-term momentum confirmation.
🔹 Multi-Timeframe (MTF) Logic:
- Uses request.security() to pull higher timeframe data (1D for RSI, 4H for MACD).
- Ensures no repainting, as it only uses closed candles from the higher timeframe.
- Aligns longer-term signals with shorter-term entries, reducing false signals.
📈 Plotting Options
The script includes a plot selector input allowing you to toggle between:
- RSI Plot (with overbought/oversold lines)
- MACD Plot (MACD line and signal line)
- This helps visualize signal conditions clearly on your chart.
🛠 Customization
- RSI & MACD settings are fully configurable
- RSI and MACD timeframes can be adjusted independently
⚠️ Disclaimer
This strategy is provided for educational and informational purposes only.
It is not financial advice or a recommendation to buy or sell any asset.
Past performance does not guarantee future results. Always test strategies in a simulated environment before live use, and consult with a licensed financial advisor for investment decisions.
MACD - Ostinato TradingMACD oscillator from Ostinato Trading, the classic momentum indicator. With this particular code you can superpose two different MACD and add a background to display cross of second indicator if you don't want to display it completely.
MACD Remastered [CHE]MACD Remastered — Robust MACD with confirmed pivot-based divergence, optional signal bands, and ready-to-use alerts.
Summary
This indicator augments classic MACD with a robust, confirmed pivot-based divergence engine and an optional signal channel using Bollinger Bands. Divergence signals are only produced after a pivot is confirmed, which reduces noise from transient swings. A line-of-sight clearance check filters cases where the MACD histogram path contradicts the divergence, further cutting false flags. Histogram coloring clarifies momentum changes, while optional triangles project the same signals onto the main chart for quick context.
Motivation: Why this design?
Standard MACD divergence tools tend to fire early in volatile phases and flip during consolidation. The core idea here is to delay decision points until a pivot is confirmed and to validate the path between pivots. This addresses fake flips and improves signal credibility at the cost of some latency. Optional bands around the Signal line add context about compression and expansion without altering MACD’s core behavior.
What’s different vs. standard approaches?
Reference baseline: Classical MACD (fast and slow moving averages, Signal line, histogram) with simple divergence checks.
Architecture differences:
Confirmed pivot logic with left and right bars.
Line-of-sight clearance test across the histogram path between pivots.
Optional Signal-line Bollinger Bands with configurable length and width.
Composite “Any Divergence” alert plus separate regular and hidden alerts.
Optional main-chart triangles using forced overlay for at-a-glance context.
Practical effect: Fewer early or contradictory divergence signals, clearer momentum context via histogram colors and a visible Signal channel during compression and expansion.
How it works (technical)
The MACD line derives from a fast and a slow moving average on a chosen source. The Signal line smooths the MACD line using a selected moving average type and length. The histogram is the difference between MACD and Signal and is colored by direction and acceleration.
Divergence uses confirmed pivots: a pivot forms only after a set number of bars on the right side, so the event is locked in. The engine retrieves the last two relevant pivots and checks price movement versus the MACD histogram movement to classify regular or hidden divergence. A line-of-sight clearance routine traverses the histogram path between the two pivots and rejects the signal if the path invalidates the directional relationship. When enabled, Bollinger Bands are plotted around the Signal line; width scales with standard deviation. Programmatic alerts fire only on confirmed bars. No higher-timeframe requests are used.
Parameter Guide
Oscillator MA Type — Sets fast and slow MA family for MACD. Default: EMA. Tip: EMA is more responsive; SMA is steadier.
Fast Length — Fast MA period. Default: 12. Trade-off: Shorter is quicker but noisier.
Slow Length — Slow MA period. Default: 26. Trade-off: Longer reduces noise but adds lag.
Source — Price input. Default: Close. Tip: Use a stable source for consistency.
Signal MA Type — Moving average family for Signal. Default: EMA.
Signal Length — Smoothing of MACD into Signal. Default: 9. Trade-off: Longer smooths more, reacts slower.
Calculate Divergence — Enables divergence engine. Default: True.
Enable Bollinger Bands on Signal — Adds bands around Signal. Default: False.
BB Length — Sampling window for bands. Default: 20. Active: Only when bands are enabled.
BB StdDev — Band width in standard deviations. Default: 2.0. Bounds: between about zero point zero zero one and fifty.
Pivot Left / Pivot Right — Bars to the left and right that define a confirmed pivot. Default: five and five. Trade-off: Larger values mean stronger but slower pivots.
Min / Max Bars Between Pivots — Valid window between two pivots. Default: five and sixty. Tip: Increase minimum to reduce micro-divergences.
Detect Hidden — Include hidden divergence. Default: True.
Draw Lines — Draw connector lines on the MACD pane. Default: True.
Alerts: Enable / Regular / Hidden / Frequency / Prefix — Control alert emission, categories, cadence, and label. Defaults: Enabled, both categories on, once per bar close, prefix “MACD RM”.
Reading & Interpretation
Histogram: Columns above zero reflect positive momentum; below zero reflect negative momentum. Color shifts indicate momentum increasing or decreasing within each side.
MACD and Signal: Crosses and distance indicate momentum shifts and strength. When bands are enabled, touches and departures hint at compression and expansion around the Signal.
Divergence: Solid green lines and labels indicate regular bullish; solid red indicate regular bearish. Dashed teal and dashed orange denote hidden bullish and hidden bearish. Triangles on the main chart mirror these events for quicker visibility.
Practical Workflows & Combinations
Trend following: Use histogram color transitions with a structure filter such as higher highs and higher lows for long bias, or lower highs and lower lows for short bias. Divergence against the prevailing structure suggests caution or partial exits.
Exits and risk: In a long, regular bearish divergence near resistance can justify scaling out or tightening stops. Hidden divergence in the trend direction can support continuation but should not replace risk controls.
Multi-asset / Multi-timeframe: Works across liquid futures, forex, indices, and large-cap equities. Start with defaults on four-hour and daily; shorten lengths on intraday only when liquidity is strong.
Behavior, Constraints & Performance
Repaint and confirmation: Signals are anchored only after the right-side pivot bars complete; alerts trigger on confirmed bars. This intentionally adds latency to reduce noise.
No higher-timeframe requests: No `security` calls are used; repaint risk is primarily tied to live bars before confirmation.
Resources: Declared `max_bars_back` is five hundred. The divergence path check iterates between pivots, bounded by the maximum bars parameter. Line objects may accumulate; limits are set for lines and labels.
Known limits: Latency at sharp turns, potential misses during fast single-bar reversals, and sensitivity to extremely choppy sessions if minimum gap between pivots is set too low.
Sensible Defaults & Quick Tunin g
Starting point: EMA, twelve and twenty-six with Signal nine; pivots five and five; minimum five, maximum sixty; alerts on close; bands off.
Too many flips: Increase Signal length, raise pivot counts, and increase minimum bars between pivots. Consider disabling hidden divergence.
Too sluggish: Reduce pivot counts, lower Signal length, and enable bands to visualize early compression.
Cluttered chart: Keep lines off and rely on labels and main-chart triangles. Use the alert prefix to route events cleanly.
What this indicator is—and isn’t
This is a visualization and signal layer for MACD with confirmed, path-checked divergence and optional Signal bands. It is not a trading system, not predictive, and not a position management framework. Use it together with structure analysis, liquidity context, and explicit risk controls.
Disclaimer
The content provided, including all code and materials, is strictly for educational and informational purposes only. It is not intended as, and should not be interpreted as, financial advice, a recommendation to buy or sell any financial instrument, or an offer of any financial product or service. All strategies, tools, and examples discussed are provided for illustrative purposes to demonstrate coding techniques and the functionality of Pine Script within a trading context.
Any results from strategies or tools provided are hypothetical, and past performance is not indicative of future results. Trading and investing involve high risk, including the potential loss of principal, and may not be suitable for all individuals. Before making any trading decisions, please consult with a qualified financial professional to understand the risks involved.
By using this script, you acknowledge and agree that any trading decisions are made solely at your discretion and risk.
Do not use this indicator on Heikin-Ashi, Renko, Kagi, Point-and-Figure, or Range charts, as these chart types can produce unrealistic results for signal markers and alerts.
Best regards and happy trading
Chervolino
RSI + MFI + VolumeIndicator shows RSI + MFI + Volume in one panel, marks divergences separate for wicks and bodies, green dots shows where MFI and RSI are oversold
MACD (classic) + Divergences (wicks & bodies, fast/slow)macd with divergences. Wicks + bodies. Two settings for right bar
MACD HTF Hardcoded (A/B Presets) + Regimes [CHE] MACD HTF Hardcoded (A/B Presets) + Regimes — Higher-timeframe MACD emulation with acceptance-based regime filter and on-chart diagnostics
Summary
This indicator emulates a higher-timeframe MACD directly on the current chart using two hardcoded preset families and a time-bucket mapping, avoiding cross-timeframe requests. It classifies four MACD regimes and applies an acceptance filter that requires several consecutive bars before a state is considered valid. A small dead-band around zero reduces noise near the axis. An on-chart table reports the active preset, the inferred time bucket, the resolved lengths, and the current regime.
Pine version: v6
Overlay: false
Primary outputs: MACD line, Signal line, Histogram columns, zero line, regime-change alert, info table
Motivation: Why this design?
Cross-timeframe indicators often rely on external timeframe requests, which can introduce repaint paths and added latency. This design provides a deterministic alternative: it maps the current chart’s timeframe to coarse higher-timeframe buckets and uses fixed EMA lengths that approximate those views. The dead-band suppresses flip-flops around zero, and the acceptance counter reduces whipsaw by requiring sustained agreement across bars before acknowledging a regime.
What’s different vs. standard approaches?
Baseline: Classical MACD with user-selected lengths on the same timeframe, or higher-timeframe MACD via cross-timeframe requests.
Architecture differences:
Hardcoded A and B length families with a bucket map derived from the chart timeframe.
No `request.security`; all calculations occur on the current series.
Regime classification from MACD and Histogram sign, gated by an acceptance count and a small zero dead-band.
Diagnostics table for transparency.
Practical effect: The MACD behaves like a slower, higher-timeframe variant without external requests. Regimes switch less often due to the dead-band and acceptance logic, which can improve stability in choppy sessions.
How it works (technical)
The script derives a coarse bucket from the chart timeframe using `timeframe.in_seconds` and maps it to preset-specific EMA lengths. EMAs of the source build MACD and Signal; their difference is the Histogram. Signs of MACD and Histogram define four regimes: strong bull, weak bull, strong bear, and weak bear. A small, user-defined band around zero treats values near the axis as neutral. An acceptance counter checks whether the same regime persisted for a given number of consecutive bars before it is emitted as the filtered regime. A single alert condition fires when the filtered regime changes. The histogram columns change shade based on position relative to zero and whether they are rising or falling. A persistent table object shows preset, bucket tag, resolved lengths, and the filtered regime. No cross-timeframe requests are used, so repaint risk is limited to normal live-bar movement; values stabilize on close.
Parameter Guide
Source — Input series for MACD — Default: Close — Using a smoother source increases stability but adds lag.
Preset — A or B length family — Default: “3,10,16” — Switch to “12,26,9” for the classic family mapped to buckets.
Table Position — Anchor for the info table — Default: Top right — Choose a corner that avoids covering price action.
Table Size — Table text size — Default: Normal — Use small on dense charts, large for presentations.
Dark Mode — Table theme — Default: Enabled — Match your chart background for readability.
Show Table — Toggle diagnostics table — Default: Enabled — Disable for a cleaner pane.
Zero dead-band (epsilon) — Noise gate around zero — Default: Zero — Increase slightly when you see frequent flips near zero.
Acceptance bars (n) — Bars required to confirm a regime — Default: Three — Raise to reduce whipsaw; lower to react faster.
Reading & Interpretation
Histogram columns: Above zero indicates bullish pressure; below zero indicates bearish pressure. Darker shade implies the histogram increased compared with the prior bar; lighter shade implies it decreased.
MACD vs. Signal lines: The spread corresponds to histogram height.
Regimes:
Strong bull: MACD above zero and Histogram above zero.
Weak bull: MACD above zero and Histogram below zero.
Strong bear: MACD below zero and Histogram below zero.
Weak bear: MACD below zero and Histogram above zero.
Table: Inspect active preset, bucket tag, resolved lengths, and the filtered regime number with its description.
Practical Workflows & Combinations
Trend following: Use strong bull to favor long exposure and strong bear to favor short exposure. Use weak states as pullback or transition context. Combine with structure tools such as swing highs and lows or a baseline moving average for confirmation.
Exits and risk: In strong trends, consider exiting partial size on a regime downgrade to a weak state. In choppy sessions, increase the acceptance bars to reduce churn.
Multi-asset / Multi-timeframe: Works on time-based charts across liquid futures, indices, currencies, and large-cap equities. Bucket mapping helps retain a consistent feel when moving from lower to higher timeframes.
Behavior, Constraints & Performance
Repaint/confirmation: No cross-timeframe requests; values can evolve intrabar and settle on close. Alerts follow your TradingView alert timing settings.
Resources: `max_bars_back` is set to five thousand. Very large resolved lengths require sufficient history to seed EMAs; expect a warm-up period on first load or after switching symbols.
Known limits: Dead-band and acceptance can delay recognition at sharp turns. Extremely thin markets or large gaps may still cause brief regime reversals.
Sensible Defaults & Quick Tuning
Start with preset “3,10,16”, dead-band near zero, and acceptance of three bars.
Too many flips near zero: increase the dead-band slightly or raise the acceptance bars.
Too sluggish in clean trends: reduce the acceptance bars by one.
Too sensitive on fast lower timeframes: switch to the “12,26,9” preset family or raise the acceptance bars.
Want less clutter: hide the table and keep the alert.
What this indicator is—and isn’t
This is a visualization and regime layer for MACD using higher-timeframe emulation and stability gates. It is not a complete trading system and does not generate position sizing or risk management. Use it with market structure, execution rules, and protective stops.
Disclaimer
The content provided, including all code and materials, is strictly for educational and informational purposes only. It is not intended as, and should not be interpreted as, financial advice, a recommendation to buy or sell any financial instrument, or an offer of any financial product or service. All strategies, tools, and examples discussed are provided for illustrative purposes to demonstrate coding techniques and the functionality of Pine Script within a trading context.
Any results from strategies or tools provided are hypothetical, and past performance is not indicative of future results. Trading and investing involve high risk, including the potential loss of principal, and may not be suitable for all individuals. Before making any trading decisions, please consult with a qualified financial professional to understand the risks involved.
By using this script, you acknowledge and agree that any trading decisions are made solely at your discretion and risk.
Do not use this indicator on Heikin-Ashi, Renko, Kagi, Point-and-Figure, or Range charts, as these chart types can produce unrealistic results for signal markers and alerts.
Best regards and happy trading
Chervolino






















