StackLight MTF | MTF Momentum Stack + Stochastic ConfluenceThe strategy only fires a signal when three timeframes of your choosing — fast, medium, and slow — all agree on direction. Each timeframe is scored bullish, bearish, or neutral using either RSI or EMA slope, and displayed as a live 3-light traffic signal in the corner of your chart. Green means go, red means no — and when all three lights match, the strategy arms itself for entry.
Once the stack is aligned, entries are triggered by a stochastic %K/%D crossover on your chart timeframe, confirmed by a linreg-smoothed stochastic on your slowest timeframe — so you're not just trading a momentum cross in isolation, you're trading one that's backed by higher-timeframe agreement.
Risk is handled with ATR-based stops and targets, and position size adjusts automatically so every trade risks a fixed percentage of your account — no more, no less — regardless of how wide or tight the current stop distance is. An optional "stack flip" exit closes trades early if the multi-timeframe alignment breaks down before your stop is hit, cutting losers faster than a static stop alone.
Features
3-light traffic signal table — instant visual read of alignment across your fast/medium/slow timeframes
Dual momentum modes — RSI (with adjustable neutral band to reduce flip-flopping) or EMA slope
Linreg-smoothed MTF stochastic — filters out the staircase artifact from pulling higher-timeframe data
Bias label — STRONG BULL / BULL LEAN / NEUTRAL / BEAR LEAN / STRONG BEAR at a glance
Background tint + bar coloring — full-chart visual confirmation, not just the indicator pane
Risk-based position sizing — fixed % equity risk per trade, auto-scaled to current ATR
ATR stop/target + stack-flip early exit — two independent exit mechanisms
Built-in alert conditions for long/short signals — ready for automation
Long-only, short-only, or both — directional bias control in one input
Stratégie

VASA Multi-Timeframe Rating vFStop flipping between charts to check whether the higher timeframes agree. This puts three timeframes in one small table on your chart. For each one it reads trend (fast EMA vs slow EMA) and momentum (RSI above or below 50), then sums them into a plain rating: Bull, Lean bull, Mixed, Lean bear, or Bear.
What it does: • Three configurable timeframes (default 15m / 1h / 4h) • Trend and momentum column per timeframe • A fused rating cell, colour-coded • Reads higher timeframes without repainting — on the live bar it uses the last closed higher-TF bar, so the table doesn't flicker intrabar
How to use: look for agreement. When all three lean the same way, you're trading with the broader context instead of against it. When they disagree ("Mixed"), that's your signal to size down or stand aside. Change the three timeframes to match how you actually trade — a scalper might run 1m/5m/15m, a swing trader 1h/4h/1D.
Educational only — not financial advice. Trading involves substantial risk of loss.
Indicateur

Trend-Aligned Oscillator Reversal Engine Comprehensive Guide: Trend-Aligned Oscillator Reversal Engine
Introduction: What is this script and its primary purpose?
The "Trend-Aligned Oscillator Reversal Engine" is a highly sophisticated, multi-layered custom indicator written in Pine Script for the TradingView platform. Unlike traditional single-metric indicators that often produce false signals in choppy markets, this script functions as a complete, self-contained trading system.
Its primary purpose is to identify high-probability market reversal points by combining momentum exhaustion with strict trend-following filters. The script aims to solve a common dilemma for traders: getting into a reversal early enough to maximize profit, while ensuring the broader market structure supports the trade. By demanding a "confluence of evidence" from multiple technical sources before issuing a buy or sell signal, it minimizes the risk of catching falling knives or shorting into parabolic uptrends. Furthermore, it includes automated alert conditions, making it seamlessly compatible with external platforms via webhooks, Telegram, or API integrations for automated trading.
Working Mechanism: How does it detect trading signals?
The script generates Buy and Sell signals through a complex, dual-engine architecture combined with a dynamic entry delay system. It operates using three distinct technical phases:
1. The Oscillator Reversal Engine (The Trigger)
This engine acts as the primary signal detector, scanning for moments when the market is overextended and ready to snap back. It aggregates data from four classic momentum oscillators:
RSI (Relative Strength Index): Set to a standard 14-period lookback, it detects extreme price levels. A long signal requires the RSI to cross back above the 30 (oversold) threshold, while a short signal triggers when crossing below 70 (overbought).
Stochastic Oscillator (14, 3, 3):This measures closing prices relative to the high-low range. It looks for bullish %K and %D crossovers below the 20 level and bearish crossunders above the 80 level.
Oscillator MACD (12, 26, 9): Identifies shifts in short-term momentum via the crossover or crossunder of the fast MACD line and the signal smoothing line.
CCI (Commodity Channel Index - 20): Detects when cyclical boundaries are breached, triggering upon crossing the -100 or +100 levels.
Confluence Scoring: Rather than relying on just one metric, the script assigns a score of 1 to 4 based on how many oscillators trigger simultaneously. The user can define the `osci_min_score` (default is 1) required to generate a baseline reversal signal.
2. The Trend Confirmation Engine (The Filter)
If the `use_trend_filter` setting is enabled, a reversal signal is completely blocked unless the broader market trend aligns with the trade direction. This engine evaluates five distinct trend indicators:
EMA (50-period): Assesses if the current price is above or below the baseline moving average.
ADX & DMI (14-period): Ensures there is actual trend strength (ADX > 20) and identifies whether buyers (+DI) or sellers (-DI) are in control.
Trend MACD: Validates medium-term momentum direction relative to the zero line.
Supertrend : Evaluates volatility-based trailing support and resistance bands.
Ichimoku Cloud: Checks if the price is trading above the Kumo Cloud (bullish) or below it (bearish).
Trend Scoring:Similar to the oscillators, it calculates a trend score out of 5. By default, at least 3 out of 5 indicators (`trend_min_score`) must agree to confirm the trend's legitimacy.
3. The Retest State Machine (Entry Optimization)
When a trend shift occurs, the script features an optional "Retest Mode". Instead of entering immediately on a breakout—which often leads to fake-outs—the system waits for the price to retest a specific support/resistance level. This level is calculated dynamically using a 14-period Average True Range (ATR) multiplier. The script will wait for a maximum number of candles (default is 3) for this retest to happen before validating or discarding the setup.
How to Use: Recommended Settings and Suitable Markets
Recommended Configurations:
For Conservative Traders: Increase the `osci_min_score` to 2 or 3. This means at least two or three oscillators (e.g., RSI and MACD) must agree simultaneously, drastically reducing false signals. Always keep `use_trend_filter` set to `true`.
Trade Direction Filter: If you are trading in a confirmed macro bull market (like Bitcoin leading up to a halving), set the `trade_direction` to "Buy Only". This ensures you only catch the dips in a larger uptrend and prevents you from fighting the primary market direction.
Retest Mode Adjustments: In highly volatile conditions, leave "Enable Retest Mode" checked with an ATR multiplier of 1.0 to secure better entry prices. In aggressive breakout markets where pullbacks are rare, you may want to disable this feature so you do not miss fast-moving trades.
Suitable Markets and Timeframes:
Because of its reliance on confluence, trend strength, and ATR volatility, this indicator is highly versatile.
Markets: It performs exceptionally well in the Forex market (e.g., EUR/USD, GBP/JPY) where trends and mean-reversions are clearly defined. It is equally effective in Crypto (BTC, ETH) and Indices (S&P 500, NASDAQ) because the rigorous trend-filtering engine automatically strips out the "noise" and fake-outs typical in high-volatility assets.
Timeframes:The script is optimized for medium to higher timeframes. The 15-minute (15m), 1-hour (1H), and 4-hour (4H) charts are ideal. Using it on lower timeframes (like the 1-minute chart) is not recommended, as micro-market noise can prematurely trigger the oscillators before the macro-trend indicators have time to align. Indicateur

Confluence Trend and Fibo Reversal SystemAn In-Depth Overview of the "Confluence Trend and Fibo Reversal System"
Introduction: The Purpose and Core Architecture
The "Confluence Trend and Fibo Reversal System" is a sophisticated, highly adaptable Pine Script trading indicator designed to dynamically navigate fluctuating market conditions. The primary objective of this script is to solve a fundamental problem in technical analysis: the tendency of trend-following indicators to produce false signals during sideways markets, and the failure of mean-reversion oscillators during strong trends. To achieve this, the indicator operates as a dual-regime trading algorithm. It constantly analyzes price action to determine whether the current market environment is trending or ranging (sideways). Based on this real-time assessment, the script autonomously switches its internal logic, deploying either a momentum-based confluence engine for trends or a reversal-based engine strictly filtered by Fibonacci retracement levels for sideways markets.
Operating Mechanisms: How the Indicator Generates Signals
The technical architecture of this indicator is divided into four distinct analytical engines that work together to validate trading signals.
1. The Market Regime Filter (Range Detection)
Before any signal is generated, the system calculates a "Range Score" to determine the market state. It evaluates six specific technical conditions:
ADX (Average Directional Index): Checks if the ADX value is below 25, indicating weak trend strength.
Bollinger Bands Position: Verifies if the closing price is contained securely within the upper and lower bands.
Bollinger Bandwidth (BBW): Measures volatility by checking if the current bandwidth is narrower than its 20-period moving average.
RSI (Relative Strength Index): Checks if the RSI is hovering in a neutral zone between 40 and 60.
Stochastic Oscillator: Confirms that the Stochastic K-line is resting in a non-extreme zone between 20 and 80.
EMA Convergence:Measures the gap between the 20-period and 50-period Exponential Moving Averages, checking if they are tightly converged within half of the Average True Range (ATR).
If the total score meets a user-defined threshold (defaulting to 4 out of 6), the system classifies the market as "Ranging" and activates the Reversal engine; otherwise, it defaults to the Trend engine.
2. The Trend Engine (Confluence Scoring)
When the market is clearly trending, the script relies on a strict multi-indicator confluence system to prevent premature entries. It generates a bullish or bearish score out of five possible points:
Price positioning relative to the 50-period EMA.
Directional dominance using the ADX (+DI vs -DI).
Momentum confirmation via MACD baseline crossovers.
Trend alignment with the Supertrend indicator.
Price placement above or below the Ichimoku Kumo Cloud.
A final buy or sell signal in trend mode is only triggered if the accumulated score meets the "Minimum Confluence Score" threshold (defaulting to 4 out of 5).
3. The Reversal & Fibonacci Engine
If the market is ranging, the script hunts for mean-reversion opportunities by scanning for specific price action anomalies and oscillator extremes. It looks for Bullish/Bearish Engulfing candles, Pinbars (Hammers and Shooting Stars), RSI overbought/oversold crossovers, Stochastic extreme crossovers, and Bollinger Band boundary breakouts.
Crucially, these reversal patterns are deemed invalid unless they occur in close proximity to an automatically generated Fibonacci level. The script identifies the highest high and lowest low over a 100-bar lookback period to draw dynamic Fibonacci retracement lines (0.000 to 1.000). A reversal signal is only approved if the price action happens within a tight percentage tolerance zone around these key Fibonacci levels.
4. The Retest Engine
To drastically reduce false breakouts, the script features a built-in "Retest Mode". Instead of firing a buy or sell signal immediately when conditions are met, the script calculates a target "retest price" offset by an ATR multiplier. It will then hold the pending signal in memory for a maximum number of candles (defaulting to 4). The final execution signal is only printed on the chart if the price pulls back to successfully retest this calculated ATR level, proving the validity of the breakout.
Implementation and Usage Guidelines
Recommended Settings
Trade Direction: It is highly recommended to leave the trade direction set to "Both" to allow the dynamic regime filter to operate at its full potential. However, if trading against a higher timeframe macroeconomic trend, users can restrict the system to "Buy Only" or "Sell Only".
Retest Mode: Keep "Enable Retest Mode" activated. While it may cause you to miss trades that instantly aggressively rally, it will save you from substantial losses caused by "fake-out" signals.
Confluence Threshold: For aggressive traders, lowering the Trend Minimum Confluence Score to 3 will yield more signals. For conservative traders, leaving it at 4 or 5 ensures that only the highest probability momentum shifts are traded.
Visual Enhancements: Keep the "Highlight Range Market Background" enabled. This feature turns the chart background orange during sideways markets, providing excellent visual context as to why the indicator is currently ignoring standard trend breakouts.
Suitable Markets and Timeframes**
Because the "Confluence Trend and Fibo Reversal System" actively adapts to volatility and structural shifts rather than relying on static logic, it is exceptionally versatile. It is well-suited for high-liquidity markets such as major Forex pairs (EUR/USD, GBP/USD), large-cap Cryptocurrencies (Bitcoin, Ethereum), and major Equity indices. Due to its reliance on 100-period lookbacks for Fibonacci mapping and 50-period EMAs for trend detection, the indicator performs optimally on medium to higher timeframes—specifically the 1-Hour (H1), 4-Hour (H4), and Daily (D1) charts—where market noise is minimal, and true institutional support and resistance zones are respected. Indicateur

3EMA Filter [LTW]📈 3EMA Filter
This indicator visualizes real-time trend intensity using a multi-timeframe Exponential Moving Average (EMA) structure, projects future price trajectories based on momentum slopes, and quantifies fast-to-slow moving average divergence via an integrated real-time dashboard.
Instead of looking backward at static historical support and resistance levels on lower timeframes, you can instantly read real-time trend acceleration and price divergence right here and now to build powerful, forward-looking trading strategies.
⚙️ Key Features & Customization
▪️ Dynamic EMA Ribbon & Crossover Signals (Default: 50, 100, 200)
Utilizes dynamic colored ribbon filling between EMA 1, 2, and 3 to provide an immediate visual assessment of trend alignment (bullish/bearish) and momentum strength. Highlights Golden Cross and Dead Cross events between the fast and middle lines with distinct markers and optional background highlighting.
▪️ Slope-Based Future Trajectory Projection
Calculates the current momentum slope of each moving average at the latest bar to project future EMA trajectories 'n' bars forward. Allows traders to visually gauge whether trend momentum is currently accelerating or flattening out, aiding in the early detection of potential inflection points and trend reversals. (Supports customizable styles: Solid, Dotted, Dashed).
▪️ High-Visibility Divergence Dashboard
Automatically calculates and displays the Current, Maximum, and Minimum price divergence (%) between the fast moving average (EMA1) and the slow moving average (EMA3) over a selectable timeframe (1D, 1W, 1M). Engineered with a crisp, high-contrast design to immediately evaluate overbought and oversold market pressure across both Dark and Light themes.
▪️ Keep Charts Clean & Focus on Operability (Limit Display to Recent "n" Bars)
We approached this feature with the mindset of focusing on practical 'Operability' and responsiveness in real-time trading rather than just simple readability. By limiting the indicator display to the most recent 'n' bars, it reduces computational waste and eliminates visual clutter from historical bars, allowing you to react immediately to pure candlestick price action.
💡 How to Use & Trading Strategies
Provides a clean, forward-looking analytical framework that eliminates hindsight bias on lower timeframes.
1. Focusing on Acceleration & Divergence on Lower Timeframes
Unless you are analyzing macro moving averages like the 200-day or 200-week MAs on daily or weekly charts, tracing historical MA support and resistance lines on lower timeframes (such as intraday minute or hourly charts) often offers little practical synergy in real-time trading. This indicator departs from static historical mapping and is used strictly to read real-time "EMA Divergence" and the "Momentum Acceleration" of the current trend.
2. Preventing Curve-Fitting & Hindsight Bias (Hidden Picture Puzzles)
The integrated Bar Limit feature is deliberately designed to stop traders from falling into the trap of "playing hidden picture puzzles"—retroactively forcing indicators to fit historical price action. It eliminates hindsight bias, ensuring your analytical focus remains 100% locked on present market dynamics and future trajectory projections.
📌 Summary
A practical, all-in-one indicator designed to shift your focus away from static historical support/resistance and toward real-time trend acceleration and divergence. Through slope-based future projections, a high-visibility divergence dashboard, and an operability-focused Bar Limit feature, you can eliminate hindsight bias and trade with high reliability by focusing entirely on active market dynamics. Indicateur

Indicateur

RSI Divergence Entry Engine [trade_w_samet]🎯 RSI Divergence Entry Engine
RSI Divergence Entry Engine is a pivot-confirmed RSI divergence, optional trend-filtering, ATR-based trade-mapping, historical visualization, alert, and statistics indicator designed to help traders study how regular bullish and bearish RSI divergences can be converted into a structured chart workflow.
The script is built around one central idea:
A confirmed RSI divergence should be treated as analytical context first, and as a tracked trade setup only when the active direction filter and trade-state rules allow it.
The engine identifies regular RSI divergence between confirmed RSI pivots and corresponding price pivots.
When a divergence is confirmed, the script can:
• Display the divergence inside the RSI panel
• Fill the region between the RSI path and its divergence reference line
• Draw a three-layer neon divergence line directly between the corresponding price pivots on the main chart
• Evaluate the active trend-filter mode
• Open one tracked bullish or bearish setup when the signal is eligible
• Calculate an ATR-based Stop Loss
• Calculate TP1, TP2, and TP3
• Extend risk/reward boxes while the trade remains active
• Preserve completed trade boxes and historical TP price labels
• Track TP3 wins, Stop Losses, Win Rate, NET R, Average R, and Profit Factor
• Display a full desktop dashboard or a compact mobile dashboard
• Send separate TradingView alert conditions
• Support one combined “Any alert() function call” workflow
• Apply Dark Mode, Light Mode, or Mobile Theme styling
The indicator includes:
• Fixed RSI 14 calculation using closing prices
• Pivot-based regular bullish divergence detection
• Pivot-based regular bearish divergence detection
• Adjustable Pivot Lookback
• Adjustable Confirmation Bars
• A fixed internal pivot-distance window
• Confirmed-bar divergence acceptance
• RSI-panel bullish and bearish divergence lines
• RSI-panel divergence-area fills
• Main-chart three-layer neon divergence lines
• Adjustable main-chart BULLISH / SELL label size
• Fixed compact RSI-panel labels
• Dark Mode
• Light Mode
• Mobile Theme
• EMA 200 Trend Filter
• Supertrend filter using ATR 10 and factor 3.0
• Higher-timeframe EMA 200 Trend Filter
• Adjustable higher timeframe
• ATR-based Stop Loss
• Adjustable ATR period
• Adjustable ATR Stop Loss multiplier
• Adjustable TP3 target from 1R to 7R
• Automatically calculated TP1 and TP2
• One active tracked trade at a time
• Conservative same-candle TP3 / SL handling
• Permanent historical TP / SL boxes
• Historical TP1, TP2, and TP3 price labels
• Dynamic active-trade price labels
• TP3 TARGET HIT labels
• Stop Loss result labels
• Full desktop statistics dashboard
• Two-row Mobile Theme dashboard
• Static alertcondition() support
• Dynamic alert() support
• “Any alert() function call” compatibility
• Bold-italic visual text
• Pure-white Dark Mode label text
• Hidden status-line input values
• Main-chart overlay visuals from a separate RSI pane
• Loaded-history trade statistics
The purpose of the script is to provide a transparent visual framework for reviewing confirmed RSI divergence, directional context, mapped risk, target structure, and bar-based historical outcomes.
It is not financial advice.
It is not an automated trading system.
It does not execute broker orders.
It does not calculate position size.
It does not guarantee that a divergence will produce a reversal.
It does not guarantee that the displayed Win Rate, NET R, or Profit Factor will continue in future market conditions.
It does not include spread, commission, slippage, latency, financing, or partial fills.
It does not reproduce the exact intrabar path inside historical candles.
━━━━━━━━━━━━━━━━━━━━━━
📌 OVERVIEW
━━━━━━━━━━━━━━━━━━━━━━
At a high level, RSI Divergence Entry Engine does the following:
• Calculates RSI using a fixed 14-period length and closing prices.
• Searches the RSI series for confirmed pivot lows and pivot highs.
• Compares each confirmed RSI pivot with the previous eligible pivot of the same type.
• Compares the corresponding price low or high with the prior price pivot.
• Identifies regular bullish divergence when RSI forms a higher low while price forms a lower low.
• Identifies regular bearish divergence when RSI forms a lower high while price forms a higher high.
• Requires the distance between the two confirmed pivots to remain inside the fixed internal range window.
• Waits for the required right-side confirmation bars before accepting a pivot.
• Displays confirmed divergence inside the RSI panel.
• Draws the same confirmed price-pivot relationship on the main chart with a neon line.
• Evaluates the selected trend-filter mode.
• Rejects a tracked entry when the trend filter does not allow that direction.
• Rejects a tracked entry when an opposite divergence is simultaneously present.
• Rejects a tracked entry while another trade is active.
• Opens a tracked trade at the close of the divergence-confirmation candle.
• Calculates Stop Loss distance from ATR.
• Places TP1 and TP2 at proportional distances inside the final TP3 target.
• Tracks only TP3 as the winning exit.
• Tracks Stop Loss as a -1R loss.
• Extends the active profit and loss boxes until the trade closes.
• Preserves completed boxes as historical trade visuals.
• Preserves historical TP1, TP2, and TP3 price labels.
• Updates the dashboard with bar-based historical statistics.
• Provides separate static alerts and combined dynamic alerts.
The script does not use machine-learning prediction.
It does not claim that RSI divergence predicts the future with certainty.
Its dashboard is not TradingView Strategy Tester.
Its statistics are calculated internally from the script’s own bar-touch rules.
━━━━━━━━━━━━━━━━━━━━━━
🧠 CORE IDEA
━━━━━━━━━━━━━━━━━━━━━━
RSI divergence describes disagreement between price direction and RSI pivot direction.
A regular bullish divergence occurs when:
• price forms a lower low
• RSI forms a higher low
A regular bearish divergence occurs when:
• price forms a higher high
• RSI forms a lower high
The divergence can indicate that momentum is not confirming the newest price extreme.
However, divergence alone does not answer:
• whether the broader trend supports the reversal
• whether price is above or below a long-term directional reference
• whether Supertrend agrees with the signal
• whether the selected higher timeframe agrees with the signal
• where a volatility-adjusted Stop Loss should be mapped
• where intermediate and final targets should be displayed
• whether another tracked trade is already active
• whether historical bar touches reached TP3 or Stop Loss first
• how the signal behaves across Dark, Light, or Mobile layouts
The script therefore combines the divergence calculation with an optional trend filter and a fixed trade-tracking model.
The complete workflow is:
RSI pivot confirmation
→ price-pivot comparison
→ regular divergence confirmation
→ RSI-panel visualization
→ main-chart neon price-divergence line
→ optional trend-filter validation
→ one-active-trade check
→ entry at confirmation-candle close
→ ATR-based Stop Loss
→ TP1 / TP2 / TP3 mapping
→ historical bar-touch tracking
→ TP3 or SL result
→ dashboard statistics
→ static and dynamic alerts
The modules are not intended to operate as unrelated indicators.
Each module supports the same process: identifying a confirmed divergence, deciding whether it is eligible for tracking, mapping the trade structure, and recording the result under explicit rules.
━━━━━━━━━━━━━━━━━━━━━━
🧩 WHY THIS SCRIPT IS NOT A SIMPLE RSI DIVERGENCE MARKER
━━━━━━━━━━━━━━━━━━━━━━
A basic RSI divergence script can stop after drawing a line between two oscillator pivots.
RSI Divergence Entry Engine continues beyond that step.
A confirmed divergence can move through the following stages:
RSI pivot appears
→ right-side confirmation bars complete
→ previous eligible RSI pivot is located
→ pivot distance is validated
→ corresponding price pivots are compared
→ bullish or bearish divergence is confirmed
→ RSI divergence region is displayed
→ main-chart neon price-divergence line is displayed
→ active trend filter is evaluated
→ opposite-direction conflict is rejected
→ existing active-trade state is checked
→ ATR risk distance is calculated
→ entry, SL, TP1, TP2, and TP3 are stored
→ trade boxes extend through time
→ TP3 or SL is detected
→ completed trade is added to statistics
→ historical TP prices remain visible
The RSI module identifies the momentum disagreement.
The trend-filter module defines whether the tracked entry is directionally permitted.
The ATR module adapts the Stop Loss distance to current volatility.
The target module translates the chosen TP3 R multiple into three visual target levels.
The trade-state module prevents overlapping tracked positions.
The statistics module summarizes the outcomes produced by those exact rules.
The alert module communicates divergence, entry, TP3, and Stop Loss events.
This coordinated process makes the publication an entry-engine framework rather than only a divergence drawing tool.
━━━━━━━━━━━━━━━━━━━━━━
⚙️ HOW THE SCRIPT WORKS
━━━━━━━━━━━━━━━━━━━━━━
The indicator operates from a separate RSI pane while using force-overlay visuals for selected elements on the main chart.
The internal RSI configuration is:
• RSI length: 14
• Source: close
• Regular bullish divergence: enabled
• Regular bearish divergence: enabled
• Hidden bullish divergence: internally disabled
• Hidden bearish divergence: internally disabled
• Minimum pivot separation: 5 bars
• Maximum pivot separation: 60 bars
The user controls:
• Pivot Lookback
• Confirmation Bars
• Main-chart signal-label size
• ATR Period
• Stop Loss Distance in ATR
• TP3 Target in R
• Trend Filter
• Higher-Timeframe Trend Timeframe
• Theme Mode
First, the script calculates RSI:
osc = ta.rsi(close, 14)
The script then detects confirmed RSI pivots:
pivotLowValue = ta.pivotlow(osc, lbL, lbR)
pivotHighValue = ta.pivothigh(osc, lbL, lbR)
A pivot is not known on the pivot candle itself.
It becomes confirmed only after the selected Confirmation Bars have closed to its right.
The script then retrieves the previous confirmed pivot value, price value, and pivot bar.
Regular bullish divergence requires:
• current RSI pivot low above the previous RSI pivot low
• current price low below the previous price low
• valid pivot distance
• confirmed current chart bar
Regular bearish divergence requires:
• current RSI pivot high below the previous RSI pivot high
• current price high above the previous price high
• valid pivot distance
• confirmed current chart bar
The confirmed divergence is then displayed in two places:
• RSI pane
• Main price chart
The trend filter is applied only to the tracked trade entry.
This means a confirmed divergence can remain visible even when:
• the selected trend filter rejects the direction
• another trade is already active
• bullish and bearish conditions conflict on the same calculation
This separation is intentional.
The divergence visual represents analytical context.
The main-chart BULLISH or SELL trade label represents an entry that the tracking engine actually accepted.
━━━━━━━━━━━━━━━━━━━━━━
📉 RSI CALCULATION
━━━━━━━━━━━━━━━━━━━━━━
The Relative Strength Index is calculated from closing prices using a fixed length of 14.
The RSI line is displayed in blue.
The RSI pane includes:
• 70 Overbought line
• 50 Middle line
• 30 Oversold line
Dark Mode uses:
• black RSI-panel background
• red Overbought line
• white dotted Middle line
• green Oversold line
Light Mode uses:
• white RSI-panel background
• dark Middle line
• red Overbought line
• green Oversold line
The 70 and 30 lines provide visual context.
They are not mandatory divergence conditions.
A bullish divergence can be detected outside the Oversold region.
A bearish divergence can be detected outside the Overbought region.
The script does not require RSI to cross 30 or 70 before accepting a divergence.
━━━━━━━━━━━━━━━━━━━━━━
🔍 PIVOT DETECTION MODEL
━━━━━━━━━━━━━━━━━━━━━━
Pivot Lookback controls the number of candles examined on the left side of a potential RSI pivot.
The default value is 5.
Higher values generally produce larger and less frequent swing points.
Lower values generally produce smaller and more frequent swing points.
Confirmation Bars controls the number of completed candles required on the right side of the potential pivot.
The default value is 1.
A higher Confirmation Bars value provides more right-side confirmation but increases delay.
A lower value confirms earlier but can identify smaller structures.
The script also requires the previous pivot to be between 5 and 60 bars away.
These minimum and maximum distance values are fixed internally to keep the public settings panel compact.
The pivot model is symmetrical:
• pivot lows are used for bullish divergence
• pivot highs are used for bearish divergence
━━━━━━━━━━━━━━━━━━━━━━
🟢 REGULAR BULLISH DIVERGENCE
━━━━━━━━━━━━━━━━━━━━━━
A regular bullish divergence is confirmed when:
• a new RSI pivot low is confirmed
• the previous eligible RSI pivot low exists
• the current RSI pivot low is higher than the previous RSI pivot low
• the current corresponding price low is lower than the previous price low
• the pivot distance is between the fixed internal limits
• the current calculation bar is confirmed
Conceptually:
Price:
lower low
RSI:
higher low
The RSI pane displays:
• a green divergence line between the two RSI pivot values
• a translucent green fill between the real RSI path and the straight divergence reference
• a BULLISH label at the confirmed pivot location
The main chart displays:
• a three-layer green neon line between the corresponding price lows
A tracked bullish trade opens only when:
• the bullish divergence is not opposed by a bearish divergence on the same calculation
• the selected trend filter allows bullish entries
• no tracked trade is currently active
• another trade did not close on the same candle
• ATR is available and greater than zero
The tracked entry price is the close of the confirmation candle.
It is not the historical pivot-low price.
━━━━━━━━━━━━━━━━━━━━━━
🔴 REGULAR BEARISH DIVERGENCE
━━━━━━━━━━━━━━━━━━━━━━
A regular bearish divergence is confirmed when:
• a new RSI pivot high is confirmed
• the previous eligible RSI pivot high exists
• the current RSI pivot high is lower than the previous RSI pivot high
• the current corresponding price high is higher than the previous price high
• the pivot distance is between the fixed internal limits
• the current calculation bar is confirmed
Conceptually:
Price:
higher high
RSI:
lower high
The RSI pane displays:
• a red divergence line between the two RSI pivot values
• a translucent red fill between the real RSI path and the straight divergence reference
• a SELL label at the confirmed pivot location
The main chart displays:
• a three-layer red neon line between the corresponding price highs
A tracked bearish trade opens only when:
• the bearish divergence is not opposed by a bullish divergence on the same calculation
• the selected trend filter allows bearish entries
• no tracked trade is currently active
• another trade did not close on the same candle
• ATR is available and greater than zero
The tracked entry price is the close of the confirmation candle.
It is not the historical pivot-high price.
━━━━━━━━━━━━━━━━━━━━━━
⏳ PIVOT CONFIRMATION AND SIGNAL TIMING
━━━━━━━━━━━━━━━━━━━━━━
This section is important.
The script uses ta.pivotlow() and ta.pivothigh().
Pivot functions require candles to the right of the pivot before confirmation.
For example, when Confirmation Bars is 1:
• the potential pivot occurs
• one additional candle closes
• the pivot becomes confirmed
• the divergence condition can then be calculated
The RSI-panel divergence line and RSI divergence label are drawn at the original pivot-bar location after confirmation.
The main-chart neon divergence line also connects the original price-pivot bars after the divergence is confirmed.
This creates a historical visual relationship between the two pivots.
It does not mean the divergence was available in realtime on the original pivot candle.
The tracked trade entry is not placed back on the pivot.
The tracked entry occurs at the close of the later candle where the divergence confirmation becomes available.
Therefore, users must distinguish between:
Pivot Visualization
Shows where the confirmed historical pivots occurred.
Trade Entry Label
Shows the candle where the script actually accepted and opened the tracked setup.
Changing Confirmation Bars changes the confirmation delay.
Increasing Confirmation Bars can materially change signal timing and historical divergence output.
━━━━━━━━━━━━━━━━━━━━━━
✨ MAIN-CHART NEON DIVERGENCE VISUALS
━━━━━━━━━━━━━━━━━━━━━━
Confirmed RSI divergences are also displayed directly on the main price chart.
Bullish divergence:
• connects the two corresponding price lows
• uses green
• uses a three-layer neon appearance
Bearish divergence:
• connects the two corresponding price highs
• uses red
• uses a three-layer neon appearance
The neon effect is created from:
• a wide transparent outer glow
• a medium inner glow
• a bright two-pixel core line
The neon line is a historical divergence visual.
It is not an entry line.
It is not a Stop Loss.
It is not a support or resistance guarantee.
The line is created only after the RSI pivot and divergence have been confirmed.
Older line objects are removed when the configured internal object limit is exceeded.
Deleting an older visual object does not change the underlying signal calculation.
━━━━━━━━━━━━━━━━━━━━━━
🎨 RSI DIVERGENCE AREA SYSTEM
━━━━━━━━━━━━━━━━━━━━━━
Inside the RSI pane, the script creates a filled polygon between:
• the actual RSI path from the first pivot to the second pivot
• the straight divergence line connecting those pivot endpoints
Bullish divergence uses a translucent green fill.
Bearish divergence uses a translucent red fill.
The purpose is to make the momentum disagreement easier to recognize than a thin line alone.
The fill does not measure probability.
A larger visual area does not automatically mean a stronger or more profitable divergence.
The fill depends on:
• RSI movement between the pivots
• distance between the pivots
• selected Pivot Lookback
• selected Confirmation Bars
• chart symbol
• timeframe
• loaded historical data
━━━━━━━━━━━━━━━━━━━━━━
🧭 TREND FILTER SYSTEM
━━━━━━━━━━━━━━━━━━━━━━
The trend filter determines whether a confirmed divergence is eligible to open a tracked trade.
Available modes are:
• Off
• EMA Trend
• Supertrend
• HTF Trend
The filter does not hide the confirmed divergence visuals.
It only changes whether the trade engine accepts the bullish or bearish entry.
This allows users to study:
• all confirmed divergence structures
• only the subset that passed the selected directional filter
The active trend reference is drawn on the main chart when a filter mode is selected.
The reference is green when the active filter state is bullish.
The reference is red when the active filter state is bearish.
━━━━━━━━━━━━━━━━━━━━━━
📈 EMA TREND FILTER
━━━━━━━━━━━━━━━━━━━━━━
EMA Trend uses a fixed chart-timeframe EMA 200.
Bullish entries are allowed when:
• chart close is above EMA 200
Bearish entries are allowed when:
• chart close is below EMA 200
When price equals the EMA exactly, neither directional condition is satisfied.
The EMA filter is intended to align bullish divergence tracking with price above a long-term average and bearish divergence tracking with price below it.
It does not guarantee that price will continue in the filtered direction.
A divergence rejected by the EMA filter can still remain visible as a divergence visual.
━━━━━━━━━━━━━━━━━━━━━━
📊 SUPERTREND FILTER
━━━━━━━━━━━━━━━━━━━━━━
Supertrend mode uses fixed internal parameters:
• ATR length: 10
• factor: 3.0
Bullish entries are allowed when the Supertrend state is bullish.
Bearish entries are allowed when the Supertrend state is bearish.
The Supertrend reference is displayed on the main chart.
The fixed parameters keep the public settings menu simple and make behavior consistent across users.
The Supertrend filter can react differently across symbols and timeframes because ATR and price structure differ.
A bullish Supertrend state does not guarantee a successful bullish divergence trade.
A bearish Supertrend state does not guarantee a successful bearish divergence trade.
━━━━━━━━━━━━━━━━━━━━━━
⏱️ HIGHER-TIMEFRAME TREND FILTER
━━━━━━━━━━━━━━━━━━━━━━
HTF Trend compares the selected higher-timeframe close with its EMA 200.
Bullish entries are allowed when:
• higher-timeframe close is above higher-timeframe EMA 200
Bearish entries are allowed when:
• higher-timeframe close is below higher-timeframe EMA 200
The default higher timeframe is 240 minutes.
The request uses:
• gaps_off
• lookahead_off
The script does not intentionally request future higher-timeframe data.
However, the currently forming higher-timeframe candle can continue changing until that higher-timeframe candle closes.
This means the realtime HTF filter state can change while the active higher-timeframe candle is still developing.
Users who require fully closed higher-timeframe confirmation should account for this timing characteristic when interpreting realtime signals.
Changing the HTF Trend Timeframe recalculates historical eligibility.
━━━━━━━━━━━━━━━━━━━━━━
🎯 ENTRY MODEL
━━━━━━━━━━━━━━━━━━━━━━
The indicator uses the close of the divergence-confirmation candle as the tracked entry reference.
A bullish trade is opened when:
• valid bullish divergence is confirmed
• no bearish divergence conflict exists
• bullish trend permission is true
• no trade is active
• no trade closed on the same candle
• ATR is valid
A bearish trade uses the mirrored conditions.
The entry is stored at close.
The script then calculates:
• ATR-based risk distance
• Stop Loss
• TP1
• TP2
• TP3
Only signals that actually open a tracked trade receive the main-chart BULLISH or SELL entry label.
A divergence visual without an entry label can therefore indicate:
• trend-filter rejection
• existing active trade
• same-candle direction conflict
• same-candle previous trade closure
• unavailable ATR
━━━━━━━━━━━━━━━━━━━━━━
🛑 ATR STOP LOSS MODEL
━━━━━━━━━━━━━━━━━━━━━━
Risk distance is calculated as:
ATR × Stop Loss Distance.
Default settings:
• ATR Period: 14
• Stop Loss Distance: 2.0 ATR
Bullish trade:
Stop Loss = entry − risk distance
Bearish trade:
Stop Loss = entry + risk distance
ATR adapts the raw price distance to current market volatility.
The script does not examine:
• market structure below the bullish signal
• market structure above the bearish signal
• spread
• instrument tick value
• account size
• position size
• broker margin
• contract specifications
The ATR Stop Loss is a visual and statistical model.
It is not a broker order.
━━━━━━━━━━━━━━━━━━━━━━
🏆 TP1 / TP2 / TP3 MODEL
━━━━━━━━━━━━━━━━━━━━━━
The user selects the final TP3 target from 1R to 7R.
The default is 2R.
TP1 and TP2 are placed automatically inside the final target distance.
TP1:
one-third of the TP3 distance
TP2:
two-thirds of the TP3 distance
For a 3R TP3 setting:
• TP1 = 1R
• TP2 = 2R
• TP3 = 3R
For a 2R TP3 setting:
• TP1 ≈ 0.67R
• TP2 ≈ 1.33R
• TP3 = 2R
TP1 and TP2 are visual guide levels.
The current statistics engine does not close partial positions at TP1 or TP2.
It does not move Stop Loss to break even after TP1 or TP2.
It does not add partial R profit when TP1 or TP2 is touched.
Only TP3 is counted as a winning trade.
A Stop Loss is counted as -1R.
━━━━━━━━━━━━━━━━━━━━━━
🚦 ONE ACTIVE TRADE AT A TIME
━━━━━━━━━━━━━━━━━━━━━━
The trade engine maintains one active tracked position.
While a trade is active:
• new bullish divergence entries are not opened
• new bearish divergence entries are not opened
• divergence visuals can still appear
• historical divergence lines can still be drawn
This prevents overlapping tracked positions from affecting the statistics model.
A new trade is also prevented from opening on the same candle that the previous trade closes.
The next eligible divergence must occur on a later candle.
This design keeps each tracked result independent under the script’s internal accounting rules.
━━━━━━━━━━━━━━━━━━━━━━
⚠️ TP3 / SL SAME-CANDLE HANDLING
━━━━━━━━━━━━━━━━━━━━━━
Historical OHLC candles do not reveal the exact sequence of every intrabar price movement.
A candle can contain both:
• the TP3 price
• the Stop Loss price
When both are touched inside the same candle, the script cannot know from OHLC data which level occurred first.
The engine uses a conservative rule:
Stop Loss receives priority.
The trade is recorded as a loss.
TP3 and Stop Loss checks begin on the candle after entry.
The entry candle cannot immediately close the tracked trade.
This avoids assuming an unknown movement sequence inside the entry candle.
The conservative priority rule can produce different outcomes from lower-timeframe or tick-based execution reconstruction.
━━━━━━━━━━━━━━━━━━━━━━
📦 TRADE BOX VISUAL SYSTEM
━━━━━━━━━━━━━━━━━━━━━━
Each tracked trade creates two main-chart boxes:
Profit Box
Extends from entry to TP3.
Stop Box
Extends from entry to Stop Loss.
Bullish and bearish trades use the same green profit-area and red risk-area color logic.
While the trade remains active, the boxes extend to the current bar.
When the trade closes, the boxes stop at the exit candle and remain visible historically.
The boxes help visualize:
• entry timing
• risk distance
• final target distance
• trade duration
• exit candle
The boxes are chart drawings.
They are not broker orders.
Older boxes are deleted when the internal historical object limit is exceeded.
━━━━━━━━━━━━━━━━━━━━━━
🏷️ ACTIVE AND HISTORICAL PRICE LABELS
━━━━━━━━━━━━━━━━━━━━━━
During an active tracked trade, the right side of the chart displays dynamic labels for:
• ENTRY
• SL
• TP1
• TP2
• TP3
Each label includes the current stored price.
The labels move to the newest bar while the trade remains active.
On the exit candle, the final prices remain visible for that calculation.
When the trade closes, permanent historical labels are created for:
• TP1
• TP2
• TP3
These historical labels remain attached to the completed trade’s right edge.
The purpose is to preserve the target-price structure after the active dynamic labels disappear.
Historical TP labels do not indicate that TP1 or TP2 was actually touched.
They display the planned target prices for the completed tracked trade.
The final result is determined only by TP3 or Stop Loss.
━━━━━━━━━━━━━━━━━━━━━━
✅ RESULT LABELS
━━━━━━━━━━━━━━━━━━━━━━
When TP3 is reached, the script prints:
TARGET HIT
The trade is counted as a win equal to the selected TP3 R value.
When Stop Loss is reached, the script prints:
SL
The trade is counted as a -1R loss.
Result labels are displayed at the corresponding exit price.
All visible chart labels use bold-italic typography.
Dark Mode label text uses pure white.
Light Mode uses dark text where required for contrast.
━━━━━━━━━━━━━━━━━━━━━━
🎨 THEME SYSTEM
━━━━━━━━━━━━━━━━━━━━━━
The indicator includes three theme modes:
• Dark Mode
• Light Mode
• Mobile Theme
Dark Mode
Designed for dark TradingView layouts.
It uses:
• black RSI-panel background
• dark dashboard surface
• white dashboard text
• pure-white chart-label text
• red brand accents
• green bullish visuals
• red bearish visuals
Light Mode
Designed for light TradingView layouts.
It uses:
• white RSI-panel background
• white dashboard surface
• dark dashboard text
• dark chart-label text where appropriate
• red brand accents
• adjusted divergence transparency
Mobile Theme
Designed for smaller screens.
It uses:
• compact main-chart labels
• smaller RSI labels
• tiny price labels
• a two-row dashboard
• Win Rate
• NET R
Mobile Theme does not display the full desktop statistics table.
Theme selection changes presentation.
It does not change the underlying divergence, trend-filter, or trade calculations.
━━━━━━━━━━━━━━━━━━━━━━
📟 DASHBOARD
━━━━━━━━━━━━━━━━━━━━━━
Dark Mode and Light Mode display the full bottom-right dashboard.
The header displays:
• RSI DIVERGENCE
• selected TP3 R value
• active Trend Filter
The full dashboard includes:
Status
Possible values:
• NO ACTIVE TRADE
• ACTIVE BUY
• ACTIVE SELL
Closed Trades
Number of completed tracked trades.
TP3 Wins
Number of trades that reached TP3 before Stop Loss under the script’s bar-touch rules.
Losses
Number of trades recorded at Stop Loss.
Win Rate
TP3 Wins divided by Closed Trades.
NET R
Gross Profit R minus Gross Loss R.
Gross Profit
Sum of winning TP3 R values.
Gross Loss
Number of losing trades expressed as R because every Stop Loss equals -1R.
Average / Trade
NET R divided by Closed Trades.
Profit Factor
Gross Profit R divided by Gross Loss R.
Mobile Theme displays only:
• Win Rate
• NET R
The dashboard is placed on the main chart even though the indicator calculates in a separate RSI pane.
━━━━━━━━━━━━━━━━━━━━━━
📊 STATISTICS METHODOLOGY
━━━━━━━━━━━━━━━━━━━━━━
The statistics are produced by the script’s internal bar-based trade tracker.
They are not imported from a broker.
They are not verified account results.
They are not TradingView Strategy Tester results.
Win Rate:
wins / closed trades
Gross Profit R:
wins × selected TP3 R
Gross Loss R:
losses × 1R
NET R:
Gross Profit R − Gross Loss R
Average R:
NET R / closed trades
Profit Factor:
Gross Profit R / Gross Loss R
When there are profitable trades but no recorded losses, the script displays 999 as a finite placeholder instead of mathematical infinity.
The statistics do not include:
• TP1 partial profits
• TP2 partial profits
• break-even exits
• trailing stops
• spread
• commission
• slippage
• swap
• latency
• order rejection
• partial fills
• position sizing
• account equity
• compounding
• taxes
Statistics depend on:
• loaded chart history
• selected symbol
• timeframe
• data provider
• Pivot Lookback
• Confirmation Bars
• Trend Filter
• HTF Trend Timeframe
• ATR Period
• Stop Loss multiplier
• TP3 target
• historical-data revisions
Changing any of these inputs can change historical results.
━━━━━━━━━━━━━━━━━━━━━━
🚨 ALERT SYSTEM
━━━━━━━━━━━━━━━━━━━━━━
The script includes static TradingView alert conditions for:
• Regular Bullish Divergence
• Hidden Bullish Divergence
• Regular Bearish Divergence
• Hidden Bearish Divergence
• BUY Entry
• SELL Entry
• TP3 Hit
• Stop Loss Hit
Regular bullish and bearish divergence are enabled in the current public configuration.
Hidden bullish and hidden bearish divergence logic is internally disabled.
The hidden alert choices can therefore appear in TradingView’s alert-condition list, but no hidden divergence event is produced while the internal hidden-divergence switches remain disabled.
The script also includes dynamic alert() calls for:
• BUY entry
• SELL entry
• TP3 hit
• Stop Loss hit
Dynamic BUY and SELL messages can include:
• tradewsamet identifier
• chart ticker
• chart timeframe
• entry price
• TP1 price
• TP2 price
• TP3 price
• Stop Loss price
• final R target
• active Trend Filter
This allows one TradingView alert using:
Any alert() function call
to receive all dynamic entry and result events.
━━━━━━━━━━━━━━━━━━━━━━
🔔 HOW TO USE ALERTS
━━━━━━━━━━━━━━━━━━━━━━
For a specific static event:
1. Add RSI Divergence Entry Engine to the chart.
2. Open TradingView’s Create Alert window.
3. Select the indicator as the condition.
4. Choose the required event.
5. Select the notification method.
6. Use an appropriate frequency.
7. Test the alert before relying on it.
For one combined dynamic workflow:
1. Add the indicator to the chart.
2. Open Create Alert.
3. Select RSI Divergence Entry Engine .
4. Select Any alert() function call.
5. Configure the delivery method.
6. Test BUY, SELL, TP3, and SL message handling.
When the script, settings, symbol, or timeframe changes materially, recreate existing alerts.
A TradingView alert can continue using the script snapshot stored when the alert was created.
Alerts are monitoring tools.
They do not execute, modify, or close broker orders.
━━━━━━━━━━━━━━━━━━━━━━
🧪 HOW TO USE THE INDICATOR
━━━━━━━━━━━━━━━━━━━━━━
A practical workflow:
1. Add RSI Divergence Entry Engine to a standard candlestick chart.
2. Select Dark Mode, Light Mode, or Mobile Theme.
3. Begin with Pivot Lookback set to 5.
4. Begin with Confirmation Bars set to 1.
5. Observe the RSI-panel divergence structures.
6. Observe the matching neon price-pivot lines on the main chart.
7. Remember that the pivot visual becomes available only after right-side confirmation.
8. Distinguish the neon divergence line from the later tracked entry label.
9. Begin with Trend Filter set to Off when studying raw divergence frequency.
10. Test EMA Trend for chart-timeframe directional alignment.
11. Test Supertrend for volatility-based directional alignment.
12. Test HTF Trend for higher-timeframe EMA context.
13. Verify the selected HTF timeframe.
14. Review the main-chart trend reference.
15. Observe whether a BULLISH or SELL entry label is accepted.
16. Review ENTRY, SL, TP1, TP2, and TP3 prices.
17. Observe the profit and risk boxes.
18. Remember that TP1 and TP2 are visual only.
19. Review the final TARGET HIT or SL result.
20. Review dashboard Win Rate and NET R.
21. Compare Dark/Light full dashboard with Mobile Theme.
22. Use alerts for monitoring rather than blind execution.
23. Review broader market structure independently.
24. Review spread, liquidity, volatility, and news conditions.
25. Define personal account risk and position size.
26. Test the exact symbol, timeframe, and data feed personally used.
The indicator is designed for structured study and monitoring.
It should not be treated as an automatic decision-maker.
━━━━━━━━━━━━━━━━━━━━━━
⚙️ SETTINGS REFERENCE
━━━━━━━━━━━━━━━━━━━━━━
🎨 Theme
Theme Mode
Dark Mode
Uses the full dark visual profile.
Light Mode
Uses the full light visual profile.
Mobile Theme
Uses compact labels and a two-row dashboard.
━━━━━━━━━━━━━━━━━━━━━━
🎯 Signal Settings
Pivot Lookback
Controls the left-side pivot search width.
Default:
5
Higher values generally create larger and less frequent pivot structures.
Confirmation Bars
Controls the number of right-side completed candles required to confirm the RSI pivot.
Default:
1
Increasing the value increases confirmation delay.
Chart Signal Label Size
Controls the main-chart BULLISH and SELL entry-label size.
Available values:
• Tiny
• Small
• Normal
• Large
• Huge
Mobile Theme overrides the selected size with a compact layout.
━━━━━━━━━━━━━━━━━━━━━━
🧭 Trend Filter
Trend Filter
Available modes:
• Off
• EMA Trend
• Supertrend
• HTF Trend
Off
Allows tracked bullish and bearish entries without directional trend filtering.
EMA Trend
Uses chart close relative to EMA 200.
Supertrend
Uses ATR 10 and factor 3.0.
HTF Trend
Uses selected higher-timeframe close relative to higher-timeframe EMA 200.
HTF Trend Timeframe
Selects the higher timeframe used by HTF Trend.
Default:
240 minutes
This setting has no effect when HTF Trend is not selected.
━━━━━━━━━━━━━━━━━━━━━━
🛡️ Trade Management
ATR Period
Controls the ATR used for risk-distance calculations.
Default:
14
Stop Loss Distance (ATR)
Multiplies ATR to calculate the Stop Loss distance.
Default:
2.0
TP3 Target (R)
Selects the final target from 1R to 7R.
Default:
2R
TP1 and TP2 are calculated automatically from the TP3 distance.
All public input values are hidden from TradingView’s status line to reduce chart-header clutter.
━━━━━━━━━━━━━━━━━━━━━━
🧠 WHAT MAKES THIS SCRIPT ORIGINAL
━━━━━━━━━━━━━━━━━━━━━━
RSI, divergence, EMA, Supertrend, ATR, risk/reward targets, and trade statistics are established technical-analysis concepts.
These concepts are not unique by themselves.
The originality of RSI Divergence Entry Engine lies in the coordinated workflow applied to them:
fixed RSI calculation
→ confirmed oscillator pivots
→ price / RSI regular divergence comparison
→ pivot-distance validation
→ RSI-path divergence filling
→ main-chart three-layer neon pivot lines
→ optional chart or higher-timeframe trend filtering
→ one-active-trade state
→ confirmation-candle entry
→ ATR-normalized Stop Loss
→ proportional TP1 / TP2 placement
→ adjustable TP3 R target
→ conservative OHLC exit handling
→ permanent risk/reward history
→ historical target-price labels
→ theme-aware chart output
→ mobile-specific dashboard
→ internal R-based statistics
→ static and dynamic alert workflows
Distinctive implementation features include:
• separating divergence context from accepted tracked entries
• displaying the same confirmed divergence in the RSI pane and on the main chart
• filling the RSI path-to-divergence region
• using a three-layer neon price-divergence line
• preserving trade boxes after closure
• preserving TP1, TP2, and TP3 planned prices historically
• allowing multiple direction-filter models inside one entry workflow
• maintaining one tracked trade at a time
• applying conservative Stop Loss priority when TP3 and SL share a candle
• offering theme-specific dashboard behavior
• reducing the Mobile Theme dashboard to Win Rate and NET R
• supporting static conditions and combined dynamic alert() messages
• keeping public settings compact while documenting fixed internal values
The script is not a collection of unrelated indicators placed on one chart.
Every component supports the same objective: converting a confirmed RSI divergence into a transparent, filterable, volatility-mapped, historically reviewable entry framework.
━━━━━━━━━━━━━━━━━━━━━━
⚠️ IMPORTANT PRACTICAL NOTES
━━━━━━━━━━━━━━━━━━━━━━
Signal frequency depends on:
• symbol
• timeframe
• data provider
• Pivot Lookback
• Confirmation Bars
• fixed 5–60 bar pivot-distance window
• Trend Filter
• HTF Trend Timeframe
• existing active-trade state
• ATR availability
• available historical data
Higher Pivot Lookback values can reduce frequency.
Higher Confirmation Bars values increase delay.
EMA Trend can reject counter-position signals relative to EMA 200.
Supertrend can change direction after price movement.
HTF Trend can remain sensitive to the currently developing higher-timeframe candle.
Only one tracked trade can be active.
A divergence can therefore be visible without becoming a tracked trade.
TP1 and TP2 are not partial exits.
Historical TP1, TP2, and TP3 labels display planned prices, not proof that every level was touched.
Dashboard statistics use loaded chart history only.
Different brokers or exchanges can produce different:
• highs
• lows
• closes
• RSI pivots
• ATR values
• divergence signals
• trend-filter states
• TP3 / SL outcomes
• dashboard statistics
Changing the chart’s available history can change the first eligible pivot pair and all later trade-state sequencing.
━━━━━━━━━━━━━━━━━━━━━━
⚠️ LIMITATIONS AND SHORTCOMINGS
━━━━━━━━━━━━━━━━━━━━━━
This script has important limitations:
It does not guarantee profitable trades.
It does not predict future price movement.
It does not execute orders.
It does not place broker Stop Loss orders.
It does not place broker Take Profit orders.
It does not calculate position size.
It does not calculate account risk.
It does not include spread.
It does not include commission.
It does not include slippage.
It does not include latency.
It does not include swap or financing.
It does not model partial fills.
It does not model order rejection.
It does not model contract specifications.
It does not model tick-by-tick execution.
It uses historical OHLC bars.
It cannot always determine whether TP3 or SL occurred first inside one candle.
It resolves same-candle TP3 / SL ambiguity in favor of Stop Loss.
It does not record TP1 or TP2 as partial profit.
It does not move Stop Loss to break even.
It does not trail Stop Loss.
It maintains one active tracked trade.
It can ignore otherwise valid new entries while a trade is active.
It uses pivot confirmation.
Pivot visuals are not available on the original pivot candle in realtime.
RSI pivot visuals are placed at the historical pivot location after confirmation.
Main-chart neon lines are created after divergence confirmation.
The HTF filter can change while the current higher-timeframe candle remains open.
A confirmed divergence can fail.
A trend-aligned divergence can fail.
A larger divergence area does not guarantee a stronger result.
A neon divergence line is not guaranteed support or resistance.
A TARGET HIT label is not broker-verified execution.
Dashboard statistics are not audited performance.
Profit Factor displays 999 when wins exist without recorded losses.
Changing settings recalculates historical conditions.
Changing symbol, timeframe, provider, or available history can change output.
Alert delivery depends on TradingView and user configuration.
Alerts do not guarantee broker execution.
For these reasons, the indicator should be used as an educational decision-support and chart-review tool, not as a standalone automated strategy.
━━━━━━━━━━━━━━━━━━━━━━
👤 WHO THIS SCRIPT MAY BE USEFUL FOR
━━━━━━━━━━━━━━━━━━━━━━
This script may be useful for traders who:
• understand basic RSI divergence
• want regular bullish and bearish divergence visuals
• prefer pivot-confirmed structures
• want divergence displayed in both RSI and price
• want a clear neon main-chart divergence line
• want optional trend filtering
• use EMA 200
• use Supertrend
• use higher-timeframe direction
• want ATR-based risk mapping
• want adjustable R targets
• want historical risk/reward boxes
• want historical planned TP prices
• want one-active-trade statistics
• want Dark, Light, and Mobile themes
• want static alerts
• want one combined dynamic alert
• understand that chart statistics are not verified trading results
It may be less suitable for users who:
• want signals on the unconfirmed pivot candle
• want no pivot delay
• want hidden divergence enabled publicly
• want every divergence to open a trade
• want multiple overlapping tracked trades
• want partial TP accounting
• want automatic break-even management
• want trailing stops
• want tick-level backtesting
• want verified Strategy Tester results
• want broker execution
• want guaranteed reversal signals
• expect a high Win Rate to continue unchanged
• expect the HTF filter to remain fixed before the higher-timeframe candle closes
━━━━━━━━━━━━━━━━━━━━━━
🧭 BEST PRACTICE SUGGESTIONS
━━━━━━━━━━━━━━━━━━━━━━
For studying raw divergence behavior:
• use Trend Filter Off
• begin with Pivot Lookback 5
• begin with Confirmation Bars 1
• observe divergence visuals before evaluating trades
• distinguish pivot location from confirmation timing
For trend-aligned divergence:
• test EMA Trend
• test Supertrend
• compare signal frequency
• review whether the filter removes useful countertrend setups
For broader directional context:
• test HTF Trend
• use a higher timeframe meaningfully above the chart timeframe
• remember that the active HTF candle can change before closing
For trade mapping:
• begin with ATR 14
• begin with Stop Loss Distance 2.0 ATR
• begin with TP3 2R
• remember that TP1 and TP2 are visual only
• review same-candle TP3 / SL cases conservatively
For chart clarity:
• use Dark Mode on dark chart layouts
• use Light Mode on light chart layouts
• use Mobile Theme on small screens
• adjust the main-chart entry-label size
• use neon divergence lines as context, not automatic entries
Always:
• wait for divergence confirmation
• review broader price structure
• review liquidity and volatility
• review session conditions
• review news risk
• define personal account risk
• define personal position size
• test the exact symbol and timeframe
• verify alerts before relying on them
• remember that every divergence can fail
━━━━━━━━━━━━━━━━━━━━━━
🔓 PUBLICATION NOTE
━━━━━━━━━━━━━━━━━━━━━━
RSI Divergence Entry Engine is published as an educational RSI-divergence, directional-filtering, ATR trade-mapping, historical-visualization, and alert tool.
The purpose of this description is to explain:
• how RSI is calculated
• how RSI pivot lows and highs are confirmed
• how Pivot Lookback affects structure selection
• how Confirmation Bars affect delay
• how the fixed pivot-distance window works
• how regular bullish divergence is identified
• how regular bearish divergence is identified
• how divergence is displayed inside the RSI pane
• how the RSI divergence area is filled
• how corresponding price pivots are displayed with neon lines
• when the pivot visuals become available
• why pivot visuals appear at historical pivot locations
• why tracked entries are placed on confirmation-candle close
• how the trend filter affects entries without hiding divergence context
• how EMA Trend works
• how Supertrend works
• how HTF Trend works
• how currently forming higher-timeframe candles affect realtime context
• how ATR risk distance is calculated
• how Stop Loss is placed
• how TP1, TP2, and TP3 are calculated
• why TP1 and TP2 are visual only
• why only TP3 counts as a win
• how one-active-trade handling works
• how same-candle TP3 / SL ambiguity is resolved
• how historical trade boxes are retained
• what historical TP labels represent
• how Dark Mode, Light Mode, and Mobile Theme differ
• what the dashboard displays
• how Win Rate, NET R, Average R, and Profit Factor are calculated
• why the statistics are not broker-verified
• what static alert conditions are available
• how “Any alert() function call” works
• what the script does not simulate
• why the combined modules form one coordinated workflow
The script is designed to support structured review.
It does not promise profitable results.
It does not remove market risk.
It does not replace independent analysis.
It does not replace personal risk management.
━━━━━━━━━━━━━━━━━━━━━━
🕒 REPAINTING, BACKPLOTTING, AND TIMING DISCLOSURE
━━━━━━━━━━━━━━━━━━━━━━
RSI Divergence Entry Engine uses pivot functions.
Pivot confirmation requires future candles relative to the original pivot location.
The number of required right-side candles is controlled by Confirmation Bars.
The script does not know that a pivot exists on the original pivot candle.
After the right-side candles close:
• the pivot becomes confirmed
• the divergence can be calculated
• the RSI divergence line is displayed at the historical pivot locations
• the RSI divergence label is displayed at the confirmed pivot location
• the main-chart neon line connects the corresponding historical price pivots
This historical placement is a visual back-reference to the confirmed pivot structure.
It must not be interpreted as a realtime signal that was available on the original pivot candle.
The tracked trade entry is not backdated.
The tracked trade opens at the close of the later confirmation candle when all entry rules are valid.
The main-chart BULLISH or SELL entry label appears on that confirmation candle.
Trade outcome checks begin on the following candle.
The HTF Trend request uses lookahead_off.
It does not intentionally access future higher-timeframe values.
However, the current higher-timeframe candle can continue developing in realtime until it closes.
Historical results can change when:
• Pivot Lookback changes
• Confirmation Bars changes
• Trend Filter changes
• HTF Trend Timeframe changes
• ATR settings change
• TP3 target changes
• chart symbol changes
• timeframe changes
• exchange or broker feed changes
• historical data is revised
• available chart history changes
Confirmed chart-bar calculations reduce unfinished current-chart-candle changes.
They do not remove pivot confirmation delay, historical pivot placement, HTF live-candle variation, data-feed differences, or market risk.
━━━━━━━━━━━━━━━━━━━━━━
🛡️ DISCLAIMER
━━━━━━━━━━━━━━━━━━━━━━
RSI Divergence Entry Engine is provided for educational and informational purposes only.
It does not constitute financial, investment, trading, legal, accounting, or tax advice.
No indicator can guarantee future results.
Markets are uncertain.
Momentum changes.
Volatility changes.
Trend changes.
Liquidity changes.
Historical chart behavior does not ensure future performance.
Every user is responsible for their own:
• analysis
• validation
• symbol selection
• timeframe selection
• trend-filter selection
• execution planning
• Stop Loss placement
• target planning
• position sizing
• risk management
• alert configuration
• trading decisions
• broker execution
• legal obligations
• tax obligations
The RSI pivots, divergence lines, divergence fills, neon price-pivot lines, trend references, BULLISH labels, SELL labels, ENTRY labels, Stop Loss levels, TP1 levels, TP2 levels, TP3 levels, trade boxes, historical target labels, TARGET HIT labels, SL labels, dashboard statistics, Win Rate, NET R, Average R, Profit Factor, and alerts are visual analysis tools only.
A bullish divergence is not a guaranteed reversal.
A bearish divergence is not a guaranteed reversal.
An EMA-aligned signal is not guaranteed to succeed.
A Supertrend-aligned signal is not guaranteed to succeed.
A higher-timeframe aligned signal is not guaranteed to succeed.
A TARGET HIT label is not proof of an actual broker fill.
An SL label is not proof of an actual broker fill.
The dashboard is not verified account performance.
The statistics are not audited.
The script does not include spread, commission, slippage, latency, financing, partial fills, order rejection, position sizing, account equity, or broker-specific execution behavior.
Use the script as a structured RSI-divergence review, directional-filtering, trade-mapping, and monitoring framework—not as a promise of profitability or a substitute for independent judgment.
Indicateur

Momentum Pulse SignalsMomentum Pulse Signals
This indicator generates Buy/Sell badges from a simple momentum score (the "pulse"), then automatically manages an ATR-based stop loss and a risk:reward-based take profit for each signal, showing the resulting entry/stop/target levels directly on the chart.
The pulse is just two common indicators added together. RSI is re-centred so 50 becomes 0 and the range becomes −1 to +1. The MACD histogram is divided by its own recent standard deviation and clipped to the same −1 to +1 range, so it scales itself to whatever the instrument's normal histogram size happens to be. The two are blended with an adjustable weight. When the blended value pushes past a positive trigger level the state flips bullish; when it pushes past the negative trigger level it flips bearish. A badge prints on the flip. That's the whole idea.
Key Features
Blended RSI + MACD-histogram score generates the base Buy/Sell signal, with an optional candle-confirmation requirement (close beyond open in the signal direction).
The MACD part is normalised by its own rolling standard deviation, so the same trigger level works across instruments without rescaling.
A trigger level with a dead zone around zero means the state only flips on a decisive move, not on every wiggle across zero.
Optional slope filter: the pulse must also be moving in the signal's direction over the last few bars.
Automatic ATR-based stop loss and configurable Risk:Reward take profit are calculated for every new signal, with intermediate take-profit levels plotted when Risk:Reward is greater than 1.
On-chart entry / stop-loss / take-profit lines and an SL distance (in points) label, both toggleable.
Take-profit, stop-loss, and "invalidated" (opposite signal fired before target/stop was hit) markers are plotted separately so you can see how each trade idea played out.
Optional baseline plot coloured by whether the pulse is positive or negative.
Real-price calculation via request.security() keeps signals consistent regardless of chart type (Heikin Ashi, Renko, etc.).
A full set of alertcondition() calls for Buy/Sell signals, take-profit hits, stop-loss hits, and invalidated entries.
How to Use
Start with the defaults. Raise the Pulse Trigger Level if you want fewer badges, lower it if you want more.
Shorten the Normalization Length to make the MACD side react faster, lengthen it to make it steadier.
Move the RSI Weight toward 1 to lean on RSI, toward 0 to lean on MACD.
Turn the slope filter off if you want signals the moment the level is crossed rather than waiting for agreement.
Watch the on-chart entry/SL/TP lines to track an open idea's risk and progress.
Set alerts on "Buy/Sell Signal", "Entry Signal", "Take Profit Hit", "Stop Loss Hit", or "Entry Invalidated" depending on which events you want. Indicateur

Divergence Indicator RSI, MACD,, Hidden Reversal Signals LunqFXDivergence Indicator is a multi-engine divergence scanner for TradingView that reads RSI, MACD and OBV at every confirmed swing and only draws a divergence when the engines agree — so instead of the usual flood of weak one-oscillator signals, you get a few graded, high-conviction ones. Every divergence is rated by strength: ★★★ all three engines confirm (rare, strongest), ★★ two confirm, single-engine noise is filtered out by default. It detects regular divergences (price makes a new extreme, oscillators refuse — potential reversal) and hidden divergences (trend continuation), on any market — forex, crypto, stocks, indices, gold — and any timeframe. Built in Pine Script v6, fully non-repainting. Keywords: divergence indicator, RSI divergence, MACD divergence, OBV divergence, hidden divergence, regular divergence, reversal, momentum, exhaustion, multi oscillator scanner.
◆ WHY MULTI-ENGINE
Any single oscillator diverges constantly — that's why classic divergence tools feel random. Requiring independent confirmation from momentum (RSI), trend-momentum (MACD) and volume flow (OBV) removes most false positives: when all three refuse to follow price, the move is genuinely running out of fuel.
◆ WHAT IT DRAWS
Divergence lines on price — solid neon violet for bullish, neon amber for bearish; dashed for hidden divergences.
Star-graded labels — ★★ / ★★★ with tooltips explaining exactly what diverged.
Exhaustion candles — a unique display layer: candles glow at full neon while price and engines agree, and fade as engines stop confirming — you see a divergence brewing before it prints.
Status strip dashboard — a horizontal HUD along the bottom: last signal + strength, a live engine board (P / RSI / MACD / OBV direction arrows), a FUEL meter, and bull/bear counters.
◆ HOW IT WORKS
Swings are detected with confirmed pivots (N closed bars each side).
At each new confirmed pivot the scanner compares price and each engine against the previous pivot: price lower low + engine higher low = regular bull; price higher low + engine lower low = hidden bull (mirrored for highs).
The number of agreeing engines (1–3) becomes the star rating; signals below your minimum are skipped.
The live engine board and fuel meter track slope agreement in real time — display-only context that never alters signals.
◆ HOW TO USE IT
Treat ★★★ regular divergences as your primary reversal alerts — look for entries with your own structure/levels.
Use hidden divergences to join the trend on pullbacks.
Watch the FUEL meter: when it drains and candles fade, tighten stops on trend trades.
Raise Min strength to 3 for only the rarest, cleanest signals; lower pivot bars for faster (but noisier) detection.
◆ SETTINGS
Pivot left/right bars, max gap between swings, minimum strength, hidden divergences on/off, engine toggles (RSI/MACD/OBV), RSI length, exhaustion candles, label size, dashboard position/size.
◆ ALERTS
Bullish divergence · Bearish divergence (fire when a confirmed signal prints).
◆ LIMITATIONS
Signals confirm with a pivot delay (right bars) — that is the honest cost of zero repaint; lower it for speed, raise it for reliability.
On symbols without volume data the OBV engine adds no information — disable it there.
Divergence marks exhaustion, not timing — always combine with structure and risk management.
◆ ORIGINALITY & NON-REPAINTING
Original work: the three-engine agreement grading, the exhaustion-candle layer, the live engine board and the fuel meter are my own implementation — no third-party code. All divergences are built from confirmed pivots only; a drawn line or label never moves or disappears.
Educational analysis tool, not financial advice. © LunqFX. Indicateur

RSI Core Levels Heatmap [BigBeluga]🔵 OVERVIEW
The RSI Core Levels Heatmap turns the standard Relative Strength Index (RSI) indicator into powerful support and resistance lines drawn directly on your main price chart. Instead of forcing you to constantly look down at a separate oscillator window, this script automatically finds hidden momentum levels and projects them right where you trade, helping you spot key reversal floors and ceilings instantly.
🔵 FEATURES
The system uses a smart layout tracking engine to map momentum without cluttering your screen:
1 — Momentum-Mapped Support & Resistance Lines
Signal Line Crossover Alerts: The indicator tracks momentum changes using a smooth Signal Line Length . When the raw RSI line crosses above or below this signal line, it triggers a setup.
Smart Price Capture: The moment a crossover happens, the engine looks back at the last 10 candles. If it is a bullish bounce, it finds the low price; if it is a bearish drop, it grabs the high price.
Direct Chart Overlay: It takes those key prices and draws clean support or resistance lines right on your main chart with clear labels.
2 — No-Clutter Overlap Protection Logic
Collision Checker: To stop your chart from looking like a messy spiderweb, the indicator checks if a new line is being drawn too close to an old one.
Duplicate Blocking: If a new level lands directly on top of an existing active zone, the script blocks it automatically to keep your trading area perfectly clean.
// Strict Collision Box Overlap Detection Matrix
is_overlapping_existing_block(high_val, low_val) =>
overlap = false
if array.size(activeBlocks) > 0
for i = 0 to array.size(activeBlocks) - 1
BlockLevel item = array.get(activeBlocks, i)
if (high_val <= item.topPrice and high_val >= item.botPrice) or (low_val >= item.botPrice and low_val <= item.topPrice) or (high_val >= item.topPrice and low_val <= item.botPrice)
overlap := true
break
overlap
3 — Active Line Lifecycle & FIFO System
Automatic Extension: All active, unbroken support and resistance lines automatically stretch forward on every new candle so they stay fresh.
Broken Line Changes: When price actions breaks through a line, the script instantly changes its style to a thin, grey dashed line and stops tracking it. This shows you exactly where historical levels failed.
Levels Heat Color: Each support and resistance level color intense is based on the rsi value at the moment level was created.
FIFO (First-In, First-Out) Lag Protection: To keep your TradingView running fast without any lag, you can set a Max Active Levels & Labels limit. When you reach this cap, the oldest lines drop off the chart first (First-In, First-Out) to make room for new ones.
// Object Array State Lifecycle Management Snippet
if array.size(activeBlocks) > 0
for i = array.size(activeBlocks) - 1 to 0
BlockLevel item = array.get(activeBlocks, i)
bool broken = item.isBull ? (close < item.botPrice) : (close > item.topPrice)
if broken
label.delete(item.lvlLabel)
line.set_style(item.lvlLine, line.style_dashed)
line.set_color(item.lvlLine, color.gray)
line.set_width(item.lvlLine, 1)
array.remove(activeBlocks, i)
else
line.set_x2(item.lvlLine, bar_index)
label.set_x(item.lvlLabel, bar_index)
4 — Gradient Heatmap Ribbon & Proximity Dashboard
Color-Changing Ribbon blocks: The bottom sub-pane features a smooth gradient ribbon that tracks market extremes. It lights up bright green during deep oversold conditions, bright red when overbought, and turns yellow during tight consolidations ( Show Midline Squeeze Zone ).
Distance Telemetry HUD Table: A clean on-screen table calculates exactly how close the current price is to your nearest active support or resistance level in points and exact percentages.
🔵 HOW TO USE
Using this simple multi-layer blueprint helps you manage setups step-by-step:
Trading Reversals and Bounces: Watch the chart when price falls down toward a green support line. If the Dashboard Table shows the distance getting very close to 0% and the bottom ribbon is flashing deep green (oversold), look for a long bounce trade off the level.
Managing Risk and Trailing Stops: If you enter long at a support line, use that level as your risk floor. If price flushes below it, the indicator will instantly turn the line grey and dashed, letting you know the setup is invalid and it is time to cut the trade.
Spotting Squeeze Breakouts: When the bottom ribbon stays yellow, it means the market is squeezing sideways. Watch your distance dashboard closely; when price breaks out of the squeeze and flies toward your outer lines, you can ride the explosive momentum expansion.
🔵 NOTES
Why this implementation is unique:
It saves screen space by turning abstract momentum data from an oscillator below into highly accurate, tradeable price targets up on your main chart.
The overlap blocker prevents multiple lines from bunching together, keeping your chart clean and easy to read.
The automated FIFO memory cleaning system makes sure the script stays fast and lightweight, no matter how many bars are loaded on your chart.
Indicateur

Adaptive Momentum Oscillator (MTF Signal Framework)📖 Overview
The Adaptive Momentum Oscillator is a multi-layer analytical tool designed to evaluate market momentum through a combination of smoothed price deviation, signal averaging, and regime-based visualization.
Instead of relying on a single momentum calculation, the indicator builds a structured view of market behavior by separating:
underlying momentum pressure
signal smoothing
and trend regime states
This allows traders to interpret market conditions with reduced noise and clearer directional context.
⭐ Key Features
🔹 Multi-Layer Momentum Structure
The oscillator combines raw momentum movement with smoothed signal lines to separate short-term fluctuations from broader directional bias.
🔹 Signal Confirmation Logic
Buy and sell conditions are derived from structured momentum shifts rather than single threshold crossings, helping reduce premature signals in choppy conditions.
🔹 Trend Regime Visualization
The indicator highlights different market phases:
bullish expansion zones
bearish expansion zones
neutral or transition phases
This helps contextualize momentum behavior instead of treating all movement equally.
🔹 Histogram Momentum Tracking
The histogram represents the acceleration and deceleration of momentum, allowing traders to observe weakening or strengthening trends.
🔹 Dynamic Signal Behavior
Signals adapt to market conditions instead of using fixed static rules, improving responsiveness during volatility changes.
📊 How to Interpret
🟢 Buy Signal
Indicates that momentum has shifted upward and confirmation conditions are aligned with bullish pressure.
🔴 Sell Signal
Indicates that momentum has shifted downward and bearish pressure dominates recent structure.
📉 Histogram
Increasing bars = strengthening momentum
Decreasing bars = weakening momentum
Color shifts = regime transitions
🎯 Best Applications
Swing trading
Momentum confirmation
Trend filtering
Reversal detection
Market structure analysis
⚠️ Limitations
This indicator should not be used as a standalone trading system.
Momentum signals may lag during rapid reversals, and additional confirmation from price action or risk management is recommended.
💡 Originality
Unlike traditional oscillators such as MACD or RSI, this script is designed as a multi-layer momentum framework, where:
raw momentum
smoothed signal behavior
and regime classification
are combined into a unified structure.
The goal is not to generate isolated signals, but to provide a continuous model of market momentum behavior across different phases. Indicateur

Indicateur

Participation-Adjusted Momentum [TradeDots]Participation-Adjusted Momentum
Summary
This indicator computes a momentum oscillator that has been adjusted by participation quality . Raw momentum (standardized rate-of-change) is multiplied by a quality blend derived from volume percentile, close-location alignment within the bar, and range-per-volume efficiency. The intent is to differentiate strong momentum supported by participation from moves that look impressive on price alone but occur on thin volume or wide ranges with little net travel. The histogram is colored by one of five interpretable states (Strong Bull, Strong Bear, Thin, Quiet Accumulation, Noisy) so users see at a glance whether to trust a momentum reading.
What is original here
Momentum oscillators (rate-of-change, MACD, RSI) and volume oscillators (volume percentile, MFI) are widely available. This script's contribution is the deliberate combination into a single adjusted reading, plus the five-state classification that maps raw-momentum / participation combinations to labelled regimes. The "Quiet Accumulation" state (low momentum but rising volume percentile) and the "Thin" state (strong momentum but low participation) are specifically called out because they are the most actionable readings — both indicate that the price reading and the order-flow reading disagree, and that disagreement deserves a label.
How it works
Each bar, the following quantities are computed.
Raw momentum. Rate-of-change of close over a configurable length, then z-scored (subtract the mean, divide by the standard deviation) over the normalization lookback. The result is approximately bounded but can exceed plus or minus 3 in extreme moves.
EMA slope. A 50-period EMA's change over a configurable lookback, min-max normalized to 0-100. Used as a secondary directional bias (computed and exposed as a hidden plot, but not directly added to the displayed oscillator).
Volume percentile. Volume rank over the normalization lookback (typically 100 bars).
Close-location value. Where the close sits within the bar's high-low range, expressed as a percentage. For an upward-direction reading, a close near the bar's high indicates buyers won the bar; for a downward-direction reading, a close near the bar's low indicates sellers won.
Participation. Volume percentile (divided by 100) multiplied by direction-aligned close-location value (also normalized to 0-1). Result is in ; higher means "good participation".
Range per volume. Bar range divided by volume. High range per volume means a wide candle moved on thin flow — typical of news spikes, illiquid prints, or false moves. The percentile rank of range-per-volume is inverted (low range-per-volume gives a high "efficiency score") and used as a quality factor.
Quality blend. A weighted combination: 0.4 * participation + 0.4 * range_efficiency + 0.2. The +0.2 floor ensures that even with zero participation and zero efficiency, the adjusted momentum retains 20% of the raw signal so the oscillator does not flatline completely.
Adjusted momentum = raw momentum × quality blend.
State classification (mutually exclusive):
Strong Bull : raw momentum at or above +threshold and participation at or above 0.55
Strong Bear : raw momentum at or below −threshold and participation at or above 0.55
Thin : absolute raw momentum at or above threshold and participation below 0.35 — momentum without volume, a warning state
Quiet Accumulation : absolute raw momentum below the quiet threshold and volume percentile above the quiet-volume floor — flat price but rising participation
Noisy / Low Quality : the catch-all when none of the above apply
The histogram bar color reflects the current state.
Repainting and data integrity
All factors are computed on confirmed bar values; alerts are gated by barstate.isconfirmed. No request.security() calls are made — the script operates entirely on the chart timeframe.
How to read the chart
The primary plot is the adjusted-momentum histogram, colored by state.
A thin overlay line shows the same value with continuous color for easy zero-line reading.
Reference lines at zero and at ±1 standard deviation provide context for how extreme the current reading is.
Hidden plots expose raw momentum, participation, volume percentile, and direction so they are available in the Data Window.
The dashboard panel shows the current state in the header, then numeric readings for raw momentum (in z-units), adjusted momentum, volume percentile, participation, range efficiency, and the quality blend.
Inputs
Inputs are grouped into three sections.
Core Settings : ROC length, percentile / z-score lookback, EMA slope length, slope lookback bars, strong-momentum z-threshold, quiet-accumulation maximum z, quiet-accumulation minimum volume percentile.
Visual Settings : zero-line toggle, ±1σ band toggle, dashboard toggle, panel position and size, panel background color.
Any Alert() function call conditions : per-alert toggles.
Alerts
Four alert conditions are provided, each firing on the first bar the state is entered:
Strong Bull Momentum
Strong Bear Momentum
Quiet Accumulation Detected
Momentum Without Volume (the "Thin" warning state)
Each is declared via alertcondition() and is fired programmatically through alert() when the corresponding input toggle is enabled, with alert.freq_once_per_bar_close. Alert messages include {{ticker}} and {{interval}} placeholders.
How to use this script
This is a confirmation indicator. It does not generate entries on its own.
When considering an entry on price strength alone, check this indicator. A Strong Bull or Strong Bear state confirms that volume and close location support the move.
The "Thin" state is a warning. A breakout that prints during a Thin reading should be treated more cautiously than the same breakout during Strong Bull.
The Quiet Accumulation state can identify periods of base-building before a move and is useful as a "watchlist" signal.
Use alongside a setup-specific indicator for entry timing.
Limitations and honest caveats
Volume quality varies dramatically between markets. On crypto exchanges, wash-trading and bot-driven order flow can produce misleading volume percentile readings. Apply with awareness.
Z-score normalization requires the lookback to contain a representative variety of states. On instruments with strong regime changes, early-bar z-scores may be unreliable until the lookback fills.
The close-location alignment factor reads single-bar close behavior. On gappy markets or after market closes, the alignment may not reflect intraday order flow.
The script does not signal direction independently; it adjusts and labels momentum that is already present.
The +0.2 floor in the quality blend is a design choice to avoid flat-lining the oscillator. Users who want a strict "zero adjustment when participation is zero" reading can set the participation weights higher and adjust the floor by modifying the source code.
Disclaimer
This script is published for informational and educational purposes. It is not investment advice and is not a recommendation to buy or sell any instrument. Adjusted momentum is a descriptive measure, not a prediction of future price. Users are solely responsible for their own trading decisions and risk management.
Indicateur

Heisenberg Uncertainty Bands [JOAT]HEISENBERG UNCERTAINTY BANDS
A novel band-and-state engine inspired by the Heisenberg uncertainty principle: the recognition that for a market, just as for a quantum particle, you cannot simultaneously be certain about both position (where price is) and momentum (how fast it is moving). Heisenberg Uncertainty Bands measures both uncertainties, tracks their empirical floor, classifies the current market into one of three quantum-inspired states — pure position |x⟩, pure momentum |p⟩, or mixed |ψ⟩ — and projects bands around price accordingly.
The principle, translated
In quantum mechanics, Δx · Δp ≥ ℏ/2 — the product of the position uncertainty and the momentum uncertainty cannot fall below a constant called Planck's reduced. For markets the analogue is:
Δx — the rolling standard deviation of price over a configurable window. The uncertainty in where price is sitting.
Δp — the rolling standard deviation of returns (log or arithmetic, configurable) over a separate window. The uncertainty in how fast price is moving.
ℏ̂ (hbar-hat) — the EMA-smoothed long-run product Δx · Δp. The script's empirical estimate of the market-specific lower bound.
Just like in physics, when the market is certain about position (price has been stable), it becomes uncertain about momentum (next direction is unknown) — and vice versa. The script measures both, computes the product, compares it to the empirical floor, and uses the ratio Δx/Δp as the state classifier.
Three quantum states
Pure Position State |x⟩ — Δx/Δp below the position threshold (default 0.40). Price is constrained to a tight band; the next directional move is uncertain. Yellow palette.
Pure Momentum State |p⟩ — Δp/Δx below the momentum threshold (default 0.40). Direction is committed; the range is widening. Magenta palette.
Mixed State |ψ⟩ — neither pure state condition holds. Violet palette.
The state badge on the right of the chart shows the bra-ket glyph (Unicode |x⟩ / |p⟩ / |ψ⟩ by default; can fall back to plain POS / MOM / MIX if your font lacks the brackets). A state cooldown (default 3 bars) debounces flicker.
Band projection
Two band families are projected around the live mid price:
Position bands — mid ± k × Δx. Solid by default. The classic "how wide is price ranging right now" envelope.
Momentum bands — mid ± k × (Δp scaled to the price axis). Dashed by default (configurable: Dashed / Dotted / Solid). Projected so their visual range matches the position bands.
When the two families are far apart in width, the state is decisive (|x⟩ if position is much tighter, |p⟩ if momentum is much tighter). When they are similar, the state is mixed.
Optional uncertainty-score candle tint
A toggleable layer recolours each candle based on how far the current Δx · Δp product deviates from the empirical floor ℏ̂. When the product is at the floor, the market is at its quantum-mechanical minimum — the most decisive setup; further from the floor means the market is "spending uncertainty" on both axes simultaneously.
Visual system
Position bands (solid, gradient fill optional).
Momentum bands (dashed / dotted / solid).
Mid line (style configurable).
State badge (right-side floating, configurable offset and size).
Background tint by state (configurable transparency, institutional default).
Optional candle re-tint by uncertainty score.
A locked Plasma palette (yellow position / magenta momentum / violet mixed on a deep-void ground) gives the chart a distinctive physics-inspired identity.
Dashboard
Monospaced table, positionable to any of nine corners, optional compact-no-header mode. Surfaces:
Current Δx and Δp values.
Δx · Δp product and its ratio to the ℏ̂ floor.
Δx / Δp ratio (drives the state).
Current state (|x⟩ / |p⟩ / |ψ⟩) with bar age.
Last state change with bars-ago.
Return mode (Log / Arithmetic) in use.
Alerts
Three alert conditions:
Pure Position State entry
Pure Momentum State entry
Mixed State return
How to read it
Two reads, in order of conviction:
Pure Momentum State |p⟩ entry is the script's directional commitment signal. Momentum has decisively exceeded position uncertainty — the move is real. Trend-following tools and breakout entries become high-conviction.
Pure Position State |x⟩ is the coil. Range has clamped down, direction is undecided. Reversion tools become high-conviction inside the band; the next state transition (back to |ψ⟩ or jumping to |p⟩) often produces a decisive breakout.
When Δx · Δp is close to ℏ̂ (the empirical floor) the market is at its most efficient — there is no slack in either axis to spare. These bars often coincide with the cleanest reversals and breakouts; the candle-tint layer is there specifically to highlight them.
Suggested settings
Defaults (position window 20, momentum window 20, hbar smoothing 100, k = 2.0, state threshold 0.40) are tuned for 15m–4H on liquid markets. For lower timeframes drop both windows to 10–14. For HTF (4H+) raise both to 30–50. Log returns are the theoretically-correct mode and the recommended default; switch to Arithmetic only if your instrument has trivially small price scale.
Originality
The implementation — the Δx / Δp dual-uncertainty pipeline, the EMA-smoothed empirical ℏ̂ floor, the three-state quantum-inspired classifier with bra-ket labelling, the dual-band projection with auto-scale, the uncertainty-score candle tint, the cooldown-debounced state machine, and the plasma palette — is JOAT-original. No third-party code reused. The Heisenberg principle is fundamental physics; the financial-market analogue and its implementation here are original work.
Limitations
The Heisenberg analogy is structural, not literal — markets do not obey the quantum-mechanical commutator relation; the script uses the concept of an inviolable joint-uncertainty floor as a market-regime classifier. The empirical floor ℏ̂ is estimated by EMA over a long window (default 100 bars) — on instruments with very short history the floor is approximate. State classification can flicker across the threshold; the cooldown is there to suppress this and is tunable.
—
-made with passion by jackofalltrades
Indicateur

MACD Momentum Entry Engine [trade_w_samet]🎯 MACD Momentum Entry Engine
MACD Momentum Entry Engine is a structured momentum-analysis and visual trade-model indicator designed to help traders study confirmed MACD events, momentum quality, directional persistence, market regime, trend alignment, candle confirmation, and multi-target risk references directly from one coordinated workflow.
The script is built around one central idea:
A MACD event should not automatically become an entry signal.
Instead of treating every MACD crossover as equally meaningful, the engine first identifies the type of momentum event, then evaluates its strength, expansion, slope, acceleration, market environment, candle quality, directional persistence, and optional trend alignment before a permanent LONG or SHORT setup is accepted.
The indicator includes:
• Configurable MACD fast, slow, and signal lengths
• EMA, SMA, RMA, and WMA calculation options
• Early Trigger and Momentum Confirmed entry timing
• Reversal, Continuation, Zero-Line Reclaim, and Momentum Expansion setups
• A transparent 0–100 Momentum Quality Score
• Alignment, histogram strength, expansion, slope, and acceleration scoring
• Loose, Balanced, Strict, and Off quality modes
• A separate 0–100 Anti-Chop Market Regime Score
• ADX, price efficiency, EMA separation, and volatility-expansion analysis
• A separate 0–100 Entry Qualification Score
• Candle body, close location, MACD separation, persistence, impulse, and trigger-context analysis
• A final composite setup score
• A+, A, B, and C internal setup grades
• Optional chart EMA, confirmed higher-timeframe EMA, and combined trend bias
• Confirmed higher-timeframe calculations
• Zero-line directional filtering
• ATR-normalized absolute histogram-strength filtering
• Internal signal cooldown and same-bar re-entry protection
• One-active-trade-at-a-time visual management
• ATR-based and XAUUSD fixed-pip risk models
• Three visual take-profit levels
• Stop First and Targets First same-bar assumptions
• Equal-third internal trade-model accounting
• Active Entry, TP1, TP2, TP3, and SL lines
• Active reward and risk boxes on the main chart
• TP3-only historical trade-model preservation
• Separate SL, Closed TP1, Closed TP2, and TP3 result labels
• Adjustable LONG, SHORT, and result-label sizes
• MACD histogram, line, signal line, momentum background, and anti-chop background
• Neon LONG and SHORT dots directly on the MACD line
• A compact main-chart dashboard
• XAUUSD symbol verification and mismatch warning
• Static TradingView alert conditions
• Detailed dynamic alert() messages
• Data Window diagnostics
• Confirmed-close permanent signals
The purpose of this script is to provide a structured way to study when a MACD event is supported by broader momentum and market context.
It is not financial advice.
It is not an automated trading system.
It does not guarantee profitable trades.
It does not execute broker orders.
It does not replace personal analysis, position sizing, or risk management.
━━━━━━━━━━━━━━━━━━━━━━
📌 OVERVIEW
━━━━━━━━━━━━━━━━━━━━━━
At a high level, MACD Momentum Entry Engine does the following:
• Calculates a configurable MACD using the selected average types.
• Separates the visual histogram scale from the calculation scale.
• Detects confirmed MACD crossovers and zero-line events.
• Identifies Reversal, Continuation, Zero-Line Reclaim, and Expansion setup types.
• Optionally accepts the event immediately through Early Trigger mode.
• Optionally arms the setup and waits for renewed momentum through Momentum Confirmed mode.
• Measures momentum alignment, histogram strength, histogram expansion, MACD slope, and acceleration.
• Produces separate bullish and bearish 0–100 Momentum Quality Scores.
• Measures market regime using ADX, directional efficiency, EMA separation, and volatility expansion.
• Produces a separate 0–100 Market Regime Score.
• Evaluates candle direction, body quality, close location, MACD separation, persistence, and price impulse.
• Produces separate bullish and bearish Entry Qualification Scores.
• Combines momentum, regime, and entry quality into a final composite score.
• Assigns an internal A+, A, B, or C grade.
• Applies optional chart EMA and confirmed higher-timeframe EMA bias.
• Applies zero-line, absolute-strength, cooldown, and trade-slot controls.
• Confirms permanent LONG and SHORT signals only after candle close.
• Opens one visual trade model from the confirmed signal-bar close.
• Calculates Entry, Stop Loss, TP1, TP2, and TP3.
• Tracks targets and stop events from the next candle onward.
• Applies the selected same-bar processing assumption.
• Preserves completed TP3 models when historical display is enabled.
• Removes trade drawings after SL, Closed TP1, or Closed TP2 outcomes.
• Converts the original entry label into the final result for non-TP3 outcomes.
• Adds a separate electric-purple FULL TARGET label for TP3 outcomes.
• Displays Momentum, Trend, Regime, Trade, Last Result, and Protection states in the bottom-right dashboard.
• Provides static and dynamic alert options.
• Exposes diagnostic values through TradingView’s Data Window.
The indicator does not use machine-learning prediction.
Its scores are not probabilities.
Its labels do not promise future direction.
The script is a rule-based educational momentum framework that explains how a raw MACD event becomes an accepted or rejected setup.
━━━━━━━━━━━━━━━━━━━━━━
🧠 CORE IDEA
━━━━━━━━━━━━━━━━━━━━━━
The core idea behind MACD Momentum Entry Engine is that a crossover alone contains limited context.
A basic crossover only confirms that one MACD line has moved through another.
It does not automatically explain:
• whether the histogram is expanding
• whether momentum is accelerating
• whether the move is occurring in a directional or choppy market
• whether the signal candle supports the direction
• whether MACD separation is meaningful relative to recent behavior
• whether momentum has persisted
• whether price is aligned with an optional trend filter
• whether a recent signal already occurred
• whether a visual trade model is already active
The engine therefore uses a staged sequence:
MACD event
→ setup classification
→ momentum-quality scoring
→ optional trend-bias validation
→ anti-chop regime scoring
→ entry qualification
→ additional signal filters
→ confirmed signal
→ visual trade model
→ TP / SL lifecycle
→ result handling
For bullish conditions, the script studies upward MACD transitions, positive histogram alignment, renewed expansion, positive slope, positive acceleration, bullish candle behavior, and directional persistence.
For bearish conditions, the same process is mirrored.
The purpose is not to find the largest possible number of signals.
The purpose is to make the acceptance process visible, configurable, and understandable.
━━━━━━━━━━━━━━━━━━━━━━
🧩 WHY THIS SCRIPT IS NOT A SIMPLE BUY/SELL INDICATOR
━━━━━━━━━━━━━━━━━━━━━━
MACD Momentum Entry Engine is not designed to be used as a blind buy/sell system.
A raw MACD event must move through multiple stages:
A crossover or momentum event appears
→ the event is classified
→ the momentum-quality layer is evaluated
→ the trend-bias layer is evaluated
→ the anti-chop layer is evaluated
→ the candle and entry-quality layer is evaluated
→ zero-line and absolute-strength filters are checked
→ cooldown and active-trade restrictions are checked
→ the setup must remain valid at candle close
→ a permanent LONG or SHORT setup is printed
→ Entry, SL, TP1, TP2, and TP3 are projected
→ the trade model is monitored from the following candle
→ the model closes at TP3 or Stop
→ the final chart result is preserved or cleaned
Each module serves a different purpose.
The MACD core defines the momentum relationship.
The setup engine identifies what kind of event occurred.
The momentum-quality engine measures the internal strength of that event.
The anti-chop engine measures whether the broader environment is directional enough for the selected mode.
The entry-qualification engine evaluates the signal candle and immediate price response.
The trend-bias engine optionally restricts direction.
The trade engine standardizes the visual risk framework.
The dashboard explains the current engine state.
This makes the script a coordinated momentum-analysis workflow rather than a basic crossover marker.
━━━━━━━━━━━━━━━━━━━━━━
⚙️ HOW THE SCRIPT WORKS
━━━━━━━━━━━━━━━━━━━━━━
The script operates through connected calculation stages.
First, it calculates every supported moving-average type on every candle.
The selected average type is then used for the fast MACD average, slow MACD average, and signal average.
The MACD line is the difference between the selected fast and slow averages.
The histogram is the difference between the MACD line and the signal line.
fastAverage = f_selectMa(macdMaType, fastEma, fastSma, fastRma, fastWma)
slowAverage = f_selectMa(macdMaType, slowEma, slowSma, slowRma, slowWma)
macdLine = fastAverage - slowAverage
signalLine = f_selectMa(signalMaType, signalEma, signalSma, signalRma, signalWma)
histogram = macdLine - signalLine
The histogram visual multiplier changes only the displayed column length.
It does not change:
• the MACD line
• the signal line
• the histogram used by calculations
• quality scores
• setup detection
• trade results
After the MACD core is calculated, the engine measures:
• absolute histogram strength
• one-bar histogram expansion
• MACD slope
• momentum acceleration
• adaptive baselines for each measurement
The setup engine then checks the enabled event types.
The quality, trend, regime, qualification, and additional-filter stages determine whether the setup is eligible.
A final permanent signal is accepted only after the candle closes and every enabled condition remains valid.
━━━━━━━━━━━━━━━━━━━━━━
🟢 BULLISH MACD MOMENTUM LOGIC
━━━━━━━━━━━━━━━━━━━━━━
A bullish setup begins with one of four enabled event types.
Bullish Reversal
A bullish MACD crossover occurs while the MACD line remains below zero.
This represents a momentum turn from the negative side of the zero line.
Bullish Continuation
A bullish MACD crossover occurs while the MACD line is at or above zero.
This represents renewed bullish alignment on the positive side.
Bullish Zero-Line Reclaim
The MACD line crosses above zero while:
• MACD is above the signal line
• the histogram is positive
• the bar is confirmed
Bullish Momentum Expansion
The histogram resumes positive expansion after a short contraction while:
• MACD remains above the signal line
• MACD slope is positive
• no new crossover is being used on the same bar
• no new zero-line cross is being used on the same bar
The event must then pass the active momentum-quality requirement.
When enabled, it must also pass:
• chart EMA bias
• confirmed higher-timeframe EMA bias
• EMA slope confirmation
• ATR distance from the trend EMA
• anti-chop regime requirement
• entry qualification
• bullish candle direction
• minimum MACD separation
• momentum persistence
• zero-line direction
• absolute histogram strength
• cooldown
• active-trade availability
The final signal uses confirmed-bar logic.
bullishSignal =
barstate.isconfirmed and
bullishEntryCandidate and
bullishZeroLinePass and
absoluteStrengthPass and
bullishQualityPass and
bullishTrendPass and
antiChopPass and
bullishQualificationPass and
bullishCandlePass and
separationPass and
bullishPersistencePass and
cooldownPass and
tradeSlotAvailable
When every active rule passes, the script can display:
• a neon green dot on the MACD line
• a LONG label on the main chart
• setup type, grade, and score information
• a visual Entry, SL, TP1, TP2, and TP3 model
This confirms that the configured bullish momentum conditions were valid at candle close.
It does not mean price must continue upward.
━━━━━━━━━━━━━━━━━━━━━━
🔴 BEARISH MACD MOMENTUM LOGIC
━━━━━━━━━━━━━━━━━━━━━━
A bearish setup mirrors the bullish process.
Bearish Reversal
A bearish MACD crossover occurs while the MACD line remains above zero.
This represents a momentum turn from the positive side of the zero line.
Bearish Continuation
A bearish MACD crossover occurs while the MACD line is at or below zero.
This represents renewed bearish alignment on the negative side.
Bearish Zero-Line Reclaim
The MACD line crosses below zero while:
• MACD is below the signal line
• the histogram is negative
• the bar is confirmed
Bearish Momentum Expansion
The histogram resumes negative expansion after a short contraction while:
• MACD remains below the signal line
• MACD slope is negative
• no new bearish crossover is being used on the same bar
• no new bearish zero-line cross is being used on the same bar
The setup must then pass the same quality, trend, regime, candle, separation, persistence, strength, cooldown, and trade-slot controls.
A permanent SHORT signal appears only when all active conditions remain valid at candle close.
The script can then display:
• a neon red dot on the MACD line
• a SHORT label on the main chart
• setup type, grade, and score information
• Entry, SL, TP1, TP2, and TP3 references
This confirms that the configured bearish momentum conditions were valid at candle close.
It does not guarantee continued downside movement.
━━━━━━━━━━━━━━━━━━━━━━
💎 MACD MOMENTUM QUALITY FILTER SYSTEM
━━━━━━━━━━━━━━━━━━━━━━
The script includes a separate bullish and bearish Momentum Quality Score.
The quality layer evaluates five components.
Alignment — maximum 20 points
Bullish alignment requires:
• MACD above the signal line
• positive histogram
Bearish alignment requires:
• MACD below the signal line
• negative histogram
Histogram Strength — maximum 25 points
The absolute histogram value is compared with an adaptive EMA baseline.
This measures whether current separation is meaningful relative to recent MACD behavior.
Histogram Expansion — maximum 20 points
The engine measures the one-bar change in absolute histogram strength.
Points are awarded only when the histogram is expanding in the setup direction.
MACD Slope — maximum 20 points
Bullish setups require positive slope for this component.
Bearish setups require negative slope.
The slope magnitude is compared with its own adaptive baseline.
Momentum Acceleration — maximum 15 points
Acceleration measures the change in MACD slope.
Positive acceleration supports bullish scoring.
Negative acceleration supports bearish scoring.
bullishQualityScore = f_clamp(
bullishAlignmentScore +
bullishHistogramStrengthScore +
bullishExpansionScore +
bullishSlopeScore +
bullishAccelerationScore,
0.0,
100.0
The available quality modes are:
Off
Removes the minimum Momentum Quality Score restriction.
Loose
Requires a minimum score of 45.
Balanced
Requires a minimum score of 60.
Strict
Requires a minimum score of 75 and is the default.
The score is not a win rate.
It is not a probability.
It measures how closely the current MACD event matches the engine’s momentum-strength framework.
━━━━━━━━━━━━━━━━━━━━━━
📏 VOLATILITY / ATR NORMALIZATION FILTER
━━━━━━━━━━━━━━━━━━━━━━
The indicator uses ATR normalization to compare certain values across changing volatility conditions.
The Absolute Strength Filter calculates:
Absolute Histogram Strength = |Histogram| / ATR × 100.
This value is used as an additional minimum-strength condition.
The default settings are:
• Normalization ATR Length: 14
• Minimum Absolute Strength: 1.0
• Use Absolute Strength Filter: enabled
ATR normalization helps reduce dependence on the raw numerical scale of a market.
For example, a raw MACD histogram value cannot be compared directly across instruments with very different prices and volatility.
Normalization places the histogram in relation to the instrument’s recent ATR.
The same ATR framework is also used by:
• optional price-to-EMA trend buffers
• EMA-separation regime measurement
• price-impulse scoring
• ATR-based trade management
ATR normalization does not make one configuration universal.
Symbols, sessions, exchanges, and data feeds can still behave differently.
━━━━━━━━━━━━━━━━━━━━━━
🕯️ DISPLACEMENT QUALITY FILTER
━━━━━━━━━━━━━━━━━━━━━━
The entry-qualification engine evaluates whether the signal candle shows enough directional response.
The Candle component contributes up to 25 points.
It is divided into:
Directional Body — maximum 12.5 points
For bullish setups, the engine measures the positive candle body relative to the full candle range.
For bearish setups, it measures the negative body.
Close Location — maximum 12.5 points
Bullish setups receive more points when the close is nearer the candle high.
Bearish setups receive more points when the close is nearer the candle low.
Price Impulse contributes up to 15 additional points.
The engine compares the one-bar directional price movement with ATR.
A bullish price impulse measures positive close-to-close displacement.
A bearish price impulse measures negative close-to-close displacement.
This layer does not predict the next candle.
It measures whether the completed signal candle supports the direction of the MACD event.
━━━━━━━━━━━━━━━━━━━━━━
📊 REACTION STRENGTH FILTER
━━━━━━━━━━━━━━━━━━━━━━
The engine includes a separate Entry Qualification Score.
Its components are:
Candle Quality — maximum 25 points
Combines directional body and close location.
MACD Separation — maximum 25 points
Measures current histogram separation relative to its adaptive baseline.
Momentum Persistence — maximum 20 points
Measures how long directional MACD and histogram alignment has remained active.
Price Impulse — maximum 15 points
Measures directional close-to-close movement relative to ATR.
Trigger Context — maximum 15 points
Confirms that an eligible setup event is currently active.
The total is limited to 0–100.
Available modes are:
Off
Removes the minimum Entry Qualification Score restriction.
Loose
Requires a minimum score of 45.
Balanced
Requires a minimum score of 60.
Strict
Requires a minimum score of 75 and is the default.
The final signal also uses internal candle-direction, separation, and persistence requirements.
These internal parameters remain active in the background to keep the public settings menu cleaner.
The Entry Qualification Score is not a verified accuracy figure.
It describes the quality of the completed entry context according to the script’s rules.
━━━━━━━━━━━━━━━━━━━━━━
🧼 CONFIRMED SIGNAL FILTER
━━━━━━━━━━━━━━━━━━━━━━
Permanent LONG and SHORT signals wait for candle close.
The engine uses confirmed-bar checks on:
• MACD crossovers
• zero-line crossings
• expansion triggers
• momentum confirmation
• final LONG and SHORT conditions
The higher-timeframe trend layer also uses previous completed higher-timeframe values.
htfConfirmedClose = request.security(
syminfo.tickerid,
higherTimeframe,
close ,
gaps = barmerge.gaps_off,
lookahead = barmerge.lookahead_on
)
htfConfirmedEma = request.security(
syminfo.tickerid,
higherTimeframe,
ta.ema(close, trendLength) ,
gaps = barmerge.gaps_off,
lookahead = barmerge.lookahead_on
)
This approach prevents an unfinished higher-timeframe candle from becoming the permanent trend reference.
Entry Timing provides two workflows.
Early Trigger
Uses the confirmed setup event directly.
Momentum Confirmed
Arms the setup and waits for a later confirmed candle with:
• continued MACD alignment
• directional histogram
• renewed histogram expansion
• directional MACD slope
The confirmation opportunity is temporary.
If renewed momentum does not appear inside the internal window, the armed setup expires.
The script does not plot final signals into earlier candles.
Historical results can still change when:
• settings change
• symbol data changes
• timeframe changes
• the data provider revises history
• the available chart-history range changes
━━━━━━━━━━━━━━━━━━━━━━
🎯 ENTRY MODEL
━━━━━━━━━━━━━━━━━━━━━━
When a final LONG or SHORT setup passes every enabled condition, the trade engine can create a visual trade model.
The Entry reference is the close of the confirmed signal candle.
For a LONG model:
• Stop is below Entry
• TP1 is above Entry
• TP2 is above TP1
• TP3 is above TP2
For a SHORT model:
• Stop is above Entry
• TP1 is below Entry
• TP2 is below TP1
• TP3 is below TP2
tradeEntryPrice := close
tradeStopPrice := tradeEntryPrice - selectedStopDistance
tradeTp1Price := tradeEntryPrice + selectedTp1Distance
tradeTp2Price := tradeEntryPrice + selectedTp2Distance
tradeTp3Price := tradeEntryPrice + selectedTp3Distance
The model begins checking TP and SL from the following candle.
This prevents the signal candle’s earlier high or low from being treated as though it occurred after the close-based entry.
The engine stores:
• direction
• entry bar
• entry price
• stop price
• TP1 price
• TP2 price
• TP3 price
• initial risk
• target R values
• TP1 and TP2 progress
• setup type
• setup grade
• risk model
• original signal label
The displayed model is an educational chart reference.
It is not a broker order.
━━━━━━━━━━━━━━━━━━━━━━
🛑 ATR STOP-LOSS MODEL
━━━━━━━━━━━━━━━━━━━━━━
The indicator includes two risk models.
ATR Based
Stop distance is calculated as:
ATR × ATR Stop Multiplier.
The default settings are:
• ATR Length: 14
• ATR Stop Multiplier: 1.50
• TP1: 0.50R
• TP2: 1.00R
• TP3: 1.50R
The minimum distance is protected by the symbol’s minimum tick.
XAUUSD Fixed Pips
Stop and target distances use:
Selected Pips × XAUUSD Pip Size.
The default settings are:
• Pip Size: 0.01
• Stop Loss: 1000 pips
• TP1: 500 pips
• TP2: 1000 pips
• TP3: 1500 pips
Under the common 0.01 convention, those values correspond to:
• Stop distance: 10.00 price units
• TP1 distance: 5.00 price units
• TP2 distance: 10.00 price units
• TP3 distance: 15.00 price units
Broker conventions can differ.
Users should verify their symbol specification before relying on fixed-pip distances.
The XAUUSD protection system checks the symbol.
The dashboard shows:
• ✅ XAUUSD VERIFIED when XAUUSD Fixed Pips is used on a recognized XAUUSD symbol
• ⚠️ CHECK SYMBOL when the mode is used on another symbol
• 🛡️ ATR MODE when ATR Based is selected
The warning does not block calculations.
It tells the user to verify pip size and target distances.
━━━━━━━━━━━━━━━━━━━━━━
🎯 TAKE-PROFIT RR MODEL
━━━━━━━━━━━━━━━━━━━━━━
The visual model contains three take-profit levels.
ATR Based mode calculates targets from the initial stop distance:
TP1 Distance = Initial Risk × TP1 RR.
TP2 Distance = Initial Risk × TP2 RR.
TP3 Distance = Initial Risk × TP3 RR.
XAUUSD Fixed Pips mode uses independent fixed target distances.
The script enforces the following order:
TP1 < TP2 < TP3.
If a selected value would violate that order, the next target is moved at least one minimum tick beyond the prior target.
The trade model internally treats the position as three equal portions.
Each target represents one-third of the model.
If Stop is reached after TP1 or TP2, the script calculates an internal net-R result from:
• the portions already modeled as closed at reached targets
• the remaining portion or portions modeled at Stop
This internal calculation supports Data Window counters.
It is not broker-verified performance.
It does not account for:
• spread
• commission
• slippage
• latency
• partial-fill differences
• financing
• order rejection
• execution venue behavior
━━━━━━━━━━━━━━━━━━━━━━
📦 ACTIVE TP / SL BOX SYSTEM
━━━━━━━━━━━━━━━━━━━━━━
When a confirmed trade model opens, the script can draw on the main chart:
• Entry line
• TP1 line
• TP2 line
• TP3 line
• Stop Loss line
• TP1 reward box
• TP2 reward box
• TP3 reward box
• SL risk box
• LONG or SHORT label
The Entry line is white.
The TP lines are green and initially dashed.
The SL line is red and solid.
The SL box uses a solid border.
When a target is reached:
• the corresponding box becomes more visible
• the corresponding target line becomes solid
• the target line becomes thicker
• the dynamic target alert can fire
When TP3 is reached:
• the complete model closes
• the original LONG or SHORT label remains
• a separate electric-purple TP3 FULL TARGET label appears
• the trade model can remain historically visible
When the model closes at Stop before TP3:
• all active boxes are deleted
• all active trade lines are deleted
• the original LONG or SHORT label is converted into the final result
• the final result becomes SL, CLOSED TP1, or CLOSED TP2
Only TP3 outcomes can retain completed historical boxes and lines.
This is a chart-cleanliness decision.
It does not imply that other outcomes did not occur.
━━━━━━━━━━━━━━━━━━━━━━
🚦 ONE ACTIVE TRADE AT A TIME
━━━━━━━━━━━━━━━━━━━━━━
The script uses one-active-trade-at-a-time visual management.
When the trade engine is enabled:
• a new trade model cannot open while another model is active
• a new trade cannot open on the same candle that closed the previous model
• the internal setup engine continues calculating
• permanent signals are restricted by trade-slot availability
This prevents overlapping Entry, TP, and SL structures.
It also keeps the trade lifecycle easier to interpret.
When the trade engine is disabled, qualified signals can still be evaluated without opening a visual trade model.
The one-active-model rule is a visual and analytical design choice.
It does not restrict the user’s personal trading activity.
━━━━━━━━━━━━━━━━━━━━━━
⚠️ SAME-CANDLE TP / SL HANDLING
━━━━━━━━━━━━━━━━━━━━━━
Trade monitoring begins after the entry candle.
If a later historical candle touches both Stop and one or more targets, standard OHLC data does not reveal the exact intrabar sequence.
The indicator therefore provides two assumptions.
Stop First
If Stop and a target are both touched on the same candle, Stop is processed first.
This is the default and more conservative assumption.
Targets First
Reached targets are processed before Stop.
If TP3 is reached, the model closes at TP3.
Otherwise, remaining portions can close at Stop.
Neither mode reconstructs tick-level execution.
The indicator does not know:
• whether the high occurred before the low
• the bid/ask path
• actual fill sequence
• spread at the time
• slippage
• queue priority
• partial fills
The selected same-bar rule is a modeling assumption required by the limits of OHLC candles.
━━━━━━━━━━━━━━━━━━━━━━
🏷️ MACD MOMENTUM LABELS
━━━━━━━━━━━━━━━━━━━━━━
The indicator uses separate entry and result labels.
Entry labels display:
🚀 LONG
or:
🔴 SHORT
Entry Label Content provides:
Direction Only
Displays only LONG or SHORT.
Grade
Displays direction and setup grade.
Score + Grade
Displays direction, grade, and rounded composite score.
The default is Score + Grade.
LONG and SHORT label sizes can be adjusted independently.
Both default to Small.
The label tooltip contains:
• setup direction
• setup type
• setup grade
• composite score
• Momentum Quality Score
• Entry Qualification Score
• Market Regime Score
• trend-bias state
Result labels include:
🛑 SL
⚠️ CLOSED TP1
✅ CLOSED TP2
🏆 TP3 HIT
✅ FULL TARGET
SL, Closed TP1, and Closed TP2 transform the original entry label.
TP3 creates a separate result label and preserves the original entry label.
All chart-label text uses bold and italic formatting.
━━━━━━━━━━━━━━━━━━━━━━
📍 MACD DISPLAY MODES
━━━━━━━━━━━━━━━━━━━━━━
The indicator operates in a separate MACD pane while selected trade visuals, entry labels, and the dashboard are forced onto the main price chart.
The MACD pane can display:
MACD Line
A white line representing the difference between the selected fast and slow averages.
Signal Line
A red line representing the selected signal smoothing.
Histogram
Color changes communicate momentum condition:
• stronger green for bullish expansion
• softer green for bullish contraction
• stronger red for bearish expansion
• softer red for bearish contraction
Histogram Visual Length
The default multiplier is 1.60.
This changes visual column length only.
It does not affect calculations.
Neon Signal Dots
Qualified LONG setups produce a neon green glow and center dot on the MACD line.
Qualified SHORT setups produce a neon red glow and center dot.
Momentum Background
The pane background changes according to strong or weak bullish and bearish momentum states.
Anti-Chop Background
A neutral gray background can identify conditions blocked by the Anti-Chop Engine.
Each major visual element can be shown or hidden independently.
━━━━━━━━━━━━━━━━━━━━━━
🧹 SETUP INVALIDATION
━━━━━━━━━━━━━━━━━━━━━━
Not every raw MACD event remains eligible.
A setup can be rejected or expire because:
• its momentum score is below the selected threshold
• trend bias does not permit the direction
• the market regime is below the active Anti-Chop threshold
• the Entry Qualification Score is insufficient
• candle direction does not support the setup
• MACD separation is insufficient
• directional persistence is insufficient
• the zero-line filter blocks the direction
• normalized histogram strength is too low
• the signal cooldown is active
• another visual trade is active
• a trade closed on the current candle
• Momentum Confirmed mode does not receive renewed expansion in time
• an opposite raw setup replaces the armed direction
The internal cooldown is eight bars.
Momentum Confirmed mode uses a temporary internal confirmation window.
These background controls are intentionally not exposed as advanced public inputs.
They remain part of the engine’s consistency rules.
A rejected event is not displayed as a permanent entry signal.
━━━━━━━━━━━━━━━━━━━━━━
📟 DASHBOARD
━━━━━━━━━━━━━━━━━━━━━━
The indicator includes a compact dashboard in the bottom-right corner of the main price chart.
The dashboard displays:
Momentum
Possible states include:
• STRONG LONG
• LONG
• STRONG SHORT
• SHORT
• NEUTRAL
Trend
Possible states include:
• BULLISH
• BEARISH
• NEUTRAL
• OFF
Regime
Possible states include:
• TRENDING
• DEVELOPING
• CHOP
• OFF
Trade
Possible states include:
• WAITING
• LONG ACTIVE
• LONG TP1 REACHED
• LONG TP2 REACHED
• SHORT ACTIVE
• SHORT TP1 REACHED
• SHORT TP2 REACHED
Last
Displays the most recent closed model result:
• SL
• CLOSED TP1
• CLOSED TP2
• TP3
Protection
Displays:
• ATR MODE
• XAUUSD VERIFIED
• CHECK SYMBOL
The dashboard is not TradingView Strategy Tester.
It does not display audited brokerage results.
Its states are based on the indicator’s own rule-based calculations.
━━━━━━━━━━━━━━━━━━━━━━
🚨 ALERT SYSTEM
━━━━━━━━━━━━━━━━━━━━━━
MACD Momentum Entry Engine includes static TradingView alert conditions for:
• MACD Momentum LONG
• MACD Momentum SHORT
• TP1
• TP2
• TP3
• Stop Loss
• XAUUSD Mode Warning
The XAUUSD warning condition is limited to a qualified entry bar when Fixed Pips mode is active on a non-XAUUSD symbol.
The script also includes detailed dynamic alert() messages.
Dynamic Entry messages can include:
• direction
• symbol
• timeframe
• setup type
• setup grade
• composite score
• risk model
• Entry
• Stop Loss
• TP1
• TP2
• TP3
• XAUUSD mismatch warning when relevant
Dynamic target messages can include:
• target name
• direction
• symbol
• timeframe
• reached target price
• Entry
• Stop Loss
• TP1
• TP2
• TP3
Dynamic stop messages can include:
• final result
• direction
• symbol
• timeframe
• Entry
• exit price
• Stop Loss
• whether TP1 or TP2 was reached first
Alerts are monitoring tools.
They do not place or manage broker orders.
━━━━━━━━━━━━━━━━━━━━━━
🔔 HOW TO USE ALERTS
━━━━━━━━━━━━━━━━━━━━━━
For static conditions:
1. Add MACD Momentum Entry Engine to the chart.
2. Open TradingView’s Create Alert window.
3. Select the indicator as the condition.
4. Choose LONG, SHORT, TP1, TP2, TP3, SL, or XAUUSD Mode Warning.
5. Select a frequency appropriate for confirmed-candle monitoring.
6. Test the alert before relying on it.
For detailed dynamic messages:
1. Enable Detailed Dynamic Alerts in the indicator settings.
2. Open TradingView’s Create Alert window.
3. Select MACD Momentum Entry Engine .
4. Select Any alert() function call.
5. Configure the delivery method.
6. Test the complete message format.
Alert delivery can depend on:
• TradingView servers
• the selected symbol
• the selected timeframe
• market-data availability
• realtime feed status
• user alert configuration
• webhook or external-service availability
Creating an alert does not guarantee broker execution.
━━━━━━━━━━━━━━━━━━━━━━
🧪 HOW TO USE THE INDICATOR
━━━━━━━━━━━━━━━━━━━━━━
A practical workflow:
1. Add MACD Momentum Entry Engine to a standard candlestick chart.
2. Begin with the default MACD values of 12, 26, and 9.
3. Keep Entry Timing on Early Trigger while learning the setup types.
4. Keep Momentum Quality on Strict for the default selective profile.
5. Keep Anti-Chop on Strict.
6. Keep Entry Qualification on Strict.
7. Observe whether the event is Reversal, Continuation, Zero Reclaim, or Expansion.
8. Review the MACD histogram, line relationship, and neon signal dot.
9. Review the main-chart LONG or SHORT label.
10. Open the label tooltip to inspect the scores and setup type.
11. Review Momentum, Trend, Regime, Trade, Last Result, and Protection in the dashboard.
12. Verify the selected risk model.
13. When using XAUUSD Fixed Pips, confirm XAUUSD VERIFIED.
14. Treat Entry, SL, TP1, TP2, and TP3 as planning references.
15. Use alerts for monitoring rather than blind execution.
16. Compare every setup with personal structure, session, volatility, and risk rules.
17. Test the exact symbol, timeframe, session, and data feed personally used.
The indicator is designed for structured review.
It should not be treated as an automatic decision-maker.
━━━━━━━━━━━━━━━━━━━━━━
⚙️ SETTINGS REFERENCE
━━━━━━━━━━━━━━━━━━━━━━
⚙️ MACD Core
Calculation Source
Selects the price source used by the MACD calculation.
Fast Length
Controls the fast average.
Default: 12.
Slow Length
Controls the slow average.
Default: 26.
Signal Length
Controls signal-line smoothing.
Default: 9.
MACD Average Type
Selects EMA, SMA, RMA, or WMA for the fast and slow averages.
Signal Average Type
Selects EMA, SMA, RMA, or WMA for the signal line.
━━━━━━━━━━━━━━━━━━━━━━
🎯 Entry Engine
Entry Timing
Early Trigger accepts the confirmed setup event directly.
Momentum Confirmed waits for renewed directional histogram expansion and MACD continuation after the setup is armed.
━━━━━━━━━━━━━━━━━━━━━━
🧠 Momentum Quality Engine
Quality Filter
Selects Off, Loose, Balanced, or Strict.
Strict is the default.
The score combines:
• alignment
• histogram strength
• histogram expansion
• MACD slope
• momentum acceleration
━━━━━━━━━━━━━━━━━━━━━━
📈 Trend Bias Engine
Trend Bias Mode
Selects:
• Off
• Chart EMA
• Higher Timeframe EMA
• Combined EMA
Off is the default.
Trend EMA Length
Controls the chart and higher-timeframe EMA.
Default: 200.
Chart EMA Slope Lookback
Controls the chart-bar lookback used to evaluate EMA direction.
Require EMA Slope Confirmation
Requires a rising EMA for LONG and falling EMA for SHORT.
Higher Timeframe
Selects the confirmed higher-timeframe context.
Default: 60 minutes.
Price-to-EMA ATR Buffer
Requires an optional minimum ATR-normalized distance between price and the trend EMA.
Zero disables the distance requirement.
━━━━━━━━━━━━━━━━━━━━━━
🧱 Anti-Chop Engine
Anti-Chop Filter
Selects Off, Loose, Balanced, or Strict.
Strict is the default.
The regime score combines:
• ADX — 35 points
• price efficiency — 30 points
• EMA separation — 20 points
• volatility expansion — 15 points
━━━━━━━━━━━━━━━━━━━━━━
✅ Entry Qualification Engine
Enable Reversal Setups
Allows MACD crossovers on the opposite side of zero.
Enable Continuation Setups
Allows MACD crossovers on the directional side of zero.
Enable Zero-Line Reclaims
Allows confirmed MACD zero-line crossings with aligned histogram and signal-line conditions.
Enable Momentum Expansions
Allows renewed histogram expansion after contraction while MACD alignment remains valid.
Entry Qualification Filter
Selects Off, Loose, Balanced, or Strict.
Strict is the default.
The score combines:
• candle quality
• MACD separation
• persistence
• price impulse
• trigger context
━━━━━━━━━━━━━━━━━━━━━━
💼 Trade Management Engine
Enable Trade Engine
Enables the one-active-trade-at-a-time visual model.
Risk Model
Selects ATR Based or XAUUSD Fixed Pips.
XAUUSD Fixed Pips is the default.
ATR Length
Controls ATR for the adaptive model.
ATR Stop Multiplier
Controls stop distance in ATR mode.
ATR TP1 Risk/Reward
Controls TP1 distance in ATR mode.
ATR TP2 Risk/Reward
Controls TP2 distance in ATR mode.
ATR TP3 Risk/Reward
Controls TP3 distance in ATR mode.
XAUUSD Pip Size
Controls the price-unit value of one selected pip.
XAUUSD Stop-Loss Pips
Controls fixed Stop distance.
XAUUSD TP1 Pips
Controls fixed TP1 distance.
XAUUSD TP2 Pips
Controls fixed TP2 distance.
XAUUSD TP3 Pips
Controls fixed TP3 distance.
Same-Bar Resolution
Selects Stop First or Targets First.
Show Active TP / SL Zones
Shows Entry, targets, Stop, boxes, and lines on the main chart.
Keep Historical TP3 Zones
Preserves completed TP3 models.
Historical TP3 Trade Limit
Limits completed TP3 models retained on the chart.
Trade Result Labels
Enables SL, Closed TP1, Closed TP2, and TP3 result labels.
SL Label Size
Controls SL result size.
Closed TP1 Label Size
Controls Closed TP1 result size.
Closed TP2 Label Size
Controls Closed TP2 result size.
TP3 Label Size
Controls the separate FULL TARGET label size.
━━━━━━━━━━━━━━━━━━━━━━
🛡️ Signal Filters
Zero-Line Filter
Off allows both sides of zero.
Trend Direction requires LONG above zero and SHORT below zero.
Trend Direction is the default.
Use Absolute Strength Filter
Enables ATR-normalized minimum histogram strength.
Normalization ATR Length
Controls normalization.
Minimum Absolute Strength
Controls the required normalized histogram value.
━━━━━━━━━━━━━━━━━━━━━━
🎨 Visual Settings
Show MACD Line
Shows or hides the MACD line.
Show Signal Line
Shows or hides the signal line.
Show Histogram
Shows or hides histogram columns.
Histogram Visual Length
Changes histogram display scale without changing calculations.
Show MACD Neon Signal Dots
Shows qualified LONG and SHORT dots on the MACD line.
Show Momentum Background
Shows directional momentum background states.
Highlight Blocked Chop Conditions
Shows a neutral background when Anti-Chop blocks entries.
Show LONG / SHORT Labels
Shows or hides main-chart entry labels.
Entry Label Content
Selects Direction Only, Grade, or Score + Grade.
LONG Label Size
Controls LONG label size.
SHORT Label Size
Controls SHORT label size.
━━━━━━━━━━━━━━━━━━━━━━
📟 Mini Dashboard
Show Mini Dashboard
Shows or hides the compact bottom-right main-chart dashboard.
━━━━━━━━━━━━━━━━━━━━━━
🔔 Dynamic Alerts
Enable Detailed Dynamic Alerts
Enables runtime alert() messages.
For these messages, create the TradingView alert using:
Any alert() function call.
Input values are hidden from the status line.
MACD plot values are also prevented from creating status-line or price-scale labels, while diagnostic values remain available in the Data Window.
━━━━━━━━━━━━━━━━━━━━━━
🧠 WHAT MAKES THIS SCRIPT ORIGINAL
━━━━━━━━━━━━━━━━━━━━━━
MACD, moving averages, ATR, ADX, and trend filters are familiar technical-analysis concepts.
These concepts are not unique by themselves.
The originality of MACD Momentum Entry Engine lies in the coordinated process applied to a MACD event:
Configurable MACD event
→ setup-type classification
→ adaptive momentum-strength baselines
→ five-component Momentum Quality Score
→ optional confirmed trend-bias layer
→ four-component Anti-Chop Regime Score
→ five-component Entry Qualification Score
→ final composite score and grade
→ zero-line and normalized-strength validation
→ confirmed-close signal
→ one-active multi-target trade lifecycle
→ TP3-only historical preservation
→ non-TP3 visual cleanup
→ dynamic alerts
→ main-chart diagnostic dashboard
→ XAUUSD mode verification
Distinctive implementation features include:
• four separate setup families
• different logic for Reversal and Continuation crossovers
• zero-line reclaim detection
• renewed expansion detection without requiring a fresh crossover
• adaptive baselines for strength, expansion, slope, and acceleration
• separate bullish and bearish scoring
• a Momentum Quality Score independent from Entry Qualification
• an Anti-Chop Score independent from momentum quality
• confirmed previous higher-timeframe EMA values
• a 70/30 final composite structure
• A+, A, B, and C grades
• visual-only histogram scaling
• equal-third multi-target internal accounting
• same-candle processing assumptions
• XAUUSD symbol verification
• separate result behavior for TP3 and non-TP3 outcomes
• detailed Data Window diagnostics
The script is not a simple combination of unrelated indicators.
Every module supports the same objective: determining whether a confirmed MACD event has enough momentum, market, and entry context to become a permanent visual setup.
━━━━━━━━━━━━━━━━━━━━━━
⚠️ IMPORTANT PRACTICAL NOTES
━━━━━━━━━━━━━━━━━━━━━━
Signal frequency depends on:
• fast, slow, and signal lengths
• selected average types
• Entry Timing
• enabled setup families
• Momentum Quality mode
• Trend Bias mode
• EMA length
• higher timeframe
• EMA slope requirement
• price-to-EMA buffer
• Anti-Chop mode
• Entry Qualification mode
• zero-line filter
• absolute-strength threshold
• symbol
• timeframe
• session
• volatility
• available history
• data provider
• active-trade state
Strict modes reduce accepted signals.
They do not guarantee better results.
Trend Bias Off allows the momentum engine to evaluate both directions without EMA permission.
Higher Timeframe EMA and Combined EMA should use a timeframe meaningfully above the chart timeframe.
XAUUSD Fixed Pips is designed around a selectable pip convention.
The default 0.01 value may not match every broker or synthetic symbol.
Momentum Confirmed produces later and potentially fewer signals than Early Trigger.
Histogram Visual Length does not alter logic.
Changing settings recalculates historical signals and trade models.
A setup that looks different after changing the chart range may be affected by available historical data and adaptive baselines.
━━━━━━━━━━━━━━━━━━━━━━
⚠️ LIMITATIONS AND SHORTCOMINGS
━━━━━━━━━━━━━━━━━━━━━━
This script has important limitations:
It does not guarantee profitable trades.
It does not predict future price movement.
It does not execute orders.
It does not place broker stops or targets.
It does not include spread.
It does not include commission.
It does not include slippage.
It does not include latency.
It does not model partial fills.
It does not model financing or swap.
It uses bar-based OHLC data.
Historical candles do not reveal exact intrabar order.
Stop First and Targets First are assumptions.
The setup score is not a win probability.
A+ is not a guaranteed outcome.
The Anti-Chop Score cannot identify every ranging condition.
Trend filters can delay or block valid reversals.
Trend Bias Off can allow countertrend signals.
ATR normalization does not make settings universal.
Fixed-pip conventions can differ between brokers.
XAUUSD symbol detection cannot verify a broker’s contract specification.
The dashboard is not TradingView Strategy Tester.
Data Window counters are not audited account performance.
The internal R model assumes three equal portions.
The internal model does not represent real position sizing.
One-active-trade logic is a visual-management rule.
Alert delivery depends on TradingView and user configuration.
Changing settings changes historical calculations.
Changing symbol, exchange, session, timeframe, or feed can change signals.
Adaptive baselines depend on available chart history.
Confirmed higher-timeframe values reduce unfinished-HTF changes but introduce delay.
Permanent signals wait for candle close and therefore do not capture the earliest intrabar moment.
For these reasons, the indicator should be used as an educational decision-support tool, not as a standalone automated strategy.
━━━━━━━━━━━━━━━━━━━━━━
👤 WHO THIS SCRIPT MAY BE USEFUL FOR
━━━━━━━━━━━━━━━━━━━━━━
This script may be useful for traders who:
• already understand basic MACD behavior
• want more context than a raw crossover
• study momentum expansion and contraction
• distinguish reversal, continuation, zero-line, and expansion events
• want transparent setup scoring
• want an anti-chop layer
• want optional chart and higher-timeframe trend context
• prefer confirmed-close signals
• want Entry, SL, and three target references
• use XAUUSD and want configurable fixed-pip distances
• want symbol-mismatch warnings
• want a compact dashboard
• want detailed alerts
• want diagnostic Data Window values
• prefer one active visual model at a time
It may be less suitable for users who:
• want guaranteed signals
• want a fully automated trading bot
• want every MACD crossover displayed
• expect a score to equal probability
• expect one setting to work on every market
• require exact tick-level execution
• want Strategy Tester results from an indicator
• want the indicator to replace personal judgment
• expect alerts to execute broker orders automatically
━━━━━━━━━━━━━━━━━━━━━━
🧭 BEST PRACTICE SUGGESTIONS
━━━━━━━━━━━━━━━━━━━━━━
For the default selective profile:
• use standard candlesticks
• begin with MACD 12 / 26 / 9
• keep Entry Timing on Early Trigger
• keep Momentum Quality on Strict
• keep Anti-Chop on Strict
• keep Entry Qualification on Strict
• keep the Zero-Line Filter on Trend Direction
• keep Absolute Strength enabled
• keep all four setup families enabled while learning
• use the dashboard to identify blocked regime conditions
• verify the selected risk model before reviewing trade levels
• use Stop First for conservative historical same-bar handling
• confirm XAUUSD VERIFIED when using Fixed Pips
• use alerts for monitoring rather than blind execution
For additional frequency:
• change Momentum Quality from Strict to Balanced
• change Anti-Chop from Strict to Balanced
• change Entry Qualification from Strict to Balanced
• disable the Zero-Line Filter
• disable Absolute Strength
• keep Trend Bias Off
• use Early Trigger
For additional directional restriction:
• use Chart EMA, Higher Timeframe EMA, or Combined EMA
• enable EMA slope confirmation
• add a Price-to-EMA ATR Buffer
• use a higher timeframe above the chart timeframe
• use Momentum Confirmed instead of Early Trigger
Always:
• wait for the setup candle to close
• review the setup type
• review the score components
• verify market structure independently
• review session and volatility
• verify the stop distance
• use personal position sizing
• test the exact symbol and timeframe
• understand the same-bar assumption
• treat all projected levels as analytical references
━━━━━━━━━━━━━━━━━━━━━━
🔓 PUBLICATION NOTE
━━━━━━━━━━━━━━━━━━━━━━
MACD Momentum Entry Engine is published as an educational momentum-analysis and visual trade-model tool.
The purpose of this description is to explain:
• how the configurable MACD core is calculated
• how average types affect the MACD and signal lines
• how setup events are classified
• how Reversal setups work
• how Continuation setups work
• how Zero-Line Reclaim setups work
• how Momentum Expansion setups work
• how Early Trigger and Momentum Confirmed differ
• how the Momentum Quality Score is constructed
• how adaptive momentum baselines work
• how the Anti-Chop Score is constructed
• how the Entry Qualification Score is constructed
• how final composite scores and grades are assigned
• how chart and confirmed higher-timeframe trend filters work
• how zero-line and absolute-strength filters work
• when permanent signals appear
• how the one-active-trade model works
• how Entry and Stop are calculated
• how TP1, TP2, and TP3 are calculated
• how same-candle ambiguity is handled
• how historical TP3 visuals are retained
• how non-TP3 visuals are cleaned
• how result labels behave
• what the dashboard displays
• how XAUUSD protection works
• what static and dynamic alerts contain
• what diagnostic values are available
• what the timing limitations are
• what the model does not simulate
• why familiar MACD concepts are organized into an original workflow
The script is designed to support structured analysis.
It does not promise profitable results.
It does not remove market risk.
It does not execute trades.
It should not be used as a blind LONG/SHORT system.
MAIN CHART SCREENSHOT PLAN
Use one clean standard candlestick chart.
Show the indicator with its default settings.
The screenshot should contain:
• complete symbol and timeframe information
• the indicator name
• visible standard price candles
• one clear LONG or SHORT label
• one active or completed Entry / TP / SL model
• the white Entry line
• green TP1, TP2, and TP3 levels
• the red SL area and solid SL line
• the MACD pane
• the white MACD line
• the red signal line
• the green/red histogram
• one neon MACD signal dot
• the bottom-right main-chart dashboard
• the Protection state
Do not include:
• other indicators
• manual drawings
• unrelated labels
• social-media links
• pricing information
• promotional claims
• account-profit screenshots
• win-rate claims
• non-standard candles
• hidden symbol or timeframe information
• excessive zoom
• decorative graphics unrelated to the script
The screenshot should demonstrate normal default behavior and make the relationship between the MACD event, main-chart signal, trade model, and dashboard easy to understand.
━━━━━━━━━━━━━━━━━━━━━━
🛡️ DISCLAIMER
━━━━━━━━━━━━━━━━━━━━━━
MACD Momentum Entry Engine is provided for educational and informational purposes only.
It does not constitute financial, investment, trading, legal, or tax advice.
No indicator can guarantee future results.
Markets are uncertain.
Momentum changes.
Volatility changes.
Liquidity changes.
Historical chart behavior does not ensure future performance.
Every user is responsible for their own:
• analysis
• validation
• risk management
• position sizing
• alert configuration
• trading decisions
• broker execution
• legal obligations
• tax obligations
The MACD line, signal line, histogram, momentum states, setup types, quality scores, regime scores, entry scores, composite scores, grades, trend states, LONG and SHORT labels, Entry references, Stop Loss levels, take-profit levels, boxes, result labels, Data Window values, dashboard states, internal counters, and alerts are visual analysis tools only.
The displayed Entry is not a guaranteed fill.
The displayed Stop Loss is not a broker order.
The displayed TP1, TP2, and TP3 levels are not guaranteed objectives.
The Momentum Quality Score is not a win probability.
The Entry Qualification Score is not a probability.
The Market Regime Score is not a guarantee that a market is trending.
The A+, A, B, and C grades are not promises of performance.
The internal trade model does not include spread, commissions, slippage, latency, order-book conditions, contract specifications, or partial fills.
Use this script as a structured MACD momentum-review and decision-support framework, not as a promise of profitability or a substitute for independent judgment. Indicateur

DAX Universe Relative Strength [JS]DAX Universe Relative Strength
This indicator compares the current stock with an equal-weighted German stock market benchmark consisting of DAX, MDAX, SDAX and TecDAX.
Instead of comparing a stock only with one single index, the script creates a broader DAX Universe benchmark by calculating the average performance of the four major German equity indices over a selected lookback period.
The goal is to identify whether a stock is showing relative strength or relative weakness versus the broader German stock universe.
How it works:
1. The script measures the performance of the current stock over the selected comparison period.
2. It measures the performance of DAX, MDAX, SDAX and TecDAX over the same period.
3. It calculates the equal-weighted average performance of these four indices.
4. It compares the stock’s performance with this benchmark.
5. The result is plotted as a relative strength line.
Interpretation:
- RS above 0:
The stock is outperforming the DAX Universe benchmark.
- RS below 0:
The stock is underperforming the DAX Universe benchmark.
- RS above its moving average:
Relative strength is improving.
- RS below its moving average:
Relative strength is weakening.
- Strong RS signal:
The stock is above the benchmark, above its RS moving average, and the RS moving average is rising.
This indicator is designed as a filter, not as a standalone buy or sell signal.
For pullback and swing trading, I use it to identify stocks that are stronger than the broader German market. A strong RS reading does not mean that a stock should be bought immediately. It only means that the stock deserves attention and may be worth adding to a watchlist.
A complete trade setup should also include:
- constructive trend structure
- price above important moving averages
- controlled pullback
- declining selling pressure
- clear pivot or trigger
- defined stop-loss
- attractive risk/reward ratio
The indicator includes:
- relative strength line
- moving average of the RS line
- zero line
- histogram
- background highlighting
- interpretation label
- alert conditions for RS changes
Suggested use cases:
- screening German stocks
- comparing DAX, MDAX, SDAX and TecDAX stocks
- identifying potential market leaders
- filtering pullback candidates
- avoiding stocks with persistent relative weakness
Important:
This script is for educational and analytical purposes only. It does not provide investment advice, buy signals or sell signals. Always combine relative strength analysis with your own chart analysis, risk management and trading plan. Indicateur

Momentum Leader Scanner - AshishMomentum Leader Scanner — a systematic tool for catching high-conviction momentum stocks after their initial breakout (EP candle), while they consolidate quietly in the EMA9/21 cloud before the next leg up. Combines relative strength vs. benchmark, proximity to 52-week highs, and a low-volume pullback filter to surface coiled setups — then locks a precise breakout trigger price the moment a setup is confirmed, so you can place your entry order in advance instead of reacting after the move has already started.
How it works
The script anchors its analysis to the most recent qualifying EP candle (a single-day move of 8%+ by default) and measures the stock's outperformance against a benchmark (default: NIFTYMIDSML400) since that candle — not over an arbitrary fixed window. This avoids one EP candle alone inflating a "strength" reading; the outperformance has to be sustained after the move, not just caused by it.
A setup requires four conditions together:
Outperformance vs benchmark since the EP candle exceeds a minimum threshold (default 10%)
Proximity to 52-week high (default within 20%) — confirming the stock hasn't lost its leadership
A qualifying EP candle within the detection window
A healthy pullback — price sitting inside the EMA9/EMA21 cloud (with a small tolerance for wick excursions) while the EMA9 > EMA21 > EMA50 stack stays intact, on below-average volume
When all four align, the script locks a breakout trigger price — the highest high since the EP candle — letting you pre-place a GTT order rather than waiting for a confirmed close above resistance, which is often a day or more late.
What it's good for
Catching stocks in the "coil after the jump" phase: violent move, quiet digestion, then continuation. It explicitly tracks how many separate EP candles have fired (visible as a diagnostic) so you can judge whether a stock had one clean catalyst or has been repeatedly volatile.
What it isn't built for
Slow, low-volatility grinders that never have a sharp EP candle (a different system altogether), and stocks that move too fast and too cleanly to ever pull back into the cloud on a daily timeframe.
Status
Actively used and refined against live market data — published as-is for traders who understand swing/momentum trading and want to incorporate systematic outperformance and pullback logic into their own process. Not financial advice; verify every signal against your own risk management before acting on it. Indicateur

RSI Slope Divergence HelperRSI Slope Divergence Helper compares the rolling slope of price with the rolling slope of RSI.
This is not a classic pivot-divergence detector. It does not wait for confirmed swing pivots. Instead, it compares rolling price behavior and rolling RSI behavior directly by converting both slopes into normalized, unitless values and displaying them in the same pane.
The purpose of this script is to help users observe when price slope and RSI slope are moving together, moving against each other, or moving with low slope. It is a context and visualization tool only. It does not provide trade-action instructions and it is not a trading system.
What it shows
- Normalized price slope.
- Normalized RSI slope.
- A spread histogram between the two normalized slopes.
- Neutral slope-relationship states.
- A compact dashboard.
- Optional factual markers.
- A neutral Divergence Footprint layer.
How the calculation works
The script first calculates RSI using the selected RSI source and RSI length.
For price, it estimates a rolling linear-regression slope by comparing the current linear-regression value with the prior linear-regression value. The price slope is expressed as a percentage of the prior fitted price value so it can be compared across different symbols and price levels.
For RSI, the script estimates a rolling linear-regression slope from RSI itself. Since RSI is already bounded from 0 to 100, its slope is measured in RSI points.
The two slope series have different units, so they are normalized separately:
- price slope is divided by its own rolling standard deviation
- RSI slope is divided by its own rolling standard deviation
This converts both slopes into comparable unitless values.
The displayed spread is:
normalized price slope - normalized RSI slope
A positive spread means the normalized price slope is above the normalized RSI slope. A negative spread means the normalized price slope is below the normalized RSI slope.
No request.security() is used. The script uses current chart bars only and does not use lookahead or future data.
Why it is different from classic RSI divergence scripts
Many RSI divergence scripts compare confirmed price pivots with confirmed RSI pivots. This script takes a different approach.
It focuses on rolling slope behavior:
- price slope
- RSI slope
- normalized slope spread
- duration of the current disagreement episode
- peak spread during the current episode
- spread motion
- phase gap
Because it is slope-based, it is intended as a visual helper for observing disagreement between price movement and RSI movement. It is not a reversal detector and it does not forecast future price behavior.
Divergence Footprint
The Divergence Footprint is a neutral context layer that describes the current slope-disagreement episode.
It can show:
- whether slope disagreement is active
- how many bars the current disagreement episode has persisted
- the peak absolute spread reached during the current episode
- whether the absolute spread is expanding, cooling, or holding
- the phase gap between normalized price slope and normalized RSI slope
The phase gap is calculated by applying an angle transform to each normalized slope and then comparing the two angles. It is descriptive only. It is not a probability, score, forecast, or confirmation tool.
Optional phase-gap and duration plots are off by default to keep the pane clean.
State model
The dashboard uses neutral state names:
- Warming up
- Aligned upward
- Aligned downward
- Upper disagreement
- Lower disagreement
- Flat / low slope
- Mixed slopes
Upper disagreement means price slope is positive while RSI slope is negative.
Lower disagreement means price slope is negative while RSI slope is positive.
These states describe the current relationship between the two slopes. They do not imply reversal or continuation.
Markers and alerts
Markers are optional and off by default.
The marker display mode can be set to:
- Off
- Disagreement only
- All events
When enabled, markers are small and factual:
- P+ R- means price slope is positive while RSI slope is negative.
- P- R+ means price slope is negative while RSI slope is positive.
- Align marks slope agreement returning after a prior slope-disagreement episode, when enabled.
Alerts use the same neutral event logic:
- Upper slope disagreement
- Lower slope disagreement
- Slope agreement restored
- Spread crossed above threshold
- Spread crossed below threshold
Alerts are confirmed on bar close by default. Intrabar mode is available, but realtime values can update until the bar closes.
Dashboard
The default dashboard is compact and auto-sized. It is designed to stay readable without covering the indicator pane.
Compact layout shows:
- State
- Price slope
- RSI slope
- Spread
- Footprint
- Event mode
Standard and Detailed layouts add more context, including RSI value, spread motion, phase gap, disagreement bars, episode peak spread, active warm-up bars, and bar status.
Visual customization
Users can adjust:
- table layout
- table position
- table text size
- header text size
- table colors
- row backgrounds
- state-row highlighting
- plot colors
- histogram transparency
- marker colors
- background tint
- fixed table sizing, when desired
By default, fixed table cell sizing is off, so the dashboard auto-sizes to its content. Markers and background tint are also off by default to keep the pane clean.
Visual settings do not affect the calculations.
Live behavior and robustness
The script includes:
- automatic warm-up floor
- guarded denominators
- minimum normalized slope threshold
- optional spread-threshold filter for events
- optional minimum persistence for disagreement events
- optional event cooldown
- confirmed-bar event handling by default
- realtime / confirmed bar status disclosure in the table
If there is not enough history, or if the normalization denominator is not usable, the script avoids producing misleading slope states and displays safe fallback text such as n/a or Warming up.
Limitations
This script is not financial advice and not a trading system.
Slope disagreement can persist.
Slope disagreement can disappear without a major price move.
Slope disagreement does not predict reversal or continuation.
RSI is a bounded oscillator and can remain extended while price continues moving.
Default settings are starting points, not optimized settings.
Normalization length, slope length, smoothing length, and thresholds affect sensitivity.
Japanese notes
価格の傾きとRSIの傾きを正規化して比較し、両者の乖離をスプレッドとDivergence Footprintで表示する補助ツールです。通常のピボット型RSIダイバージェンス検出ではありません。売買判断や将来の値動きを示すものではなく、状況把握のための可視化ツールです。既定ではCompact表示、マーカーと背景色はオフ、確定足イベント処理がオンです。 Indicateur

MTF Stoch RSI Snapshot 9 Timeframe OverviewThis indicator provides a compact multi-timeframe view of the Stochastic RSI across 9 different timeframes:
1m, 5m, 15m, 30m, 45m, 1h, 2h, 6h, 1D
Instead of switching between charts, the script displays all selected timeframes side by side in a clean column layout. Each column represents one timeframe and shows the current position of the two Stoch RSI lines, making it easier to quickly understand momentum conditions across multiple market structures.
Main Features
Multi-timeframe Stoch RSI visualization
9 fixed timeframe columns
K and D lines shown inside each column
Gradient background based on oscillator level
Quick visual identification of overbought and oversold areas
20 / 50 / 80 reference levels
Optional numeric K and D values
Compact layout designed for fast market reading
How to Read It
Each column represents a timeframe.
The vertical position of the lines shows where the Stoch RSI currently is:
Near the bottom: oversold / weak momentum area
Around the middle: neutral zone
Near the top: overbought / strong momentum area
The background gradient helps identify the oscillator zone immediately, while the two plotted lines allow you to see the current relationship between K and D.
This is useful when you want to compare short-term and higher-timeframe momentum at a glance.
Typical Use Cases
Scalping confirmation
Multi-timeframe momentum alignment
Spotting overbought / oversold conditions across timeframes
Filtering entries based on higher-timeframe context
Quickly checking whether short-term movement agrees with broader market structure
Notes
This indicator does not generate buy or sell signals by itself.
It is intended as a visual decision-support tool and should be used together with price action, trend analysis, support and resistance, and proper risk management.
Disclaimer
This script is for educational and informational purposes only.
It is not financial advice. Always test any trading approach carefully before using it in live markets. Indicateur

Retest RangeRetest Range: Advanced Market Structure & Setup Engine
Overview
The Retest Range indicator is a sophisticated price action tool designed to identify powerful 3-candle reversal structures, automatically map out their internal mathematics, and project highly accurate support, resistance, and target zones. It combines raw momentum filtering with an internal Market Structure (BOS/CHoCH) engine to provide a complete, minimalist dashboard for serious traders.
How It Works: The 3-Candle Setup
The core engine hunts for a specific cluster of momentum:
Bullish Setup: A single bearish (red) candle followed immediately by 3 consecutive bullish (green) candles that engulf the high of the initial red candle.
Bearish Setup: A single bullish (green) candle followed immediately by 3 consecutive bearish (red) candles that engulf the low of the initial green candle.
Once a valid setup is identified, the indicator draws a transparent box around these 3 candles to visualize the "Range".
Mathematical Levels (0.75, 0.50, 0.25)
Inside every active Box, the script automatically projects three critical Fibonacci-like quartiles:
0.75, 0.50 (The Mid/Entry Level), and 0.25.
These lines extend forward to act as immediate dynamic support and resistance. The closest, untouched active box will continuously extend its lines along with the live price until a new box forms.
Box Targets & The "Inverse" Mechanics (Hocus Pocus)
Every valid setup projects a 1:1 Box Target based on its own range size.
A Bullish box projects a target box above it.
A Bearish box projects a target box below it.
The Inverse Trap: If the price fails to hit its intended target and instead reverses to close beyond the 0.50 mid-level of the active box, an "Inverse" is triggered.
When an Inverse occurs:
The original setup lines flip their colors (a failed Bullish box turns red).
The initial Box Target transforms into a hard "Resistance" (or Support) block.
A brand new Box Target is immediately projected in the opposite direction.
This allows traders to catch failed setups and instantly ride the momentum of the reversal trap!
Built-In Market Structure Engine (BOS / CHoCH)
Running silently in the background is a pure fractal-based Market Structure engine. It maps out confirmed Pivot Highs and Pivot Lows, labeling Break of Structure (BOS) and Change of Character (CHoCH) levels. It requires a hard candle body close to confirm breaks, filtering out fake wick sweeps.
The Stats Dashboard
A clean, minimalist ICT-style panel adapts to your chart's theme (Dark/Light mode). It provides live intelligence:
Daily Bias: Compared to the daily open.
MS State: The latest trend direction from the BOS/CHoCH engine.
Live Momentum & Volume: Real-time percentage strength of the current 3-candle move compared to the historical average of all previous boxes (highlighting STRONG vs. WEAK moves).
RSI & DMI (DI+ / DI-): Essential trend strength metrics at a glance.
Key Features:
Fully customizable Body Multiplier to filter out weak/doji setups.
Automatic preservation of validated Support/Resistance (Inverse) target boxes.
Clean, non-overlapping labels and lines.
Minimalist aesthetics designed for Quant and Price Action traders. Indicateur

Indicateur

Multi-Oscillator Divergence ConfluenceMulti-Oscillator Divergence Confluence (MODC)
MODC is a three-layer divergence analysis indicator built to make oscillator divergence easier to read without turning the chart into a wall of labels.
The script evaluates RSI, MACD, Stochastic, CCI, MFI, and OBV at the same confirmed price pivots. This shared-pivot approach keeps oscillator votes aligned to the same market structure point instead of mixing unrelated oscillator pivots.
The goal is not to create a standalone buy/sell system. MODC is designed as a visual confirmation and context tool for traders who already use market structure, trend context, and risk management.
What makes MODC different
MODC is built as a three-layer system:
1. Always-on market context
The pane stays useful on every bar, even when no divergence signal is active.
It includes:
- A Confluence Pressure Wave from 0 to 100.
- A regime ribbon identifying Trending, Ranging, Volatile, or Quiet conditions using ADX and ATR percentile.
- An oscillator stack histogram showing whether more enabled oscillators are leaning bullish or bearish.
- Subtle pressure background zones when divergence pressure builds.
This layer helps show the “story” before a confirmed signal appears.
2. Informational Setup layer
In Exploratory mode, subtle setup dots appear when divergence pressure builds near a recent swing extreme.
A Setup is not a confirmed divergence signal. It is only a watch-list event.
Setup dots require:
- Pressure wave crossover.
- At least two oscillators leaning in the same direction.
- Price near a recent swing high or swing low using ATR-based proximity.
Setup alerts are disabled by default because Setups are pre-confirmation events and may never become confirmed pivot divergences.
3. Confirmed Valid and Elite signals
Confirmed signals are based on price pivots. A pivot only confirms after the selected Pivot Right Bars have closed.
Valid signals require:
- A confirmed price pivot.
- Minimum oscillator confluence.
- A base score threshold.
- Hidden divergences aligned with EMA context.
Elite signals require Valid conditions plus a stricter quality gate:
- EMA context.
- ADX trend-strength rules.
- Regime-adaptive score threshold.
- Optional volume gate.
- Optional historical forward-return proxy gate.
Signal labels are compact:
- RB = Regular Bullish
- HB = Hidden Bullish
- RS = Regular Bearish
- HS = Hidden Bearish
The number beside the label is the signal score. Visual intensity scales with score:
- 50-65 = muted
- 66-79 = clear
- 80+ = premium / Elite
How the scoring works
Scoring is intentionally conservative and always based on confluence out of six oscillators. Disabling oscillators does not inflate the score.
The score considers:
- Oscillator confluence count.
- Correct reversal or continuation context.
- Whether enabled oscillators are in exhaustion zones.
- Volume participation.
- Pivot spacing quality.
- Market regime alignment.
- A penalty when fewer than four oscillators are enabled.
Regular divergence and hidden divergence are treated differently:
- Regular Bullish = potential reversal from weakness.
- Regular Bearish = potential reversal from strength.
- Hidden Bullish = potential trend continuation above the EMA.
- Hidden Bearish = potential trend continuation below the EMA.
Display modes
Signal Density:
- Conservative: Elite only.
- Balanced: Valid + Elite. This is the default.
- Exploratory: Setup + Valid + Elite.
Visual Intensity:
- Minimal: pressure wave and confirmed badges only.
- Standard: pressure wave, regime ribbon, stack histogram, confirmed lines and badges.
- Cinematic: Standard mode plus Elite aura, candle tint, stronger atmosphere, and compact HUD stats.
Suggested usage
Start with:
- Signal Density: Balanced
- Visual Intensity: Standard
Use Layer 1 to understand market context. Treat Setup dots as early watch-list information only. Use Valid and Elite signals as confirmation points, not automatic entries.
For alerts, use the confirmed Valid or Elite alert conditions and set alerts to Once Per Bar Close.
Repaint and delay disclosure
Confirmed Valid and Elite outputs are evaluated on closed bars.
Because this script uses confirmed pivots, a divergence signal is only known after Pivot Right Bars have closed. The marker is drawn back on the pivot bar for visual alignment only. The signal was not actionable on the original pivot bar.
The Setup layer is different: Setups are informational pressure events, not confirmed divergence signals. They may never become confirmed signals.
Forward-return proxy disclosure
MODC includes optional forward-return proxy statistics for visible chart history. These are in-sample summaries only.
They are not a backtest. They do not include commissions, slippage, position sizing, stops, targets, or risk management. They should not be interpreted as expected future performance.
Limitations
Divergence can fail, especially during strong trends or news-driven moves. Oscillators are related momentum tools, so confluence does not guarantee independence. This indicator should be used with broader market structure, trend analysis, and a defined risk plan.
This script is for analysis and education only. It is not financial advice and is not a standalone trading system. Indicateur

Trend Navigator - Bulls Eye - Options Trade# GN-CE-PE State Engine
## Overview
GN-CE-PE State Engine is a market participation and synchronization tool designed to help traders assess directional conviction across multiple related instruments.
The indicator monitors the relationship between:
* Gift Nifty
* At-The-Money Call Options
* At-The-Money Put Options
and transforms their combined behavior into a set of actionable market states.
Rather than analyzing a single chart in isolation, the engine focuses on whether bullish or bearish participation is developing in a coordinated manner across the underlying market and its options.
---
## Market States
### Bull Trend
Indicates broad bullish participation and directional alignment across the monitored instruments.
---
### Bear Trend
Indicates broad bearish participation and directional alignment across the monitored instruments.
---
### Reset
Represents a pause, pullback, or temporary loss of momentum within an existing directional move.
This state can help traders identify periods where the market is rebalancing before a potential continuation.
---
### CE Ready
Highlights conditions where bullish participation is strengthening and directional alignment is improving.
---
### PE Ready
Highlights conditions where bearish participation is strengthening and directional alignment is improving.
---
## Dashboard
The built-in dashboard provides a real-time summary of:
* Market bias
* Participation strength
* Momentum state
* Directional alignment
* Confidence score
* Current market condition
This allows traders to quickly assess market structure without switching between multiple charts.
---
## Confidence Score
The confidence score reflects the degree of alignment between the monitored instruments.
Higher scores suggest stronger participation and greater directional agreement, while lower scores often indicate mixed conditions or transitional phases.
The score is intended as a contextual aid and should not be used as a standalone trading signal.
---
## Alerts
The indicator includes alert conditions for:
* CE Ready
* PE Ready
allowing traders to monitor potential opportunities without continuously watching the chart.
---
## Recommended Usage
GN-CE-PE State Engine is designed to complement the **Trend Navigator - BullsEye** indicator.
Suggested workflow:
### Step 1
Use **Trend Navigator - BullsEye** to determine the prevailing market structure and directional bias.
### Step 2
Use **GN-CE-PE State Engine** to evaluate whether participation across the underlying market and options is supporting that directional view.
### Step 3
Focus on opportunities where both indicators are aligned.
This combination helps traders distinguish between isolated price movements and moves that are supported by broader market participation.
---
## Notes
* Designed primarily for intraday market analysis.
* Option symbols should be updated to match the active trading series.
* Intended as an analytical and decision-support tool.
* Not financial advice.
## Disclaimer
This indicator is intended for educational and analytical purposes only. It is designed to assist traders in evaluating market participation, directional alignment, and market structure across the monitored instruments.
The indicator does not predict future price movements and should not be considered a recommendation to buy, sell, or hold any financial instrument. All trading decisions should be made using independent analysis, proper risk management, and personal judgment.
Past market behavior does not guarantee future results. Users are solely responsible for their trading decisions and any resulting gains or losses. Indicateur
