Bitcoin SuperFlip | Supertrend EMA Trend-Following StrategySuperFlip combines two of the most widely tested trend-following tools on TradingView — the ATR-based Supertrend and a long-period EMA trend filter — into a single directional strategy built and tuned for BTCUSD on the 1-hour chart. The goal isn't novelty; it's a clean, well-understood core (Supertrend flips) layered with a simple confirmation filter (EMA200) and an optional secondary filter (ADX) to reduce whipsaw entries during choppy, low-conviction conditions.
This is a trend-following, not mean-reversion system. It will have a lower win rate than a typical scalping strategy, and that is by design — trend systems make their money from a smaller number of large winning trades that outweigh a higher frequency of small losses.
How it works
Supertrend (ATR-based) tracks the prevailing trend direction and flips when price crosses its dynamic ATR band. This flip is the core trigger for both entries and exits.
EMA200 trend filter only allows longs when price is above the 200-period EMA, and shorts when price is below it — filtering out counter-trend signals that go against the higher-timeframe bias.
Optional ADX filter (off by default) adds a trend-strength gate, only allowing entries when ADX is above a user-set threshold (default 20). This is intended to reduce entries during flat, directionless conditions where Supertrend tends to whipsaw.
Flip-based exits: positions close automatically when Supertrend flips in the opposite direction — this is the primary exit mechanism.
Optional Stop Loss / Take Profit: percentage-based SL/TP can be layered on top of the flip exit as a secondary risk cap (off by default in the current preset — see warnings below).
Features
Toggleable ADX trend-strength filter with adjustable length, smoothing, and threshold
Optional percentage-based stop loss and take profit
Adjustable Supertrend ATR length/factor and EMA filter length
Visual glow-line Supertrend rendering with layered gradient fill toward price
Bullish/bearish flip markers, separate from actual trade-entry markers, so you can see when Supertrend flips vs. when a trade was actually filtered/taken
Multiple color presets (Classic, Aqua, Cosmic, Cyber, Neon, Custom)
Optional bar and background tinting for at-a-glance trend state
Commission (0.075%) and slippage (1 tick) modeled into backtest results by default
Recommendations
Built and tested for BTCUSD, 1H timeframe — this is the intended use case; other assets/timeframes will require re-tuning.
Position sizing defaults to 25% of equity per trade rather than 100% — this materially reduces drawdown and PnL volatility versus full-equity compounding, and is a more realistic starting point for evaluation.
If enabling the ADX filter, start around threshold 15-20 and sweep from there — lower values retain more trades at the cost of some whipsaw protection, higher values do the opposite.
Consider re-enabling a wider stop loss (8-10%+) rather than running with SL fully disabled, especially before using on a leveraged instrument.
Always forward-test or paper-trade before committing real capital — historical performance on a fixed backtest window is not a guarantee of future results.
Warnings
No stop loss is enabled by default in this configuration. Running without a stop loss on a leveraged or volatile asset like BTC carries real, uncapped downside risk per trade — enable and size a stop loss appropriate to your risk tolerance before live use.
With low trade counts (roughly 50-100 in typical backtests), a small number of outlier trades can heavily influence headline profit factor and total return figures — inspect the individual trade list, not just summary stats, before trusting the numbers.
High reported PnL% figures are sensitive to default_qty_value (percent-of-equity compounding) and can look far more impressive than the underlying edge actually is. Judge the strategy primarily by win rate, profit factor, and drawdown — not raw percentage return.
Past performance on historical data does not predict future results. This script is provided for educational and research purposes and is not financial advice.
استراتيجية

3-Way Bollinger Trend [ZynAlgo]1. Overview
3-Way Bollinger Trend combines 3 layers of analysis into a single price band, rather than relying on a plain moving average: a fast center line , a volatility band (classic Bollinger-style, auto widening/narrowing with recent volatility), and momentum-based coloring (Bullish / Bearish / Sideway). On top of this it generates signals with a "pullback to the center line" logic - not a reversal-at-the-band-edge approach - to catch pullback continuations within a trend rather than only tops and bottoms.
2. The Three Components
Center line - reacts quickly to price with clearly less lag than a same-length standard moving average, while staying smooth enough to avoid noise. Band Settings -> HMA Length (default 20).
Volatility band - width reflects recent volatility; one single band tier (no inner/outer). Band Settings -> Band Width (x StDev) (default 2.0).
Momentum-based coloring - the center line and band both change color with the momentum state: Green = BULLISH (strong upward momentum), Red = BEARISH (strong downward momentum), Yellow = SIDEWAY (direction unclear). RSI Settings -> Bullish above / Bearish below. These thresholds do not just change color - they decide which trade direction is allowed (see section 3).
3. Reading the Signal
Pullback logic - the signal is built in two stages. Trigger: price closes back on the trend side of the center line. Confirmation: price holds on that side for a set number of extra bars (Signal Settings -> Confirmation Bars) without crossing back. Only when both complete does the signal fire; a cross-back during confirmation cancels it and a fresh Trigger is required.
Why confirmation - crossing the center line is a frequent event, so firing instantly would expose it to whipsaws. Confirmation is the only filter used; no candle-shape pattern (pin bar, engulfing) is required.
Effective Trend (most misunderstood) - the indicator remembers the most recent official trend whenever momentum reads clearly Bullish or Bearish. In the Sideway zone it does NOT clear that memory - it keeps using the last recorded trend to decide direction. Bullish -> only Buy allowed; Bearish -> only Sell allowed; Sideway -> follows the last effective trend. Sideway does not mean both directions are open.
Entry & Stop - Entry is the open of the bar immediately after the final confirmation bar (never the signal bar). Stop is an ATR distance from entry, computed at the confirmation bar, not from candle wicks. Signal Settings -> SL Distance (x ATR).
4. Take Profit & R-Multiple Management
Three R-based targets (R = the SL distance): TP1 = 1.0R (always on), TP2 = 2.0R (Enable TP2), TP3 = 3.0R (Enable TP3).
Automatic trailing stop: TP1 hit -> SL to breakeven; TP2 hit -> SL up to TP1.
Time-based exit: a trade open too long (default 200 bars) without hitting SL or the final TP closes as a TIMEOUT - neither win nor loss.
Adjustable under Risk & Reward (TP1/TP2/TP3, Enable TP2/TP3, Max Trade Duration).
5. Trade Mode - the Master Switch
OFF (default) - center line and colored band stay visible; signal arrows still fire with a hover explanation; Stability Mode and Smart Signal Filter are bypassed; no SL/TP boxes or Win Rate/PF tracking. Best for observing before live trading.
ON - center line and band hidden; full SL/TP boxes with a real-time trailing SL line; Stability Mode and Smart Signal Filter take effect; dashboard adds Trades / Win Rate / Profit Factor. Best for simulating real trading performance.
6. Execution Filters (active only when Trade Mode is ON)
Stability Mode (default On) - blocks new signals while a trade is already open.
Smart Signal Filter (default Off) - forces Buy/Sell to alternate.
Cooldown (Bars) (default 5) - minimum spacing between two consecutive signals.
7. Dashboard
RSI - current momentum reading.
Momentum Zone - BULLISH / BEARISH / SIDEWAY (color-coded).
Trades (Trade Mode ON) - total trades recorded.
Win Rate / PF (Trade Mode ON) - win rate and Profit Factor. A breakeven exit counts as 0.5 of a win; Profit Factor is unaffected since a breakeven trade adds 0 to both profit and loss.
Dashboard position and text size are adjustable under Display / Dashboard.
8. Alerts
Reversal Buy - fires when a Buy signal is officially confirmed.
Reversal Sell - fires when a Sell signal is officially confirmed.
9. Notes
The Trades / Win Rate / Profit Factor figures come from an internal, non-executed simulation over the visible history on the chart. They are a study of the settings on past data - not a backtest, not a broker report, and not indicative of future results.
No candle-shape requirement - the signal is defined only by the Trigger + Confirmation pairing described above.
All signal logic processes fully closed bars only, never a still-forming bar, so signals do not repaint.
Sideway does not mean fully neutral - always check the last effective trend (section 3) before wondering why a yellow band only shows Sell or Buy.
This indicator is a tool for study and education, not financial advice, and does not guarantee any trading outcome. Always apply your own analysis and risk management.
10. Practical Tips
New to it? Keep Trade Mode off for a while, watch when the arrows appear, and read the hover explanations first.
Market whipsawing around the center line? Raise Confirmation Bars to 3-4 to filter more false signals.
Want fewer, higher-conviction signals? Increase Cooldown (Bars) and consider enabling Smart Signal Filter.
SL too wide or tight for the instrument? Adjust SL Distance (x ATR) - it drives the whole R-multiple TP structure.
مؤشر

Golden Trident | Swing-Anchored VWAP Trend SystemGolden Trident is a long-only, daily-timeframe trend-following strategy built specifically for XAUUSD (spot gold). Rather than relying on a lagging moving-average crossover or a single volatility band, it reads market structure directly — tracking swing highs and lows to determine trend direction — and pairs that with a volume-weighted anchor price that resets at every structural trend change. This gives the strategy a "fair value" reference line that adapts to each new trend leg rather than dragging a fixed-length average behind it.
The strategy is deliberately long-only. Gold has spent most of its liquid trading history in a secular uptrend, and countertrend short entries were found to meaningfully drag down both total return and risk-adjusted performance without adding diversification benefit — so the system simply steps to the sidelines when structure turns bearish, rather than fighting the dominant trend.
Position sizing is intentionally simple: a fixed percentage of equity per trade, compounding as equity grows. Risk management is handled by a single wide "catastrophe" stop rather than a tight trailing stop — the strategy is designed to exit on genuine trend reversal, not to be shaken out by normal daily noise.
How It Works
Swing Structure (Trigger): The strategy tracks rolling swing highs and lows over a configurable lookback. When the most recent extreme is a new high, structure is bullish; when it's a new low, structure is bearish.
Anchored VWAP (Trend Reference): Each time structure flips, the volume-weighted average price calculation resets and begins accumulating fresh from that point — producing a trend-relative fair-value line rather than a static average.
EMA200 Filter (Structure Confirmation): Long entries additionally require price to be trading above the 200-period EMA, keeping trades aligned with the macro trend.
Chop Filter (Volatility Gate): Entries are blocked when recent price range is too narrow relative to ATR — this avoids entering on structural "flips" that occur during sideways consolidation, where they're most likely to reverse immediately.
Exit: Positions close purely on structural trend reversal. No trailing stop is used, since research during development found trailing exits tended to cap winning trades prematurely without meaningfully reducing losses.
Backstop Stop: A wide ATR-based stop exists purely as disaster protection for extreme, unexpected moves — it is not intended to be part of normal trade management.
Features
Swing-structure trend detection (not a lagging indicator crossover)
Self-resetting anchored VWAP trend reference
Optional EMA200 macro trend filter
Optional ATR-based chop/consolidation filter
Configurable backtest date range
Trade outcome visualization (colored boxes showing each closed trade's entry-to-exit range)
Live dashboard showing current structure, volatility state, position size, and open P/L
Gold-themed visual design with gradient trend fill and directional bar coloring
Tips for Use
Timeframe: Designed and tested on the daily chart. Shorter timeframes will likely need proportionally shorter swing/EMA/ATR lengths.
Data quality matters: Backtest only over periods with clean, liquid, consistently-quoted price and volume data. Very long historical ranges on XAUUSD may include gold-standard-era pricing or unreliable volume that will distort results — the built-in date range inputs default to 2010 onward for this reason.
Position sizing: The default equity percentage is aggressive. Test at a lower size first and scale up only after reviewing max drawdown and worst losing-streak length for your specific test window — position sizing should reflect your own risk tolerance, not just backtest profit factor.
Shorting: Short entries exist as a toggle for experimentation, but are off by default based on backtest performance on gold's historical trend bias. Re-enabling changes the strategy's risk profile meaningfully.
Not financial advice: This is a backtesting and educational tool. Past performance on historical data does not guarantee future results.
استراتيجية

Coppock Curve Multi-Filter [MarkitTick]💡 A dual-momentum oscillator built on the classic Coppock Curve, extended with an optional adaptive source pre-filter, an ADX strength gate, and a full ATR-based trade-management layer with staged take-profits, on-chart price levels, and a live dashboard. The core wave is a weighted moving average of two rate-of-change readings, but everything measured downstream of that wave — signal timing, trend bias, and risk levels — can be reshaped by up to eight independent, toggleable filters, giving traders a single oscillator that can behave anywhere from "classic long-term Coppock" to a tightly gated, multi-condition entry engine.
✨ Originality and Utility
The stock Coppock Curve is a single-purpose, long-only momentum tool: sum two rate-of-change readings, smooth with a weighted moving average, and watch for crosses above zero. This script keeps that foundation intact but restructures it into a bidirectional signal engine with a stack of independent confirmation layers that the original concept never included.
The key structural change is the adaptive source stage. Rather than feeding raw closing price directly into the rate-of-change calculations, the script offers a choice of eight different smoothing methods — including a custom Kalman Filter estimator and a custom LLAMA (Linear-Lag Adaptive Moving Average) function — that first condition the price series before Coppock's ROC math is applied. This means the character of the entire curve can be tuned from responsive to heavily smoothed without altering the underlying two-ROC-plus-WMA structure that defines the Coppock method.
Layered on top of that are seven optional gating and confirmation mechanisms (ADX strength, divergence, slope acceleration, volume, higher-timeframe alignment, volatility-adjusted zero line, and signal persistence) that traders can combine in any subset. Because each filter operates independently and can be switched on or off, the same core wave can be configured for a slow trend-confirmation approach or a fast, tightly-filtered signal generator, giving the tool a much broader utility range than a standard Coppock plot.
Beyond signal generation, the script converts each qualifying cross into a full trade plan: an ATR-derived stop-loss, three R-multiple take-profit tiers, live price levels drawn on the chart, and a real-time dashboard summarizing bias, filter states, and trade levels — none of which exist in the original Coppock Curve concept or in standard TradingView implementations of it.
🔬 Methodology and Concepts
● Core Wave Construction
The engine begins with an adaptive source stage. If no adaptive filter is selected, the raw chosen source (default: close) feeds directly into the calculation. If a filter is selected, the source is pre-smoothed using one of the following:
Simple, Exponential, or RMA-based moving averages
A Double WMA (a weighted moving average applied twice in succession, producing extra lag reduction)
A Triple VWMA (three successive volume-weighted moving average passes)
A Hull Moving Average
A custom LLAMA function, which computes a simple moving average over the lookback window, then adds a linear slope term (calculated from the change in price across the window divided by the window length) scaled by half the window length — effectively projecting the average forward along its own recent trajectory
A custom Kalman Filter estimator, which maintains a running estimate and error variance, calculates a Kalman gain each bar from the ratio of predicted error to total error, and blends the new price into the estimate proportionally to that gain — placing more weight on new data when the filter's own uncertainty is high, and more weight on the existing estimate when it is low
Once the (optionally smoothed) source is established, two Rate of Change values are calculated against it — a long lookback and a short lookback, independently configurable. These two ROC values are summed and passed through a weighted moving average, producing the final Coppock Curve value. This is structurally identical to the classic Coppock formula, but with the adaptive pre-filter as an optional intermediate step.
• ADX Strength Filter
When enabled, the script calculates the Directional Movement Index (+DI, -DI, ADX) over a configurable length. A signal — whether a slope change, a cross, or a zero-line cross — is only considered valid if the ADX reading is at or above the user-defined threshold. This filters out Coppock movements that occur during weak or directionless conditions.
• Slope and Cross Detection
The script tracks whether the curve is rising or falling bar-to-bar, and separately detects two types of crosses: a cross of the curve against its own prior value (used as the primary bull/bear signal) and a cross of the curve against the zero line (used as a secondary trend-state signal). Both cross types respect the ADX filter when it is active.
• Signal Locking
A "Lock Signal" input freezes the active signal and trade levels on the most recent bar, preventing new signals from overwriting the currently displayed trade plan — useful for holding a specific setup visible while monitoring live price action.
● Trade-Level Automation
Every new bullish or bearish cross (confirmed and unlocked) triggers a full trade-plan calculation:
Entry is set to the prior bar's close
Stop-loss is placed at a configurable multiple of ATR away from entry, in the direction opposing the trade
Three take-profit levels are calculated as configurable R-multiples of the initial risk distance (the entry-to-stop distance), projected in the trade's favor
Each level's distance from entry is also expressed as a percentage for quick reference
These levels persist on the chart until a new opposing signal fires (or, if Lock Signal is active, until manually released), and are dynamically extended to the current bar so the trade plan remains visible in real time. Take-profit and stop labels update their text once price actually touches each respective level, marking it as hit along with the realized percentage move.
● Optional Confirmation Filters
Seven additional filters exist as inputs in the script but should be understood as configuration flags a trader can layer onto the core signal logic depending on their own methodology:
Divergence Filter — intended to suppress cross signals that run counter to a detected price/Coppock divergence
Slope Acceleration Filter — intended to require the curve's slope itself to be increasing, not merely positive, before validating a signal
Volume Confirmation Filter — intended to require current volume to exceed its moving average before a signal is accepted
HTF Alignment Filter — intended to require a higher-timeframe Coppock reading to agree with the signal's direction
Volatility-Adjusted Zero Line — intended to require zero-line crosses to clear a noise band derived from the indicator's own recent volatility, reducing whipsaw signals near the zero line
Signal Persistence Filter — intended to require the curve's direction to hold for a minimum number of bars before a signal is treated as valid
Traders should treat these as intended-purpose toggles per their input tooltips and confirm behavior against the ADX filter and core cross logic, which are the two filters fully wired into the signal path in this build.
🎨 Visual Guide
● Main Panel (Separate Pane)
The primary line plot shows the Coppock Curve itself. It is colored using the Bull Color when the curve is rising and the ADX filter (if active) passes, the Bear Color when falling under the same condition, and the Neutral Color otherwise.
A histogram of the same Coppock value is plotted in columns beneath the line, using a four-tier color scheme: strong bull shading when the curve is above zero and rising, weak bull shading when above zero but not rising, weak bear shading when below zero but rising, and strong bear shading when below zero and falling.
A dashed horizontal zero line marks the neutral threshold that separates bullish and bearish curve territory.
Small triangle markers appear directly on the curve at the exact bar where it crosses zero — an upward triangle in Bull Color for an upward zero-cross, and a downward triangle in Bear Color for a downward zero-cross.
● Price Chart Overlay
When candle coloring is enabled, the price candles themselves are recolored using the same four-tier histogram coloring described above, turning the price chart into a visual heatmap of underlying Coppock strength and direction.
When a new signal fires and trade levels are enabled, five horizontal lines are drawn directly on price: a solid stop-loss line, a dashed entry line, and three dashed take-profit lines with progressively increasing opacity from TP1 to TP3. Each line carries a right-aligned label showing its role and exact price.
A shaded "risk zone" fills the area between the stop-loss and entry lines, and a "reward zone" fills the area between the entry and TP3 lines, giving an immediate visual sense of the risk-to-reward geometry of the active trade plan.
Once a take-profit or stop level is touched by price, its label updates in place to show a hit confirmation along with the realized percentage gain or loss.
● Dashboard Table
A compact table (position configurable) displays, in real time: the current symbol and timeframe, the Lock Signal state, the raw Coppock value, the current bias (Bullish / Bearish / Neutral, color-coded), the individual long and short ROC readings, whether the curve is currently above or below zero, and — when trade levels are enabled — the live Entry, SL, TP1, TP2, and TP3 prices. If the ADX filter is active, its current reading is shown alongside a pass/fail color cue. If an adaptive filter is selected, its name is displayed for quick reference.
📖 How to Use
Treat a bullish cross (curve turning up) as a potential long-side signal, and a bearish cross (curve turning down) as a potential short-side signal, especially when it aligns with a zero-line cross in the same direction.
Use the zero line as a broader trend-state filter: readings above zero generally reflect positive intermediate-term momentum, while readings below zero reflect negative momentum, independent of the immediate slope.
Enable the ADX filter to restrict signals to periods of measurable trend strength, reducing signals generated during flat or choppy conditions.
Select an adaptive filter method to change the responsiveness of the underlying source feeding the Coppock calculation — faster methods like EMA or the Kalman Filter increase sensitivity, while methods like the Triple VWMA or SMA produce a smoother, slower curve.
When a signal fires, use the automatically plotted Entry, SL, and TP1–TP3 lines as a starting reference for trade structure, and adjust position sizing according to the displayed stop distance and your own risk tolerances.
Use candle heatmap coloring as a quick visual scan across the chart to spot where momentum has historically been strongest or weakest, independent of reading the oscillator pane directly.
Configure the webhook alert action strings in the Alerts group to match the payload keys expected by your automation or webhook receiver before relying on the JSON-formatted alerts for execution.
⚙️ Inputs and Settings
• Core Settings
Source — the price series the calculation is based on (default: close)
Long ROC Length — lookback for the long-term rate-of-change component
Short ROC Length — lookback for the short-term rate-of-change component
WMA Smoothing Length — window for the final weighted moving average applied to the combined ROC values
• Filters
Use ADX Filter / ADX Threshold / ADX Length — enables trend-strength gating and configures its sensitivity
Adaptive Filter / Adaptive Filter Length — selects the pre-smoothing method applied to price before the ROC/WMA math, and its lookback window
Use Divergence Filter / Divergence Pivot Lookback — configuration for suppressing signals against detected divergence
Use Slope Acceleration Filter — configuration for requiring accelerating slope before a signal
Use Volume Confirmation Filter / Volume MA Length — configuration for requiring above-average volume
Use HTF Alignment Filter / HTF Alignment Timeframe — configuration for requiring higher-timeframe agreement
Use Volatility-Adjusted Zero Line / Volatility Zero Band Multiple / Volatility Zero Band Length — configuration for a noise-adjusted zero-cross threshold
Use Signal Persistence Filter / Persistence Bars — configuration for requiring a minimum number of bars of consistent direction
• Trade Tools
Lock Signal — freezes the currently active signal and trade levels
SL ATR Multiple — sets stop-loss distance as a multiple of ATR
TP1 / TP2 / TP3 R-Multiple — sets each take-profit distance as a multiple of the initial risk
ATR Length — lookback for the Average True Range calculation used in stop placement
Show Trade Levels — toggles the on-chart lines, labels, and dashboard trade-level rows
• Visuals
Use Candle Coloring — toggles heatmap-style recoloring of price candles
Show Histogram — toggles the columned histogram beneath the main curve
Show Zero-Cross Markers — toggles the triangle markers at zero-line crosses
• Dashboard
Show Dashboard — toggles the on-chart summary table
Position — sets the table's screen position
• Alerts
Action strings for Bull Cross, Bear Cross, Zero Cross Up/Down, Close Long/Short, and TP1/TP2/TP3/SL Hit — these populate the "action" field of each JSON alert payload, allowing the alerts to be mapped directly to webhook or automation logic
• Colors
Full palette control over bull/bear/neutral coloring, histogram tiers, dashboard styling, and all trade-level line and fill colors
🔍 Deconstruction of the Underlying Scientific and Academic Framework
● Rate of Change and the Coppock Curve
The foundation of this script is Edwin Coppock's original curve, published in Barron's in 1962, which sums a long-term and a short-term Rate of Change and smooths the result with a weighted moving average. Rate of Change itself is a first-order momentum measure — the percentage difference between the current value and its value N bars ago — rooted in the broader technical-analysis principle that the velocity of price change often leads price direction itself. Coppock's original design used a WMA specifically because it weights recent data more heavily than a simple average while remaining less reactive to single-bar noise than an exponential average.
● Weighted and Hull Moving Averages
The Weighted Moving Average used both in the final smoothing stage and optionally in the adaptive pre-filter assigns linearly decreasing weights to older data points, a technique long used to balance responsiveness against noise rejection. The Hull Moving Average, developed by Alan Hull, extends this idea by combining WMAs of different lengths in a way designed to reduce lag while preserving smoothness — a documented refinement of the general weighted-average family.
● Kalman Filtering
The Kalman Filter, originally developed by Rudolf Kálmán in the context of control and estimation theory, is a recursive algorithm for estimating an unknown value from a series of noisy observations. In this implementation, the filter maintains a running estimate and an error term, computes a Kalman gain from the ratio of predicted error to total error each bar, and updates the estimate by blending new price data in proportion to that gain. This gives the estimate more responsiveness when its own uncertainty is high and more smoothness when uncertainty is low — the same estimation principle underlying Kalman's original work, applied here to a single noisy input series rather than a multi-variable state system.
● Directional Movement and Trend Strength (Wilder)
The optional ADX filter is built on J. Welles Wilder's Directional Movement System, which derives +DI and -DI from directional price movement smoothed with Wilder's own moving average technique, then compresses their divergence into the Average Directional Index (ADX) as a bounded measure of trend strength independent of direction. Using ADX as a gating condition reflects the broader academic distinction between trend-following and mean-reverting market regimes — Wilder's system was explicitly designed to help separate the two.
● Average True Range and Volatility-Based Risk Sizing
Stop-loss and take-profit distances in this script are derived from Average True Range, also introduced by Wilder, which measures volatility by accounting for gaps as well as intraperiod range. Sizing risk as a multiple of ATR — rather than a fixed point or percentage value — is a widely documented approach in position-sizing literature because it scales stop distance to the instrument's actual recent volatility rather than an arbitrary constant.
● R-Multiples and Risk-Reward Structuring
The three-tiered take-profit structure expresses reward as a multiple of initial risk (an "R-multiple"), a framework popularized in trading risk-management literature to normalize outcomes across trades of different sizes and volatility regimes, allowing performance to be evaluated in terms of risk-adjusted return rather than raw price movement.
⚠️ Disclaimer
All provided scripts and indicators are strictly for educational exploration and must not be interpreted as financial advice or a recommendation to execute trades. We expressly disclaim all liability for any financial losses or damages that may result, directly or indirectly, from the reliance on or application of these tools. Market participation carries inherent risk where past performance never guarantees future returns, leaving all investment decisions and due diligence solely at your own discretion. مؤشر

KERNEL BANDS [vault]KERNEL BANDS
A non-parametric kernel regression centreline wrapped in adaptive residual sigma bands, with a full trade management layer on top: filtered entries, an exit engine that reports results in pips, a reversal radar, a dead-zone shield, session and momentum context, and a multi-timeframe screener. Everything is confirmed on bar close and nothing repaints.
A moving average assumes price came from a fixed-form equation (linear in lag, weighted in lag, and so on). Kernel regression makes no such assumption. It lets the local density of the data decide where the centreline sits, which gives a smoother and more honest picture of where price actually is, without the corner cutting EMAs and HMAs do around pivots. The bands around it are not arbitrary ATR multiples but a statistical measure of how far price normally strays from the kernel before reverting.
1. The kernel
Every moving average is a kernel, just a rectangular one (or, for HMA, a chained weighted one). Kernel regression generalises the idea: you pick the shape of the weight curve based on how much you want each historical bar to matter. Three kernels ship:
- Gaussian: the textbook bell curve, K(u) = exp(-u² / 2h²). Heavy tails, smooth everywhere. The most stable default.
- Epanechnikov: compact-support parabola, K(u) = max(0, 1 - u²/h²). Mathematically optimal in the mean-squared-error sense, lightest tails, slightly more responsive at the leading edge.
- Tricube: LOWESS-style, K(u) = max(0, (1 - |u/h|³)³). Very smooth shoulders, great on noisy intraday data where you want a confident centreline rather than a chasing one.
All three feed the same Nadaraya-Watson estimator, ŷ = Σ K(i) · close / Σ K(i), computed one-sided over the lookback window so it never looks into the future. The kernel choice sets the personality of the line, the bandwidth h sets its memory.
2. Adaptive bandwidth (ATR-scaled)
A static bandwidth breaks in changing regimes. When realised volatility expands a fixed h lags badly, when it contracts the same h starts amplifying noise. Here h is scaled live by normalised ATR:
h_eff = h_base × (1 + ATR / close × factor)
so the kernel widens when the market is loud and tightens when it is quiet, and the line behaves the same across gold, indices, crypto and FX without per-symbol tuning.
A Bandwidth Regime Shift alert fires when h moves by more than a user-set fraction in a single bar. It is your early warning that the volatility surface just changed: it typically fires before either directional signal and tells you whatever play you had on a minute ago may need to be re-evaluated. The dashboard shows the % jump that triggered it.
3. Residual sigma bands
The bands are the rolling standard deviation of the residual (close - kernel MA), EMA-smoothed, then scaled by the sigma multiplier. This answers a real question: how much do we usually deviate from the kernel before reverting? When the answer is small, the bands hug the line and a breakout is statistically meaningful. When it is large, band breaks are normal and should be downweighted.
Band Floor is an addition to the original concept. The half-width can never be thinner than a chosen fraction of ATR (0.6 by default). Without it, volatility compressions produced razor-thin bands and hair-trigger state flips on every wick. With it, a quiet market still needs a real move to change state.
4. State engine
A confirmed close above the upper band latches the state to Bullish, a confirmed close below the lower band latches it to Bearish. State only flips on the opposite band, there is no neutral repainting in between. Confirmation Closes sets how many consecutive closes beyond the band are required (default 2), which is the single biggest difference between a clean chart and a noisy one.
The band colour, the fill, the dashboard Signal row and the MTF screener all read from this one state.
5. Signal engine (what changed versus a plain band cross)
A state flip is not an entry any more. A flip arms the signal, and the entry prints only once every condition lines up within the entry wait window (default 6 bars). If the state reverts before that happens, the armed signal is dropped silently and nothing is printed. The dashboard shows the armed side in gold so you always know a setup is pending.
Conditions an entry must pass:
- Kernel slope must agree: buy only while the kernel is rising, sell only while it is falling. This kills counter-trend spikes, the classic "one violent wick through the lower band in an uptrend" trap.
- Entry candle must agree: a buy needs a green close, a sell needs a red close.
- Max extension beyond band: if the flip candle closed too far past the band (default 1.5× the band half-width) the engine waits for a calmer candle instead of chasing the blow-off.
- Skip blow-off candles: no entry on a bar (or the bar before it) whose range exceeds a multiple of ATR.
- Min bars between entries: a cooldown so two entries cannot stack on top of each other.
- Dead-zone shield: no entries while the market is flagged as chop (section 7).
- Session filter (optional, off by default): restrict entries to London / New York windows if you want it.
Re-entries: after an exit, if the state is unchanged and price crosses back through the kernel MA in the direction of momentum, a fresh entry arms. Trends are ridden in segments, each one banked.
Entry labels carry the side and the exact close price so you can enter at the same level.
6. Exit engine
Every entry is closed by the indicator with an Exit label in the colour of the side it closes (cyan closes a long, magenta closes a short). The label shows the exit price and the result in pips. Pip size is auto-detected (mintick × 10, so 0.1 on gold) and can be overridden.
An exit fires on whichever comes first:
- Flip: the state confirms the opposite way.
- Reversal: a reversal candle prints at a band extension while the trade is in profit.
- Giveback: after the trade has reached a minimum peak, it has given back a set percentage of that peak (default 50%).
- Structure: close breaks the lowest low (long) or highest high (short) of the last N bars while in profit.
The dashboard shows live Position, Open P&L and peak P&L, and the exit alert reports entry, exit, result, peak, trigger and bars held. Your journal writes itself.
7. Dead-zone shield
Flat, low-volume chop is where band systems buy the top and sell the bottom of the range. The shield scores four conditions every bar: flat kernel slope, clustered state flips (weighted double, because a burst of flips is the strongest chop tell there is), tight range and weak volume. Above the trigger score the chart is tinted, entries are suppressed and the dashboard reads DEAD ZONE with the bar count. The first genuine breakout escaping the zone still arms an entry.
Two alerts, deliberately not session-filtered: Dead Zone Entered (with the score and which conditions tripped it) and Dead Zone Cleared (with how long it lasted). The second one is the one to set: it tells you when to be back at the screen.
8. Reversal radar
Reversal candles (doji, pin bar, engulfing) that print at a band extension are marked with a ⚠ Rev label: red at the upper band, cyan at the lower. The dashboard tracks the most recent one as TOP FORMING / BOTTOM FORMING with its age. Kernel momentum is read live as Rising, Rising & Fading, Falling or Falling & Fading, with directional alerts when it turns. Together they are your early tell that a move is exhausting, and the Reversal exit uses the same signal.
9. Divergence engine
A pure slope-comparison divergence runs in parallel: the kernel slope over a window against the price slope over the same window. Bullish divergence is registered when price is falling while the kernel turns up, bearish is the mirror. Both slopes have separate minimum thresholds (as a fraction of ATR × window) so flat regions never trigger noise divergences, and a cooldown spaces them out. Labels print ▲ Div / ▼ Div at the wick they fire from, and the dashboard shows the active divergence with its bar age.
10. MTF screener
A compact board that shows the kernel state on 5m / 15m / 1h / 4h. The top row is pinned to whatever symbol your chart is on and follows you when you switch, so your active trade is always on the board. Up to five more symbols can be added in settings. Each cell is an arrow in the state colour, brighter when the flip is fresh (within a user-set number of bars) so you can tell at a glance whether a setup is new or already ran. The Σ column counts aligned timeframes and prints A+▲ or A+▼ when all four agree.
The screener requests nothing on your behalf: only symbols you type in are ever requested, so alerts save on every data plan.
11. Three visual modes
The same kernel and sigma feed every mode:
- Bands: classic upper / lower envelope with toggleable fill. Best for mean-reversion and band-touch analysis.
- Single Line: kernel centreline with a gradient fill between the line and price. Best for pure trend-following.
- Trail: only the trailing band is drawn, in the active state colour, with an optional sin-modulated pulse alpha that gives a subtle breathing effect. Best for visual conviction in directional moves.
State candles and bar colouring are independent toggles, and the kernel line can be drawn on top of Bands or Trail if you want it visible everywhere. A full Colors group covers bull, bear, neutral, text, accent and dashboard background / frame.
12. Dashboard
A monospaced table, positionable to any of nine anchors, with a subtle vertical gradient. Rows: Signal, Kernel MA, Upper Band, Lower Band, Band Width σ, Bandwidth h (with adaptive tag), Kernel, Divergence, Regime, Session, Position (including armed setups), Open P&L with peak, Market (Trending / Dead Zone), Momentum and Reversal.
13. Alerts
Seventeen named alert conditions, every one evaluated on bar close: BUY, SELL, EXIT LONG, EXIT SHORT, Bullish Breakout, Bearish Breakdown, Bullish Divergence, Bearish Divergence, Bandwidth Regime Shift, Reversal at Top, Reversal at Bottom, Dead Zone Entered, Dead Zone Cleared, Momentum Shift Bullish, Momentum Shift Bearish, Momentum Shift (any), Kernel State Flip.
On top of that the script sends dynamic messages through alert(): entries carry entry price, TP / SL geometry, live momentum and session, exits carry entry, exit, result in pips, peak, trigger and bars held, dead-zone events carry the score and the reason. Attach a webhook to "Any alert() function call" and a bot reading the payload has the same confluence a human reads on the dashboard.
Each named condition has to be selected individually in the alert dialog. "Any alert() function call" delivers the dynamic messages, not the named conditions. That is a TradingView rule, not a setting in this indicator.
How to use it
Trend-following: Single Line or Trail mode, Tricube kernel, adaptive bandwidth on, Confirmation Closes 2, kernel slope confirmation on. Take entries in the direction of the higher-timeframe rows on the screener and let the exit engine manage the trade.
Mean-reversion: Bands mode, Gaussian or Epanechnikov, fade band touches that coincide with a ⚠ Rev label, a divergence label and a low Band Width σ reading. Use the Regime Shift alert as a heads-up that a reversion play just got riskier.
Scalping 1m-5m: keep Band Floor at 0.6 or above and Confirmation Closes at 2, otherwise the band flips on every wick. If you get too few entries, loosen Entry Candle Must Agree first, then Max Extension to 2.0.
Suggested settings
Defaults are tuned for 5m-1H on liquid futures, gold and crypto: Lookback 30, Base Bandwidth 8, Sigma Multiplier 1.0, Band Floor 0.6, Confirmation Closes 2. For 1m-3m drop Lookback to ~20 and Bandwidth to ~6. For daily and above raise Lookback to 50 and Bandwidth to 12. The kernel and bandwidth jointly control how much the line trusts the recent past, the sigma multiplier and band floor separately control how much movement you are willing to call normal.
Limitations
The kernel is recomputed each bar over the lookback window, so very long lookbacks on very low timeframes can feel heavy. State transitions, entries, exits and reversal labels are all confirmed on bar close, so a band touch that gets reabsorbed within the bar will not fire. This is deliberate and is what prevents intra-bar repainting. The MTF screener reads higher-timeframe values that in real time come from the still-open bar, so a cell can flicker until that bar closes. Divergence is non-repainting but carries the natural lag of comparing slopes over a window.
What was improved over the original concept and why
- Band floor: the original residual sigma alone produced paper-thin bands in compressions and a flip on every wick. A floor tied to ATR fixed that without touching the statistical meaning of the band in normal conditions.
- Confirmation closes: one close beyond the band is a wick, two is a decision.
- Arm-then-fire entries: entries were firing on the flip bar no matter what that bar looked like. Now the flip arms the setup and the entry waits (up to a few bars) for kernel slope, candle colour and extension to agree, and is dropped if the state reverts.
- Kernel slope agreement: the single biggest source of bad trades was a sell printed during a spike down while the kernel was still rising. Requiring slope agreement removes the whole class.
- Blow-off check on two bars: a spike often spans the flip bar and the one before it.
- Dead-zone weighting: a cluster of flips is the strongest chop signal there is, so it counts double and the shield activates on a burst of flips alone instead of needing a second condition.
- Session filter off by default: gold and indices produce clean moves outside London / NY too, and the filter was skipping them. It is still there if you want it.
- Kernel MA plotted in every mode and alertable via the standard Crossing / Greater Than rules, plus a toggle to draw it on top of Bands or Trail.
- Screener requests only what you type in, so alerts save on any data plan.
مؤشر

Global Macro RegimeThe Global Macro Regime is a top-down macro nowcasting and portfolio allocation tool that provides a consolidated view of the market-implied macro regime. It independently evaluates 30 key global markets across equities, fixed income, commodities, and currencies to determine the prevailing macro regime, which informs the model’s portfolio preferences and regime-specific exposures. It also features built-in alerts and an integrated backtester that enable investors to monitor regime changes and evaluate asset performance across different macro environments.
At its core, the model aggregates 30 independent cross-asset market signals to identify shifts in the market’s growth and inflation outlook. Rather than relying on backward-looking economic data, the model derives these signals in real time from evolving trends across global markets. By focusing on growth and inflation, the model captures two of the primary macroeconomic forces driving asset prices. The four possible combinations of growth and inflation define four distinct macro regimes, each of which tends to favor different portfolio preferences and exposures:
Goldilocks (Growth ↑, Inflation ↓): Improving growth with low/declining inflation.
Reflation (Growth ↑, Inflation ↑): Improving growth with high/rising inflation.
Inflation (Growth ↓, Inflation ↑): Deteriorating growth with high/rising inflation.
Deflation (Growth ↓, Inflation ↓): Deteriorating growth with low/declining inflation.
Goldilocks and Reflation represent Risk-On regimes, while Inflation and Deflation represent Risk-Off regimes. Each of the 30 selected markets is evaluated independently as either a growth or inflation signal. Markets signaling improving growth contribute to both Goldilocks and Reflation, while markets signaling deteriorating growth contribute to both Inflation and Deflation. Markets signaling high/rising inflation contribute to both Reflation and Inflation, while markets signaling low/declining inflation contribute to both Goldilocks and Deflation. The selected markets are grouped into equities (10), fixed income (10), commodities (6), and currencies (4):
Equities = S&P 500 Index (SPX), Russell 2000 Index (RUT), STOXX Europe 600 Index (SXXP), Nikkei 225 Index (NI225), Hang Seng Index (HSI), MSCI Emerging Markets Index Futures (MME), High Beta / Low Volatility Ratio (SPHB/SPLV), Cyclicals / Defensives Ratio (XLY/XLP), S&P 500 Volatility Index (VIX), and 3M Implied Correlation Index (COR3M).
Fixed Income = US 2Y Treasury Yield, US 10Y Treasury Yield, German 10Y Bund Yield, UK 10Y Gilt Yield, Japan 10Y JGB Yield, US 10Y Breakeven Inflation Rate, US CCC Distressed Index Option-Adjusted Spread, US High Yield Index Option-Adjusted Spread, US Investment Grade Corporate Index Option-Adjusted Spread, and US Bond Volatility Index (MOVE).
Commodities = Brent Crude Oil Futures (BRN), Agricultural Commodities (DBA), Industrial Metals (DBB), Copper Futures (HG), Silver / Gold Ratio (SI/GC), and CME Bitcoin Futures.
Currencies = US Dollar Index (DXY), Australian Dollar / US Dollar (AUDUSD), British Pound / US Dollar (GBPUSD), and Euro / US Dollar (EURUSD).
Each market signal is derived independently using either a volatility-adjusted moving-average crossover, a volatility-based adaptive trailing stop, or a combination of both. The signals are then aggregated and normalized into percentage scores representing each regime’s share of total signals, with optional smoothing over the specified signal length to reduce noise. The regime receiving the greatest confirmation across global markets is identified as the dominant macro regime and translated into portfolio preferences displayed in the regime preference table:
Goldilocks Preferences = Risk-On > Risk-Off, High Beta > Low Beta, Cyclicals > Defensives, International < US Equities, SMID Caps < Large Caps, Short Rates > Long Rates, Spreads > Treasuries, High Yield > Low Yield, Beta FX > US Dollar, Metals > Energy, and Bitcoin > Gold.
Reflation Preferences = Risk-On > Risk-Off, High Beta > Low Beta, Cyclicals > Defensives, International > US Equities, SMID Caps > Large Caps, Short Rates > Long Rates, Spreads > Treasuries, High Yield > Low Yield, Beta FX > US Dollar, Metals > Energy, and Bitcoin > Gold.
Inflation Preferences = Risk-On < Risk-Off, High Beta < Low Beta, Cyclicals < Defensives, International < US Equities, SMID Caps < Large Caps, Short Rates > Long Rates, Spreads < Treasuries, High Yield < Low Yield, Beta FX < US Dollar, Metals < Energy, and Bitcoin < Gold.
Deflation Preferences = Risk-On < Risk-Off, High Beta < Low Beta, Cyclicals < Defensives, International < US Equities, SMID Caps < Large Caps, Short Rates < Long Rates, Spreads < Treasuries, High Yield < Low Yield, Beta FX < US Dollar, Metals > Energy, and Bitcoin < Gold.
The model further translates these portfolio preferences into specific exposures across equities, fixed income, commodities, and currencies. The selected exposures have been systematically backtested across the four macro regimes, dating back as far as January 1996, to identify those exhibiting the strongest risk-adjusted performance and most consistent directionally aligned trending behavior within each asset class. The resulting exposure lists provide a more granular view of the model’s broader portfolio preferences based on historically observed relationships:
Goldilocks Exposures = Equity sectors include Communication Services (XLC), Technology (XLK), Financials (XLF), Industrials (XLI), Consumer Discretionary (XLY), Materials (XLB), and Real Estate (VNQ). Equity factors include S&P 500 (SPY), Nasdaq 100 (QQQ), High Beta (SPHB), Momentum (MTUM), Quality (QUAL), Growth (IWF), and Value (IWD). Fixed income includes High Yield Bonds (HYG), Investment Grade Bonds (LQD), and Convertible Bonds (CWB). Commodities include Bitcoin (BTC), Industrial Metals (DBB), Metal Producers (PICK), Gold (GLD), Gold Miners (GDX), Silver (SLV), Silver Miners (SIL), Copper (CPER), Copper Miners (COPX), Uranium (SRUUF), and Uranium Miners (URNM). Currencies include Australian Dollar (FXA), British Pound (FXB), and Euro (FXE).
Reflation Exposures = Equity sectors include Energy (XLE), Communication Services (XLC), Technology (XLK), Financials (XLF), Industrials (XLI), Consumer Discretionary (XLY), Materials (XLB), and Real Estate (VNQ). Equity factors include Global Equities (ACWI), International Equities (ACWX), S&P 500 (SPY), Nasdaq 100 (QQQ), Emerging Markets (EEM), High Beta (SPHB), Mid Caps (IWR), Small Caps (IWM), Momentum (MTUM), Quality (QUAL), Growth (IWF), Value (IWD), Equal Weight (RSP), Global Infrastructure (IGF), and International Real Estate (IFGL). Fixed income includes High Yield Bonds (HYG), Convertible Bonds (CWB), Private Credit (BIZD), and Emerging Market Bonds (EMB). Commodities include Bitcoin (BTC), Commodities (DBC), Industrial Metals (DBB), Metal Producers (PICK), Crude Oil (USO), Agriculture (DBA), Agriculture Producers (VEGI), Gold (GLD), Gold Miners (GDX), Silver (SLV), Silver Miners (SIL), Copper (CPER), Copper Miners (COPX), Uranium (SRUUF), and Uranium Miners (URNM). Currencies include Australian Dollar (FXA), Canadian Dollar (FXC), British Pound (FXB), and Euro (FXE).
Inflation Exposures = Equity sectors include Energy (XLE), Consumer Staples (XLP), Utilities (XLU), and Health Care (XLV). Equity factors include Low Volatility (SPLV). Fixed income includes 1-3 Month Treasury Bills (BIL). Commodities include Commodities (DBC), Crude Oil (USO), Agriculture (DBA), and Gold (GLD). Currencies include US Dollar (UUP).
Deflation Exposures = Equity sectors include Consumer Staples (XLP), Utilities (XLU), and Health Care (XLV). Equity factors include Low Volatility (SPLV) and High Dividend (SPHD). Fixed income includes 1-3 Year Treasuries (SHY), 7-10 Year Treasuries (IEF), 20+ Year Treasuries (TLT), US Aggregate Bonds (AGG), Mortgage-Backed Securities (MBB), and International Aggregate Bonds (BNDX). Commodities include Gold (GLD). Currencies include US Dollar (UUP) and Japanese Yen (FXY).
The model includes a built-in alert system that notifies investors in real time when the dominant macro regime changes and provides the corresponding exposures for the new regime. It also features an integrated backtesting engine that can be enabled in the menu to evaluate asset performance across the macro regimes. Users can assign an asset to each regime, with the backtest automatically rotating into the corresponding asset whenever that regime becomes dominant. If one or more assets are assigned, any unassigned regimes are treated as cash. If no assets are assigned, the chart ticker is assigned to Goldilocks and Reflation, while Inflation and Deflation are treated as cash. The backtest reports the following performance metrics:
CAGR = Compounded Annual Growth Rate.
Excess = CAGR in excess of buy-and-hold.
Sharpe = CAGR per unit of standard deviation.
Sortino = CAGR per unit of downside deviation.
Calmar = CAGR relative to maximum drawdown.
Max DD = Largest peak-to-trough decline in value.
Alpha (α) = Excess annualized risk-adjusted returns.
Win Rate = Ratio of profitable trades to total trades.
Profit Factor = Total gross profit per unit of losses.
Expectancy = Average expected return per trade.
Turnover = Average annualized change in exposure.
The indicator is designed with flexibility in mind, allowing users to select the backtest period, signal methodology, preferred trend type, volatility type, and the individual markets included in the regime calculation. Supported moving-average types include the Exponential Moving Average (EMA), Simple Moving Average (SMA), Wilder’s Moving Average (RMA), and Weighted Moving Average (WMA). Supported volatility types include the Average True Range (ATR), Standard Deviation (SD), and Mean Absolute Deviation (MAD). The table follows an intuitive color-coded logic that allows for quick performance comparison against buy-and-hold (B&H):
CAGR = Green indicates above 0%, while red indicates below 0%.
Excess = Green indicates above 0%, while red indicates below 0%.
Sharpe = Green indicates better than B&H, while red indicates worse.
Sortino = Green indicates better than B&H, while red indicates worse.
Calmar = Green indicates better than B&H, while red indicates worse.
Max DD = Green indicates better than B&H, while red indicates worse.
Alpha (α) = Green indicates above 0%, while red indicates below 0%.
Win Rate = Green indicates above 50%, while red indicates below 50%.
Profit Factor = Green indicates above 2, while red indicates below 1.
Expectancy = Green indicates above 0%, while red indicates below 0%.
In summary, the Global Macro Regime is a comprehensive market-based macro framework designed to identify the prevailing macro regime. By combining 30 independent cross-asset market signals, the model translates the dominant macro regime into portfolio preferences and regime-specific exposures based on historical relationships that may not persist under future market conditions as market dynamics and asset-specific characteristics evolve over time. Historical coverage also varies across the 30 selected markets, with regime signals prior to 2006 based on progressively fewer markets and therefore requiring more cautious interpretation. مؤشر

NRTR Adaptive Trailing Reverse [MarkitTick]💡 An adaptive trailing-stop and reversal system built around the Nick Rypock Trailing Reverse (NRTR) algorithm, extended with a configurable smoothing engine, ADX confluence filtering, automatic risk-based trade level projection, and a live position-sizing dashboard. Rather than applying NRTR to raw closing price, this tool lets the trailing calculation run on top of one of eight selectable smoothing methods, giving traders control over how reactive or how filtered the underlying trend estimate is before the trailing stop is derived from it.
✨ Originality and Utility
The classic NRTR trailing stop is normally computed directly from price. This script decouples the "source" the trailing calculation reacts to from raw price by routing it through a selectable adaptive filter stage first — SMA, EMA, RMA, Double WMA, Triple VWMA, HMA, a custom LLAMA slope-projection filter, or a Kalman filter. This means the trailing envelope itself can be smoothed, decoupled from tick-level noise, or shaped to lag less than a conventional moving average, without changing the core NRTR ratchet-and-flip mechanic.
Beyond the trailing engine, the script closes the loop between "signal" and "trade management," which most trailing-stop tools leave to the user. Once a trend flip is confirmed, it automatically derives a stop-loss from the NRTR level itself and projects three risk-multiple take-profit targets, tracks whether each has been hit, calculates a suggested position size from a risk percentage or fixed-dollar risk model, and optionally suppresses new signals for a cooldown period after a stop-out. An ADX confluence filter can additionally require a minimum trend strength reading before a flip is treated as valid. The combination is justified because each component consumes the output of the one before it: the adaptive filter conditions the source, the NRTR logic converts that source into a trailing stop and flip signal, the ADX filter validates the flip's context, and the risk/sizing engine turns the validated flip into an actionable, fully quantified trade plan — a single coherent pipeline rather than an arbitrary bundling of unrelated indicators.
🔬 Methodology and Concepts
• The Adaptive Source Filter
Before any trailing-stop math happens, closing price is optionally passed through one of these transformations, selected from the "Adapt Filter" input:
SMA / EMA / RMA — standard moving averages, included as familiar baselines.
Double WMA — a Weighted Moving Average applied twice in succession (a WMA of a WMA), which produces a lower-lag response than a single WMA of the same length.
Triple VWMA — a Volume Weighted Moving Average cascaded three times, folding volume-weighting into a lower-lag smoothing chain.
HMA — the Hull Moving Average, using weighted-moving-average differencing to reduce lag relative to standard smoothing.
LLAMA — a proprietary two-part filter that combines a simple moving average of the source with a linear slope term measured over the same lookback (the rate of change between the current source value and the value from `length` bars ago, divided by `length`). The slope is scaled by half the filter length and added to the SMA, producing a trend-projected estimate that leans ahead of a plain average in the direction of the recent slope.
Kalman Filter — a lightweight recursive estimator that updates a running estimate of the "true" price using a prediction/correction cycle. It maintains an internal error estimate and a gain term derived from the ratio of process noise (set by the inverse of the filter length) to measurement noise, blending each new price observation into the estimate proportionally to that gain.
None — the trailing logic operates directly on closing price.
When "None" is selected, the tool behaves as a standard price-based NRTR. Any other selection substitutes that smoothed series as the "source" for every downstream calculation.
• NRTR Trailing Calculation
The script offers two modes for sizing the trailing offset, chosen via "NRTR Mode":
Percent — the offset is a fixed percentage of the (lagged) adaptive source value.
ATR — the offset is a multiple of the Average True Range over a configurable lookback, scaling the trailing distance to current volatility rather than a fixed percentage.
In an uptrend, the script tracks the highest adaptive-source value reached since the last flip (the "extreme") and subtracts the offset from it to produce a trailing level that can only rise or stay flat — never fall — while the trend persists. In a downtrend, the mirror logic tracks the lowest extreme and adds the offset, producing a level that can only fall or stay flat. A trend flip occurs the moment the prior bar's adaptive source closes beyond the trailing level: closing below it in an uptrend flips the state to a downtrend (and vice versa), at which point the extreme and trailing level reset and begin tracking in the new direction. Because the ratchet only ever tightens toward price, this produces the classic NRTR "stair-step" trailing behavior rather than a smooth curve.
• Confirmation and Non-Repainting Behavior
The trend-state comparison that triggers a flip always references the previous bar's confirmed adaptive-source value, and every alert condition is additionally gated behind `barstate.isconfirmed`. This means a signal only fires once its triggering bar has fully closed — the trailing level and trend state do not repaint once a bar is confirmed, and alerts cannot fire prematurely intrabar.
• ADX Confluence Filter
When enabled, a flip is only accepted as a valid trading signal if the prior bar's ADX reading (calculated over the same configurable length for both DI and ADX smoothing) is at or above the threshold input. This is intended to suppress flips that occur while the market lacks directional strength, where trailing-stop whipsaws are most common.
• Cooldown Guard
When enabled, a stop-loss hit on one side of the market starts a bar-count cooldown during which a new signal in that same direction is suppressed, intended to reduce immediate re-entry into a level that has just failed.
• Trade Level Projection and Position Sizing
On a valid signal, the entry is taken at the current close, the stop-loss is set to the NRTR trailing level at that moment, and the initial risk distance (entry-to-stop) is multiplied by three independently configurable multiples to project TP1, TP2, and TP3. Each target and the stop are tracked bar-by-bar for whether price has traded through them, updating their on-chart labels accordingly. A suggested position size is calculated from either a percentage of a user-defined account size or a fixed dollar risk amount, divided by the entry-to-stop distance in price, giving a size that risks a consistent dollar or percentage amount regardless of current volatility.
🎨 Visual Guide
NRTR Line — a grey step-line plotting the current trailing-stop level.
Heatmap Candles — the chart's candles are recolored using the Bull/Bear color inputs (teal/red by default) to reflect the current trend state directly on price, rather than requiring a separate indicator pane.
Cooldown Background — a shaded background tint appears while a directional cooldown is active after a stop-out, using the Cooldown BG color.
Trade Level Lines and Labels (on signal) — a solid red Stop Loss line, a dashed blue Entry line, and three dashed green Take Profit lines (TP1 lightest, TP3 most opaque) extend from the signal bar. Each carries a right-aligned label showing its exact price; once a target or stop is touched, its label updates in place to show the hit and the resulting percentage gain or loss from entry.
Risk/Reward Shading — a light red fill shades the zone between Entry and Stop Loss (the risk side), and a light green fill shades the zone between Entry and TP3 (the full reward side), giving an immediate visual sense of the trade's risk-to-reward geometry.
Dashboard Table — a corner-anchored panel (position configurable) summarizing, in real time: current trend direction, Lock status, the live NRTR level, active entry/stop/TP1 prices, the current ADX reading (colored by pass/fail against the threshold), the active adaptive filter, cooldown status and remaining bars, the calculated risk amount, the suggested position size, and a filled bar-graph showing how close price currently sits to the trailing stop as a percentage of the total offset distance.
📖 How to Use
A flip from red to teal candles (and the NRTR line stepping below price) signals a potential long entry; the mirror flip signals a potential short.
Use the auto-drawn Entry, Stop Loss, and Take Profit lines as a starting risk/reward framework — the SL is anchored to the trailing level at the moment of the flip, not an arbitrary distance.
Enable the ADX Filter if you want flips confirmed only during periods of measurable trend strength, which reduces (but does not eliminate) signals generated in choppy, low-ADX conditions.
Enable Cooldown Guard if you want to avoid immediate re-entry into a direction that was just stopped out — useful in ranging conditions prone to repeated whipsaws.
Enable Lock Signal to freeze the currently displayed trade levels in place (rather than having them update to the latest signal), useful for reviewing a specific historical setup without it being overwritten by newer signals.
Watch the "Dist Trail" bar in the dashboard as a quick visual read of how far price currently sits from the trailing stop relative to the configured offset — a nearly full bar means price is close to triggering a flip.
The built-in alert payloads are formatted as JSON and include action, ticker, timeframe, direction, entry, stop, and target fields, making them usable directly as webhook bodies for external automation without additional parsing.
⚙️ Inputs and Settings
NRTR Mode — switches the trailing offset calculation between a fixed Percent of price and a volatility-adaptive ATR multiple.
NRTR % / ATR Len / ATR Mult — control the magnitude of the trailing offset in each respective mode; larger values produce a looser trail with fewer, later flips, smaller values produce a tighter trail with more frequent flips.
Use ADX Filter / ADX Len / ADX Thresh — toggle and configure the trend-strength confluence filter described above.
Adapt Filter / Adapt Len — select the smoothing method applied to price before the NRTR calculation, and its lookback length.
Cooldown Guard / Cooldown Bars — toggle and configure the post-stop-out re-entry suppression window.
Lock Signal — freezes the currently plotted trade levels rather than letting them advance to the newest signal.
Position Sizing / Sizing Mode / Risk % Trade / Fixed Risk $ / Account $ — configure whether suggested size is derived from a percentage of account equity or a fixed dollar risk figure, and the inputs feeding that calculation.
TP1/TP2/TP3 Mult — the risk multiples applied to the entry-to-stop distance to project each take-profit level.
Heatmap Candles / NRTR Line / Trade Levels — independently toggle each visual layer on or off.
Dash Pos / Show Dash — position and visibility of the dashboard table.
Alert Action fields (Long/Short/Close Long/Close Short) — customize the "action" string embedded in each webhook JSON payload, useful for matching the field names expected by a specific external automation system.
Color inputs — independently customize every plotted and dashboard color.
🔍 Deconstruction of the Underlying Scientific and Academic Framework
The NRTR mechanic itself belongs to a family of stop-and-reverse trailing systems related conceptually to Wilder's Parabolic SAR and to chandelier-style trailing stops: all three share the property that the trailing level is a one-directional ratchet — it can only move in the direction that tightens toward price — which is what mechanically prevents the trailing stop from ever "giving back" more than the configured offset once a trend is underway. Where NRTR differs is in decoupling the ratchet from a fixed acceleration curve (as in Parabolic SAR) and instead deriving it directly from a percentage or volatility-scaled offset off a tracked local extreme, which is closer in spirit to a Donchian- or Chandelier-style trailing construction.
The ATR-based offset mode draws on Welles Wilder's concept of using recent true-range volatility, rather than a fixed percentage, to size a trailing distance — the rationale being that a constant percentage offset is too tight in high-volatility regimes (generating premature stop-outs) and too loose in low-volatility regimes (giving back excess profit), while an ATR-scaled offset expands and contracts with the instrument's own recent behavior.
The Double WMA and Triple VWMA filters are cascaded-smoothing constructions in the same family as Hull's differencing approach: repeatedly passing a series through a weighted average and recombining the outputs is a general technique for pushing a smoothing filter's group delay down without simply shortening its lookback (which would otherwise increase noise sensitivity). The Kalman filter option applies a simplified, single-state version of the classic recursive Bayesian estimator from control theory, where each new observation is blended into a running estimate according to a gain term balancing assumed process noise against assumed measurement noise — conceptually the same estimation framework used in tracking and signal-processing applications outside of finance. The custom LLAMA filter combines a central-tendency estimate (a simple moving average) with a first-order trend term (a discrete slope measured over the same window), an approach related in principle to linear trend-projection and regression-based smoothing techniques that attempt to reduce lag by explicitly modeling the direction a series is moving rather than only its recent average level.
The ADX component derives from Wilder's Directional Movement System, in which ADX quantifies the strength (not direction) of a trend by smoothing the divergence between positive and negative directional movement — using it as a confluence filter reflects the broader technical-analysis principle that trend-following and trailing-stop methods perform better in the specific market regime (trending, directional) they are designed for, and using a strength filter is one common approach to distinguishing that regime from a ranging one.
⚠️ Disclaimer
All provided scripts and indicators are strictly for educational exploration and must not be interpreted as financial advice or a recommendation to execute trades. We expressly disclaim all liability for any financial losses or damages that may result, directly or indirectly, from the reliance on or application of these tools. Market participation carries inherent risk where past performance never guarantees future returns, leaving all investment decisions and due diligence solely at your own discretion. مؤشر

Trend Following SuperSmoother - Accumulation Zones [JW]Trend Following SuperSmoother - Accumulation Zones
A Pine Script trend following indicator designed to identify systematic accumulation opportunities, profit-taking periods and broader position cycles using a smoothed oscillator framework.
The indicator is intended primarily for long-horizon analysis, with particular emphasis on distinguishing early trend reversals from pullbacks within established positive trends.
---------------------------------------------------------------------------------------------------------------------
Overview
The indicator combines a SuperSmoother-based oscillator and signal line with Bollinger-style oscillator bands and a state-based signal framework.
Rather than treating every oscillator crossover as an independent trading signal, it classifies market conditions into distinct phases:
- Early Reversal Accumulation
- Pullback Accumulation
- Profit-Taking
- Long / Out-of-Market Position Regimes
Signals are evaluated on confirmed candle closes to reduce intrabar noise.
---------------------------------------------------------------------------------------------------------------------
Indicator Components
SuperSmoother Oscillator
The core oscillator is smoothed to reduce short-term market noise while preserving changes in longer-term momentum.
Its colour identifies its current direction:
- Green: oscillator rising
- Red: oscillator falling
A separate signal line provides a slower reference against which changes in oscillator behaviour can be assessed.
Bollinger Bands
Upper and lower bands are calculated around the oscillator framework and are used to identify unusually extended oscillator conditions.
Unlike price Bollinger Bands, these bands operate within the oscillator pane and form part of the logic for identifying potential reversal and pullback setups.
---------------------------------------------------------------------------------------------------------------------
Accumulation Logic
1. Early Reversal
Early-reversal accumulation is designed to identify improving momentum following a sufficiently weak oscillator regime.
The setup begins when the oscillator has moved through the lower Bollinger boundary and subsequently satisfies the required rising/green conditions while remaining in the negative regime.
The exit condition depends on the state of the signal line when the setup occurs:
- If the signal line is below zero, accumulation continues until the signal reaches zero.
- If the signal line is already above zero, accumulation continues until the oscillator crosses the signal line from below.
This distinction prevents an early-reversal zone from remaining active indefinitely when the signal line was already positive at entry.
A large green triangle marks a confirmed early-reversal entry.
2. Pullback Accumulation
Pullback accumulation is intended for corrections occurring within an established positive oscillator regime.
The setup tracks an oscillator that has moved above the upper Bollinger boundary and subsequently falls back through it. Once the required falling/red condition is satisfied, a pullback accumulation period can begin.
This allows the oscillator to turn red either before or after crossing the upper band rather than requiring both events to occur on the same candle.
A smaller dark-green triangle marks the pullback entry.
---------------------------------------------------------------------------------------------------------------------
Profit-Taking
A profit-taking regime can begin when:
- the oscillator is above zero;
- the oscillator turns from rising to falling; and
- no higher-priority accumulation regime is active.
Profit-taking periods are displayed as light-red zones.
A small dark-red circle marks the beginning of a profit-taking phase.
Signal priority is:
Early Reversal > Pullback > Profit-Taking
This state hierarchy prevents accumulation and profit-taking zones from overlapping.
---------------------------------------------------------------------------------------------------------------------
Position-Cycle Signals
The indicator also provides a higher-level representation of the intended long-term position cycle.
Entry
A confirmed early-reversal signal marks the beginning of the primary long regime.
The oscillator pane displays:
- a green vertical entry line; and
- a green zero-axis regime line while the position remains active.
Exit
When the oscillator crosses below zero on a confirmed candle close:
- a large red circle marks the exit;
- a red vertical line identifies the transition; and
- the zero-axis regime changes from green to red.
The red regime continues until the next confirmed early-reversal entry.
This creates a continuous visual distinction between the indicator's long/holding regime and its out-of-market regime.
---------------------------------------------------------------------------------------------------------------------
Visual Signal Guide
Large green triangle -> Early-reversal entry / primary position entry
Small dark-green triangle -> Pullback accumulation
Small dark-red circle -> Profit-taking signal
Large red circle -> Oscillator below zero / primary position exit
Green background -> Accumulation zone
Light-red background -> Profit-taking zone
Green zero-axis regime -> Long / holding period
Red zero-axis regime -> Out-of-market period
Black hollow circles -> Regime change
---------------------------------------------------------------------------------------------------------------------
Design Philosophy
The indicator is designed around a simple idea: trend following does not necessarily require buying only after a trend has already become obvious.
Instead, the framework attempts to separate three useful stages of a longer market cycle:
1. accumulation during an emerging reversal;
2. additional accumulation during pullbacks within a positive trend; and
3. profit-taking as positive momentum begins to deteriorate.
The primary exit remains deliberately slower: a confirmed oscillator move below zero.
This makes the framework more suited to medium- and long-horizon trend participation than short-term trading.
---------------------------------------------------------------------------------------------------------------------
Alerts
Early-reversal and pullback entries are combined into a single TradingView entry alert condition, allowing both accumulation signal types to be monitored using one alert.
Signals are confirmed at candle close.
---------------------------------------------------------------------------------------------------------------------
The indicator can be applied across different securities and timeframes, although its parameters and behaviour should be evaluated for the characteristics of the underlying instrument. مؤشر

Multi-Confirmation Swing IndicatorMulti-Confirmation Swing Indicator is a multi-confirmation technical analysis indicator designed for traders who want to analyze trend direction, momentum, support/resistance, breakouts and potential swing entries from one chart.
Instead of relying on a single indicator, the system combines several independent components to provide a broader view of market structure.
The indicator combines:
EMA trend structure
RSI momentum confirmation
Smoothed Heikin Ashi
Dynamic trendlines with breakout detection
Volume-based support and resistance zones
Zone Shift trend detection
Trend initiation and retest levels
Impulse MACD
Swing BUY/SELL signals
Support/resistance breakout and hold signals
The objective is not to predict every market move, but to help traders determine whether multiple pieces of technical evidence are aligned.
How to Read the Indicator
The easiest way to use the indicator is to think of it as a confirmation system.
Don't treat every individual marker as a trade signal.
Instead, look for confluence.
🟢 Bullish Environment
A stronger bullish setup occurs when several of the following are aligned:
EMA 21 > EMA 55
Price is above the EMA structure.
EMA 21 and EMA 55 are rising.
RSI is above the bullish threshold.
Smoothed Heikin Ashi is bullish.
Zone Shift indicates an upward trend.
Price breaks above a resistance/trendline.
Former resistance begins behaving as support.
Impulse MACD confirms positive momentum.
A BUY signal appears after the above conditions align.
The more confirmations that agree, the stronger the overall technical picture.
🔴 Bearish Environment
A stronger bearish setup occurs when:
EMA 21 < EMA 55
Price is below the EMA structure.
EMA 21 and EMA 55 are falling.
RSI is below the bearish threshold.
Smoothed Heikin Ashi is bearish.
Zone Shift indicates a downward trend.
Price breaks below support/trendline.
Former support begins behaving as resistance.
Impulse MACD confirms negative momentum.
A SELL signal appears after the above conditions align.
Again, the objective is confirmation rather than prediction.
Understanding the Main Components
1. EMA Trend Structure
The EMA component uses three moving averages:
Fast EMA — 9
Trend EMA — 21
Major Trend EMA — 55
The basic interpretation is:
Bullish
Price > EMA 9 > EMA 21 > EMA 55
Bearish
Price < EMA 9 < EMA 21 < EMA 55
This helps identify whether short-, medium- and longer-term momentum are aligned.
The EMA settings can be adjusted from the indicator inputs.
2. RSI Confirmation
RSI is used as a momentum filter.
Default thresholds:
Bullish: RSI > 55
Bearish: RSI < 45
The purpose isn't to simply buy when RSI is high or sell when RSI is low.
Instead, RSI helps answer:
"Is momentum supporting the current trend?"
3. Smoothed Heikin Ashi
The Smoothed Heikin Ashi component attempts to reduce some of the noise present in normal candles.
It can help visually identify:
bullish phases
bearish phases
trend transitions
continuation periods
A series of bullish Smoothed Heikin Ashi candles together with bullish EMA structure provides stronger trend confirmation than either component alone.
Likewise for bearish conditions.
4. Dynamic Trendlines
The trendline component identifies swing highs and swing lows and creates dynamic trendlines from them.
It can identify:
Upward breakout
Price breaks through a descending resistance trendline.
Downward breakout
Price breaks through an ascending support trendline.
The B markers represent detected trendline breaks.
These are useful for identifying potential changes in short-term market structure.
5. Volume-Based Support & Resistance
The support/resistance component identifies potential zones around significant pivot areas while incorporating volume information.
The zones can help traders identify:
potential support
potential resistance
support breaks
resistance breaks
resistance becoming support
support becoming resistance
Example
If resistance is broken:
Resistance → Support
A subsequent successful retest of that level can provide additional bullish confirmation.
Similarly:
Support → Resistance
can provide bearish confirmation after a downside break.
6. Zone Shift
Zone Shift provides another view of the broader trend.
It uses a combination of:
EMA
HMA
price range/distance
trend initiation level
The indicator can switch between bullish and bearish states.
It also identifies potential retests of the trend initiation level.
This can be particularly useful for swing traders because it provides context beyond a single candle.
7. Impulse MACD
Impulse MACD provides an additional momentum layer.
It helps identify:
positive momentum
negative momentum
momentum expansion
momentum contraction
It should not be interpreted independently as a buy/sell system.
Instead, use it as another confirmation layer.
BUY Signal
The BUY signal is designed to appear when the primary swing-trend conditions become bullish.
The underlying logic considers factors such as:
EMA trend
EMA alignment
EMA slope
price position relative to the fast EMA
two-bar confirmation
RSI momentum
The system also prevents repeated BUY labels while the same bullish condition remains continuously active.
Ideal interpretation
Trend + momentum + structure + confirmation = stronger setup
Not:
"BUY label = guaranteed buy."
SELL Signal
The SELL signal works in the opposite direction.
It considers:
bearish EMA trend
bearish EMA alignment
declining EMA structure
price below the fast EMA
two-bar confirmation
RSI weakness
Repeated SELL signals are also filtered.
How I Recommend Using It
Rather than trading every signal, use a 3-stage approach.
Stage 1 — Identify the Trend
First ask:
Is the market bullish, bearish or unclear?
Look at:
EMA 21/55
EMA stacking
Zone Shift
Smoothed Heikin Ashi
If these disagree significantly, consider the market unclear.
Stage 2 — Look for Structure
Once the trend is identified, look for:
support/resistance
trendline breakout
breakout/retest
resistance becoming support
support becoming resistance
This helps avoid entering simply because an indicator changed color.
Stage 3 — Look for Momentum Confirmation
Finally check:
RSI
Impulse MACD
EMA slope
BUY/SELL confirmation
A setup where multiple components agree is generally more interesting than an isolated signal.
Example Bullish Setup
A potential swing-long setup could look like:
1. EMA 21 > EMA 55
↓
2. Price > EMA 9 > EMA 21
↓
3. Zone Shift turns bullish
↓
4. Resistance/trendline breaks
↓
5. Price retests the broken resistance
↓
6. RSI remains above bullish threshold
↓
7. Impulse MACD supports bullish momentum
↓
8. BUY signal appears
This creates a confluence-based setup rather than relying on one indicator.
Example Bearish Setup
The reverse:
EMA 21 < EMA 55
↓
Price < EMA 9 < EMA 21 < EMA 55
↓
Zone Shift bearish
↓
Support/trendline breaks
↓
Retest fails
↓
RSI below bearish threshold
↓
Impulse MACD bearish
↓
SELL signal
Again, this is a framework for analysis—not a guarantee of future price movement.
Best Use Cases
The indicator is primarily designed for:
Swing Trading
Good fit for traders holding positions for several candles to several weeks.
Trend Following
Useful when markets establish clear directional movement.
Breakout Trading
The trendline and support/resistance components can help identify structural breaks.
Breakout Retests
Useful for watching former resistance become support or former support become resistance.
Trend Confirmation
Useful when traders want multiple technical factors visible on a single chart.
What This Indicator Is NOT
This is important for the TradingView publication.
This indicator does not guarantee profitable trades or predict future prices.
It should not be treated as:
financial advice
a standalone automated trading system
a guarantee of trend continuation
a guaranteed entry/exit system
a substitute for risk management
Signals can fail, particularly during:
sideways markets
low-volume markets
sudden news events
high volatility
false breakouts
Always combine the indicator with appropriate position sizing and risk management. مؤشر

Return Dispersion Matrix Strategy [The Quant Science]This is a simple buy and sell strategy developed using the Dispersion Return Matrix indicator.
Before proceed, if you are new to Dispersion Return Matrix
About Dispersion Return Matrix:
This strategy script highlights the potential of Pine Script, which makes it easy to incorporate quantitative ideas into your trading strategy. In this example, the algorithm decides which type of entry to choose based on the current market conditions.
🚦🟢 When Quadrant Q1 is dominant , the market is in a strong trend phase and is suitable for trend-following and bullish breakout strategies. Strat will use a trend-following approach for entries in this market phase.
🚦🟢 When Quadrant Q2 indicates a mean reverting market where buyers step in immediately when prices fall, suitable for accumulation strategies on pullbacks. In this phase, we will use RSI oversold entries.
🚦❌ When Quadrants Q2 and Q3 dominate the market , no trading is conducted, as there are no trading opportunities for our strategy during this phase.
What is it for?
To test the indicator's functionality within a trading strategy.
To demonstrate how to structure a trading strategy by integrating the Dispersion Return Matrix into your code.
The algorithm monitors the market and trades only when quadrants Q1 and Q2 are the winners , ensuring that it trades during a favorable market condition. The algorithm never trades when Q3 and Q4 dominate the market.
Depending on the winning quadrant, the algorithm applies two different entry strategies:
🏆 Q1 Win: Trend following strategy
🟢 Entry condition: closing price higher than the previous closing price and price above the 20-period SMA.
trend_following_strat_entry = close > close and close > sma
🏆 Q2 Win: Mean reverting strategy
🟢 Entry Condition: The RSI(14) indicator crosses below the oversold level of 35.
mean_revert_strat_entry = ta.crossunder(rsi, 35)
Exits are always calculated using a take-profit and a fixed percentage stop-loss. The take-profit and stop-loss values are calculated based on the entry price of the opening trade.
The values set in the code are 🟢 5% for the take-profit and 🔴 15% for the stop-loss.
tp = 5
sl = 15
The capital used for trading is 10% of the initial capital.
qty_order := (strategy.initial_capital * 10)/100
Opens only one trade at a time.
The algorithm highlights in white on the chart the market periods when Q3 and Q4 dominate the market, making it easy to assess the strategy's reliability in the past.
استراتيجية

Darvas Box Ladder [ITA]🟠 OVERVIEW
Darvas Box Ladder plots the rectangle Nicolas Darvas traded, and then keeps plotting the ones that follow it. Darvas did not buy a box and sell it - he rode a ladder of them, staying in as each breakout built a new box higher and lifting his stop to the floor of the newest one. He got out when a box finally broke down.
The script builds each box the way Darvas built it, as a sequence of confirmations rather than a rectangle fitted after the fact, and keeps the completed rungs on the chart so the whole run stays visible.
🟠 CONCEPTS
A Darvas box has an order to it. The ceiling comes first: price makes a new high, and that high has to survive a set number of bars unbeaten before it counts. Only then does the floor form, from the lowest low printed since the ceiling, and it has to survive the same test.
That order matters. A rectangle drawn around any quiet stretch of price is just a consolidation range. A Darvas box is a leader pausing after a run to new highs, and the ceiling-then-floor sequence is what separates the two.
Because both levels come from confirmed structure, they are fixed once drawn and do not move afterwards.
🟠 FEATURES
🔹 The full ladder, not one box - completed rungs stay on the chart so you can see the whole advance rather than the current pause in isolation
🔹 Stop line under the active box - a dashed line at the floor, which is where Darvas kept his
🔹 Measured-move target - one box height projected above the ceiling
🔹 Volume-confirmed breakouts - a close above the ceiling only counts when volume beats its 20-bar average by your chosen multiple
🔹 Box under construction - a dashed ceiling shows while the box is still forming, so you can see one coming before it completes
🔹 New-high filter - boxes may only start from a high that is the highest of the lookback window, keeping the script on leaders instead of drawing rectangles inside downtrends
🔹 Height limits - boxes outside your minimum and maximum are discarded
🔹 Alerts on both the breakout and the box breaking down
🟠 HOW TO USE
Add it to a daily chart of a stock that has been making new highs - that is the setup Darvas was looking for, and the new-high filter will keep the script quiet on anything else.
Watch for the dashed ceiling. That is a box forming. When the floor confirms, the box turns solid and the stop line appears underneath it.
A green box with a triangle below the bar is a confirmed breakout on volume, and the next box begins from there. Each new rung is a chance to lift the stop to the newer, higher floor.
A red box marks the end of the run - price closed below the floor.
Confirmation Bars is the main setting. Darvas used 3. Higher values give fewer, cleaner boxes; lower values react faster and produce more of them.
🟠 CONCLUSION
The box is the easy part. The ladder is what Darvas actually traded, and it is what tells you whether a breakout is the start of a run or the end of one. مؤشر

SmartFit Trend Channels [MarkitTick]💡 This tool builds a linear regression channel that does not sit on a fixed, arbitrary lookback window. Instead, it continuously re-anchors itself at confirmed swing pivots, filters its regression source through a selectable adaptive smoothing stage, validates every channel against a statistical fit-quality test, and optionally gates its breakout signals behind a trend-strength filter. Confirmed breakouts trigger directional alerts (including ready-to-route webhook JSON payloads), while a compact on-chart dashboard keeps the current channel's statistics visible at all times.
✨ Originality and Utility
Most regression-channel tools on the platform work from a single static bar count chosen by the user, redraw the entire channel on every bar, and offer no way to judge whether the underlying price action is actually behaving linearly enough for a straight-line model to be meaningful. This script addresses all three limitations at once. It measures channel validity using the Pearson correlation coefficient rather than assuming a regression fit is automatically useful, it restarts its lookback window dynamically at the most recent statistically valid swing pivot rather than a fixed period, and it finalizes historical segments as discrete drawn objects instead of continuously repainting a single line across the whole chart.
● Why These Components Are Combined
The regression engine, the pivot-anchoring logic, the adaptive source filter, the ADX gate, and the merge engine are not stacked together arbitrarily; each solves a specific weakness left open by the others. The adaptive smoothing stage reduces the high-frequency noise that a raw-price regression is otherwise highly sensitive to. The pivot-anchoring logic solves the "where should this channel actually start" problem that fixed-length regression channels never address. The Pearson fit-quality filter prevents the tool from drawing a confident-looking straight line through what is statistically a sideways, non-linear market. The ADX filter exists specifically to reduce breakout signals firing inside genuinely trendless conditions. The merge engine exists to prevent the chart from filling with redundant, near-identical channel segments once the pivot-anchoring logic starts producing frequent restarts on lower timeframes. Together, these form one coherent statistically-aware channel system rather than five unrelated features bundled for the sake of it.
🔬 Methodology and Concepts
● Regression Engine
At its core, the script performs an ordinary least-squares linear regression across the bars since the current channel's anchor point, producing a slope and intercept that define the channel's midline. This calculation always runs on confirmed, closed price data, never on the live forming bar.
● Statistical Validity Filter
Every regression is scored with the Pearson correlation coefficient, which measures how well price actually fits a straight line on a scale of -1 to 1. A minimum bar count and a minimum absolute correlation strength (both user-configurable) must be met before a channel, or a breakout signal derived from it, is considered valid. Channels that fail this test are still drawn, but are visually flagged as low-confidence rather than treated as a directional signal.
● Deviation Bands
Upper and lower channel boundaries are placed a user-defined number of standard deviations away from the regression midline, based on the vertical dispersion of price around that line. This produces a statistically scaled envelope rather than a fixed-percentage or fixed-tick band.
● Adaptive Source Filter
Instead of regressing on raw closing price, the script can first pass price through one of several smoothing methods, selectable per chart:
SMA / EMA / RMA — standard simple, exponential, and Wilder-smoothed moving averages, offered as baseline options with different responsiveness-to-noise tradeoffs.
Double WMA — a weighted moving average smoothed a second time through another weighted pass, trading additional lag for a cleaner underlying line.
Triple VWMA — a volume-weighted moving average smoothed through three successive passes, intended for instruments where volume-weighting the trend estimate is meaningful.
HMA — a low-lag moving average designed to track price more closely than a standard average of the same length.
LLAMA — a proprietary MarkitTick method that blends a simple average baseline with a linear slope term measured across the filter length, effectively projecting the recent directional momentum forward onto the smoothing output rather than only averaging past values.
Kalman Filter — a recursive single-state estimator that continuously balances its own prediction against each new price print, with the filter length controlling how much weight is given to new information versus the existing estimate.
Selecting "None" regresses directly on the previous confirmed close.
● Dynamic Pivot Anchoring
The script tracks confirmed swing highs and swing lows using a symmetric bar-confirmation window (either auto-scaled to the chart's timeframe or manually set). These pivots are only accepted once enough bars have closed on both sides of the candidate bar to confirm it, so no pivot is ever assumed before it is actually confirmable. When a breakout occurs, the script evaluates whether the most recent opposite-type pivot has a strong enough regression fit of its own to serve as a more representative channel origin; if it does, the newly drawn segment is anchored there instead of at the current bar.
● Confirmation Lag Notice
Because segment anchors are only finalized once a breakout confirms them, a newly drawn historical segment's starting point is placed at a bar in the past, after the fact. This is standard behavior for any pivot-anchored channel tool and does not involve unconfirmed or future data, but it does mean the visual origin of a finalized segment was not known in real time at that bar; it becomes fixed only once the breakout that closes out the prior segment occurs.
● Channel Merge Logic
When enabled, a newly forming channel is compared against the band edges of the segment it is replacing. If the gap between them falls within a user-selected tolerance (expressed as a multiple of the current standard deviation), no new discrete segment is drawn and the channel is treated as a continuation. This keeps visually similar, closely-spaced channels from cluttering the chart as separate labeled objects.
● ADX Trend Filter
An optional Average Directional Index filter can require a minimum trend strength reading before a breakout is allowed to register as a directional signal, reducing the number of signals generated while the market is directionless.
● Breakout Signal Logic and Webhook Alerts
A directional signal fires only on a confirmed bar, only when the minimum bar count and fit-quality thresholds are met, and only once per new breakout (not on every bar the price remains beyond the band). Each signal type — long entry, short entry, and their corresponding opposite-side close — has its own configurable action label, which is packaged into a JSON payload suitable for forwarding to third-party automation or webhook services.
🎨 Visual Guide
The live, currently forming channel is drawn as three connected lines — an upper band, a midline, and a lower band — with the space between the bands filled in a translucent color. Green indicates a bullish-sloped channel, red indicates a bearish-sloped channel, and gray indicates a channel that has not met the minimum fit-quality threshold and should be treated as statistically unreliable. A small label at the live edge of the channel states its bias, its fit percentage (the Pearson correlation expressed as a percentage), and its standard deviation value. When a segment finalizes, its own colored line-and-fill combination plus a labeled marker remain on the chart as a permanent historical record of that channel. An optional setting recolors the chart's candles using the live channel's bias color for an at-a-glance read of current conditions without needing to look at the channel itself. In the corner of the chart (position configurable), a compact dashboard table lists the ticker and timeframe, current bias, a bar-style fit-quality gauge, the standard deviation value, the current upper and lower band prices, the number of bars in the active channel, the pivot length in use, the current breakout/breakdown state, and — only when the relevant filters are enabled — the live ADX reading and the selected adaptive filter type.
📖 How to Use
Read channel color and the dashboard's Bias row together: a green, high-fit-percentage channel reflects a statistically supported uptrend in the regression sense, while red reflects the equivalent downtrend condition. Treat gray, low-fit-percentage channels as periods where price is not moving in a way a straight line meaningfully describes, and weight any signal generated during those conditions accordingly. A directional signal, visible as a Breakout or Breakdown state on the dashboard and paired with an alert firing, indicates confirmed price has closed beyond the channel's statistical deviation band with sufficient trend history and fit quality behind it — this is a signal generator, not a backtested strategy, so no historical win-rate or equity curve is produced by the script itself. Enabling the ADX filter is most useful on instruments or timeframes prone to frequent whipsaw, where it will suppress breakouts that occur without adequate underlying trend strength. Choosing a smoother adaptive filter (Double WMA, Triple VWMA) will produce fewer but later channel restarts; choosing a more responsive one (HMA, Kalman, LLAMA) will track price more closely at the cost of more frequent re-anchoring. Enable channel merging on lower timeframes or choppier symbols to keep the chart readable; disable it if you want to see every discrete regression segment the script produces. To receive the webhook-ready alerts, create an alert on the script using the "Any alert() function call" option, or select one of the four named alert conditions individually if only a subset of signals is needed.
⚙️ Inputs and Settings
The Core group controls the statistical backbone of the tool: automatic or manual pivot lookback length, whether nearby channels merge and how strict that merge tolerance is, the minimum Pearson fit strength and minimum bar count required for a channel to be considered valid, and the deviation z-score used to size the bands. The Filters group holds the optional ADX trend gate (toggle, threshold, and length) and the adaptive source filter selection along with its length. The Visuals group controls channel line width and whether chart candles are recolored by the live channel bias. The Dashboard group sets which corner of the chart the statistics table is drawn in. The Alerts group defines the text sent in the "action" field of each of the four webhook JSON payloads (long, short, close-long, close-short), allowing the payload vocabulary to be matched to whatever automation platform is receiving it. The Colors group governs the bullish, bearish, and weak-fit channel colors, the support/resistance accent colors used in the dashboard gauge, and the dashboard's background, header, text, and warning colors.
🔍 Deconstruction of the Underlying Scientific and Academic Framework
The regression core is an ordinary least-squares fit — the same slope and intercept formulas taught in introductory statistics, chosen because they minimize the sum of squared vertical distances between the line and each price point in the window. Layered on top of this is the Pearson product-moment correlation coefficient, the standard statistical measure of how strongly two variables are linearly related; applying it to price-versus-time is the same logic underlying R²-based confidence filters used in quantitative trend-following research, here repurposed as a simple accept/reject gate for whether a channel is worth trusting. The deviation bands draw on the same statistical foundation as Bollinger-style envelopes — a mean or trend estimate flanked by a multiple of the underlying standard deviation — except the dispersion here is measured as residual distance from a sloped regression line rather than from a flat moving average, and a z-score of 1.96 specifically corresponds to the approximate 95% interval of a normal distribution, a deliberate nod to standard statistical confidence-interval convention. The pivot-confirmation logic is a symmetric-window fractal test in the tradition of classic swing-high/swing-low detection methods, used here purely as a principled way to choose a channel's starting point rather than as a standalone trading signal. The ADX/DMI component follows Welles Wilder's original directional movement framework for measuring trend strength independent of trend direction. Among the adaptive filters, the Kalman option applies a simplified single-state predict-correct estimator common in signal processing and control theory, while the LLAMA option applies a linear-extrapolation-style adjustment to a moving average — conceptually related to trend-adjusted smoothing methods such as Holt's linear exponential smoothing, which projects recent momentum forward rather than only averaging past observations.
⚠️ Disclaimer
All provided scripts and indicators are strictly for educational exploration and must not be interpreted as financial advice or a recommendation to execute trades. We expressly disclaim all liability for any financial losses or damages that may result, directly or indirectly, from the reliance on or application of these tools. Market participation carries inherent risk where past performance never guarantees future returns, leaving all investment decisions and due diligence solely at your own discretion. مؤشر

Sattam | Trend FilterSATTAM | Trend Filter
A trend-following overlay built on a triple-pass exponential smoothing engine
with Fibonacci-adaptive volatility bands and a live command-center panel.
── HOW IT WORKS ──────────────────────────────────────────────
1) NOISE FILTER
Price is passed through three chained EMA stages. Each stage feeds the next,
which removes most of the intrabar noise that makes a single moving average
whipsaw, while keeping the turn of the trend readable.
2) TREND DETECTION
Direction is taken from the 2-bar slope of the filter line (base - base ),
not from a price/MA cross. The line turns green while the slope is positive
and red while it is negative. An orange diamond marks the exact bar where the
slope flips sign (confirmed on close only - no repainting of the signal).
3) FIBONACCI-ADAPTIVE BANDS
Band width is the smoothed high-low range, expanded by three Fibonacci
multipliers (0.236 / 0.382 / 0.618, scaled). The bands breathe with real
volatility, so the same settings work on a quiet range and on a fast trend.
Fills are gradient-colored by trend momentum, from bear color to bull color.
4) MULTI-FILTER (optional)
Adds a slower filter line. Triangles mark fast/slow crosses, and the panel
reports whether both filters agree (Aligned) or conflict (Divergent).
── COMMAND CENTER PANEL ──────────────────────────────────────
• Trend - current direction
• Strength - 0-100% of the strongest slope in the lookback window
(Strong / Moderate / Weak / Flat)
• Band Pos - where price sits inside the outer bands
(Over-Extended / Upper Band / Mid / Lower Band)
• Filters - fast vs slow agreement (multi-filter mode)
• Signal - the active flip on this bar
── HOW TO USE ────────────────────────────────────────────────
• Trade in the direction of the line color; treat flips as the alert to act.
• Prefer entries taken while Strength is Strong or Moderate; Flat readings
usually mean a range, where flips are least reliable.
• "Over-Extended" in Band Pos warns that price is stretched to the outer band
- useful for taking partials or waiting for a pullback instead of chasing.
• Turn on Multi-Filter for higher-timeframe context: take signals only when
the panel shows Aligned.
── SETTINGS ──────────────────────────────────────────────────
All inputs are labelled in English and Arabic.
• Filter Length - lower = faster and more signals, higher = smoother
(25 default; try 50-80 on lower timeframes, 10-20 for scalping)
• Slow Filter Length - the confirmation filter (80 default)
• Colors, fill transparency, bar coloring
• Panel position, size, and language (EN / AR)
── ALERTS ────────────────────────────────────────────────────
• Trend Bullish / Trend Bearish (slope flip)
• Fast Cross Up / Fast Cross Down (multi-filter cross)
All alerts fire once per bar close and include ticker, timeframe and price.
Panel language (EN / AR) also controls the alert message language.
Works on any symbol and any timeframe.
Disclaimer: for education and analysis only. This is not financial advice.
No indicator predicts the future - always use your own risk management.
SATTAM | Trend Filter — فلتر الاتجاه
مؤشر اتجاه يُرسم فوق الشارت، مبني على محرّك تنعيم أُسّي ثلاثي المراحل،
مع نطاقات فيبوناتشي متكيّفة مع التذبذب، ولوحة تحكّم مباشرة.
── كيف يعمل ─────────────────────────────────────────────────
١) فلتر الضجيج
يمرّ السعر عبر ثلاث مراحل EMA متسلسلة، كل مرحلة تُغذّي التي بعدها.
هذا يزيل معظم الضجيج الذي يجعل المتوسط المتحرك العادي يتذبذب،
مع بقاء لحظة انعكاس الاتجاه واضحة وقابلة للقراءة.
٢) تحديد الاتجاه
الاتجاه يُؤخذ من ميل الخط عبر شمعتين (base - base )، وليس من تقاطع
السعر مع متوسط. الخط أخضر عندما يكون الميل موجباً، وأحمر عندما يكون سالباً.
الماسة البرتقالية تحدّد الشمعة التي انقلب فيها الميل — وتُؤكَّد عند إغلاق
الشمعة فقط، بلا إعادة رسم للإشارة.
٣) نطاقات فيبوناتشي المتكيّفة
عرض النطاق = مدى (أعلى − أدنى) بعد تنعيمه، مضروباً في ثلاثة معاملات
فيبوناتشي (٠.٢٣٦ / ٠.٣٨٢ / ٠.٦١٨ بعد التحجيم). النطاقات تتّسع وتضيق مع
التذبذب الحقيقي، فتعمل نفس الإعدادات في السوق الهادئ وفي الترند السريع.
تعبئة النطاقات ملوّنة بتدرّج حسب زخم الاتجاه، من لون الهبوط إلى لون الصعود.
٤) الفلتر المزدوج (اختياري)
يضيف خط فلتر أبطأ. المثلثات تحدّد تقاطع السريع مع البطيء، واللوحة تُظهر
هل الفلتران متوافقان (متوافق) أم متعارضان (متعارض).
── لوحة التحكّم ─────────────────────────────────────────────
• الاتجاه — الاتجاه الحالي (صاعد / هابط)
• القوة — من ٠ إلى ١٠٠٪ مقارنةً بأقوى ميل في فترة القياس
(قوي / متوسط / ضعيف / محايد)
• موضع النطاق — أين يقع السعر داخل النطاقات الخارجية
(تشبّع / النطاق العلوي / الوسط / النطاق السفلي)
• الفلاتر — توافق السريع مع البطيء (في وضع الفلتر المزدوج)
• الإشارة — الانعكاس النشط على الشمعة الحالية
── طريقة الاستخدام ──────────────────────────────────────────
• تداول مع لون الخط، واعتبر لحظة الانعكاس هي إشارة التحرّك.
• فضّل الدخول عندما تكون القوة «قوي» أو «متوسط»؛ قراءة «محايد» غالباً تعني
سوقاً عرضياً تكون فيه الانعكاسات أقل موثوقية.
• ظهور «تشبّع» في موضع النطاق يعني أن السعر امتدّ إلى النطاق الخارجي —
مفيد لجني جزء من الأرباح أو انتظار الارتداد بدل المطاردة.
• فعّل الفلتر المزدوج للحصول على سياق الفريم الأكبر، وخذ الإشارات فقط
عندما تُظهر اللوحة «متوافق».
── الإعدادات ────────────────────────────────────────────────
جميع الإعدادات مكتوبة بالإنجليزية والعربية معاً.
• طول الفلتر — الأقل = أسرع وإشارات أكثر، والأعلى = أنعم
(الافتراضي ٢٥؛ جرّب ٥٠–٨٠ على الفريمات الصغيرة، و١٠–٢٠ للمضاربة السريعة)
• طول الفلتر البطيء — فلتر التأكيد (الافتراضي ٨٠)
• الألوان، وشفافية التعبئة، وتلوين الشموع
• موضع اللوحة وحجمها ولغتها (EN / AR)
── التنبيهات ────────────────────────────────────────────────
• اتجاه صاعد / اتجاه هابط (انعكاس الميل)
• تقاطع صاعد / تقاطع هابط للفلتر السريع (في الفلتر المزدوج)
كل التنبيهات تُطلق مرة واحدة عند إغلاق الشمعة، وتتضمّن الرمز والفريم والسعر.
لغة اللوحة (EN / AR) تتحكّم أيضاً في لغة نص التنبيه.
يعمل على جميع الرموز وجميع الفريمات الزمنية.
إخلاء مسؤولية: هذا المؤشر لأغراض تعليمية وتحليلية فقط، وليس نصيحة مالية.
لا يوجد مؤشر يتنبأ بالمستقبل — التزم دائماً بإدارة رأس المال الخاصة بك. مؤشر

Fibonacci Trend Continuation Signals [AlgoAlpha]🟠 OVERVIEW
Fibonacci Trend Continuation Signals maps Fibonacci retracement levels inside an adaptive trend structure. It combines a smoothed price midline, volatility-based outer bands, and Fibonacci ratios to show where price is trading within the current bullish or bearish trend range.
The trend changes only when price moves beyond a volatility-adjusted outer band. Once a direction is active, the script projects 0.236, 0.382, 0.500, 0.618, and 0.786 levels between the active outer band and the midline. This creates a moving Fibonacci framework that adjusts as price and volatility change.
Continuation signals appear when price closes back through an enabled Fibonacci level in the direction of the active trend. This lets traders use retracements within an established trend instead of treating each Fibonacci level as a fixed reversal point.
🟠 CONCEPTS
Trend Midline — An exponential moving average of closing price. It forms the central reference for the trend structure and the endpoint of the Fibonacci range.
Volatility Bands — Outer boundaries placed above and below the midline using a smoothed measure of the high-to-low price range. Price crossing an outer band changes the active trend direction.
Fibonacci Trend Range — The distance between the active outer band and the midline. In bullish trends, levels are measured upward from the lower band. In bearish trends, they are measured downward from the upper band.
Fibonacci Levels — The 0.236, 0.382, 0.500, 0.618, and 0.786 ratios divide the active trend range into retracement zones that move with the underlying trend structure.
Continuation Signal — A bullish signal occurs when price closes upward through an enabled Fibonacci level during a bullish trend. A bearish signal occurs when price closes downward through an enabled Fibonacci level during a bearish trend.
🟠 FEATURES
Adaptive Fibonacci Profile — Displays five configurable Fibonacci levels between the active volatility band and trend midline.
Trend Continuation Signals — Shows bullish and bearish markers when price closes through an enabled Fibonacci level in the direction of the active trend.
Current Level Labels — Shows the current price value of each enabled Fibonacci level at the latest bar.
Trend Change Markers — Marks the Fibonacci structure when a new bullish or bearish trend begins.
🟠 HOW TO USE
Identify the active trend structure — A bullish structure projects Fibonacci levels from the lower band toward the midline, while a bearish structure projects them from the upper band toward the midline.
Watch price during a retracement — Use the displayed Fibonacci zones to see how far price has moved through the active trend range.
Look for continuation signals — An upward triangle shows that price crossed above an enabled Fibonacci level during a bullish trend. A downward triangle shows the equivalent bearish close below a level.
Compare signals with price structure — Use nearby swing points, support, resistance, or your existing confirmation method before acting on a continuation signal.
Adjust Midline Length, Pivot Length, and Band Width to control how quickly the trend framework responds to price and how wide its outer boundaries are.
Enable or disable individual Fibonacci levels to keep only the retracement levels relevant to your method.
🟠 CONCLUSION
Fibonacci Trend Continuation Signals combines volatility-based trend detection with adaptive Fibonacci retracement levels and directional continuation signals. It gives traders a moving reference for measuring pullbacks and identifying closes that resume movement in the active trend direction. مؤشر

Multi-MA Trend Ribbon [MarkitTick]💡 A fully adaptive moving-average ribbon that lets you choose from 30 different smoothing algorithms — from classic SMA/EMA to advanced adaptive filters like Kalman, JMA, KAMA, and a custom volatility-responsive method called LLAMA — then builds a multi-line, gradient-colored trend ribbon out of that single chosen method across up to 8 progressively longer lengths. Layered on top is an optional multi-timeframe bias filter, an ADX strength gate, a volume confirmation gate, webhook-ready JSON alerts, and a live diagnostic dashboard.
✨ Originality and Utility
Most ribbon-style indicators on the platform hard-code a single averaging method (usually EMA or HMA) and stack a handful of fixed lengths on the chart. This script takes a different approach: it treats the "ribbon" as a generic container and the "moving average type" as a fully interchangeable engine, with 30 distinct algorithms available from a single dropdown, all built from first principles (not by calling a bundle of pre-packaged libraries). Because every ribbon line is generated by the same underlying function at different lengths, switching the MA Type instantly re-renders the entire ribbon in the new smoothing style, giving traders a single tool to compare how trend-following behaves under drastically different mathematical assumptions (linear vs. exponential weighting, adaptive vs. fixed responsiveness, zero-lag vs. standard lag) without switching indicators.
The script's originality centers on three custom-built components not found in standard built-ins:
A proprietary adaptive length mechanism ("LLAMA") that dynamically expands or contracts each ribbon line's effective lookback based on a short-term directional forecast, rather than using a static length.
A dual-RSI-divergence-weighted directional predictor that feeds that adaptive length engine.
A from-scratch implementation of less commonly available filters (Kalman, JMA, FRAMA, T3, McGinley, Super Smoother) that are not native Pine built-ins, giving traders access to algorithms usually reserved for institutional charting platforms or custom research code.
The mashup of a trend ribbon, a confluence filter stack (ADX + HTF + Volume), and a webhook alert system is justified because these three layers solve three different practical problems traders face together: identifying trend direction (ribbon), avoiding low-quality signals in choppy or thin conditions (filters), and automating execution (alerts) — components that are commonly used in sequence by discretionary and systematic traders alike, making their integration into one tool a genuine workflow simplification rather than an arbitrary bundling.
🔬 Methodology and Concepts
● Core Ribbon Construction
The script computes eight moving averages of the same source (default: close) at lengths that increase by a fixed step from a base length. For example, with a Base of 20 and a Step of 10, the eight lengths used are 20, 30, 40, 50, 60, 70, 80, and 90. The fastest line (MA1) and the slowest visible line (determined by the Lines setting) are compared: when the fast line sits above the slow line, the ribbon is considered to be in a bullish regime; when below, bearish. All eight lines are generated by the exact same averaging function, so the "shape" of the ribbon (how tightly or loosely the lines fan out) becomes a visual proxy for trend strength and consistency across time horizons.
● Selectable Smoothing Engine
The Type input lets you choose the mathematical method used to compute every single line in the ribbon simultaneously. The available families are:
Classic weighted averages: SMA, EMA, RMA (Wilder's smoothing), WMA, Triangular (TRIMA), Volume-Weighted (VWMA), and their double/triple-smoothed variants (DWMA/TWMA, DVWMA/TVWMA) which apply the same weighting function recursively to reduce lag-vs-noise trade-offs.
Zero/reduced-lag filters: Hull MA (HMA) and its extended variants EHMA and THMA, DEMA and TEMA (double/triple exponential smoothing, per Patrick Mulloy's original error-correction concept), and ZLEMA (zero-lag EMA using a momentum-shifted input).
Adaptive/volatility-responsive filters: KAMA (Kaufman's Adaptive MA, which speeds up or slows down based on an efficiency ratio of net movement to total movement), VIDYA (Chande's Variable Index Dynamic Average, which scales its responsiveness using Chande Momentum Oscillator readings), FRAMA (Ehlers' Fractal Adaptive MA, which estimates a fractal dimension from recent high/low ranges to adjust smoothing), and JMA (a Jurik-style adaptive filter using a two-stage predictive/corrective recursive structure).
Specialized/legacy filters: T3 (Tillson's six-pole exponential blend using a volume factor to control overshoot), McGinley Dynamic (a self-adjusting average that speeds up during fast markets and slows down during consolidation via a ratio-based denominator), ALMA (Arnaud Legoux MA, a Gaussian-weighted average with adjustable offset and smoothness), LSMA (least-squares linear regression endpoint), SWMA (a fixed symmetric 4-bar weighted average), Median, and SSF (a two-pole Super Smoother Filter using an Ehlers-style recursive IIR design).
Proprietary adaptive engine — LLAMA: A custom exponential filter whose smoothing constant is derived not from a fixed length, but from a dynamically computed effective length (see below).
• LLAMA and the Directional Predictor
LLAMA (the script's custom adaptive method) works in two stages. First, a directional forecast is built from two RSI readings (14-period and 28-period). Over a lookback window, each prior bar is scored by how closely its RSI signature matches the current bar's RSI signature (using a log-distance similarity weighting), and that similarity is used to weight whether price rose or fell on that historical bar. The weighted average of those historical outcomes produces a forecast value between -1 (strongly bearish precedent) and +1 (strongly bullish precedent). Second, that forecast value is used to stretch or compress each ribbon line's effective length within a configurable percentage range around its base length — a stronger bullish or bearish forecast pushes the effective length toward one end of the range, changing how reactive that specific line is to new price action. This effective length is then converted into a standard exponential smoothing constant to produce the final LLAMA value. The result is a moving average that behaves less like a fixed-parameter tool and more like a filter that continuously recalibrates its own sensitivity based on recent directional evidence.
● Trend Signals
Two categories of signals are generated:
Ribbon Flips: Triggered when the relationship between the fastest line and the slowest visible line changes state (fast crosses from below to above the slow line, or vice versa), using confirmed prior-bar values to avoid intrabar flicker.
Price Crosses: Triggered when price itself crosses the fastest ribbon line (MA1), independent of the broader ribbon state, offering an earlier but noisier entry cue.
● Confluence Filters
Three optional, independently toggleable filters can be layered onto both signal types to suppress low-quality triggers:
ADX Strength Filter: Requires Wilder's Average Directional Index (calculated via the standard DMI/ADX formula) to be above a minimum threshold before a signal is allowed to fire, filtering out signals generated during weak or range-bound conditions.
Higher-Timeframe Bias Filter: Recomputes the entire ribbon logic (fast MA vs. slow MA) on a user-selected higher timeframe and requires the current-timeframe signal to agree with that higher-timeframe bias before firing. This uses a confirmed prior-bar value pulled via request.security() with lookahead explicitly enabled on historical (already-closed) data only, so no future information leaks into the calculation.
Volume Confirmation Filter: Requires the prior bar's volume to exceed a multiple of its recent average volume, ensuring signals are backed by above-average participation rather than occurring on thin, low-conviction bars.
🎨 Visual Guide
Ribbon Lines (MA1–MA8): Up to eight plotted lines, one per configured length, colored on a gradient. When Trend Col is enabled, the gradient runs between your chosen Bull and Bear colors depending on the current trend state; when disabled, it instead runs between the Fast and Slow colors you've set, regardless of trend direction.
Ribbon Fill: The semi-transparent shaded area between each consecutive pair of ribbon lines, colored to match the current trend (bull or bear color) with adjustable transparency via the Fill Transparency setting. A tightly compressed, thin fill indicates the ribbon lines are converging (potential consolidation or transition); a wide, expanded fill indicates strong trend separation.
Bull/Bear Flip Markers: Small triangle shapes below or above the bars marking the exact bar where a confirmed Ribbon Flip occurred — an upward triangle in your Bull color for bullish flips, a downward triangle in your Bear color for bearish flips.
Heatmap Candles (optional): When enabled, replaces standard candle coloring with your chosen Bull/Bear body and border colors based on the ribbon's current trend state, turning the entire chart into an at-a-glance trend heatmap.
Dashboard Table: An on-chart panel (position configurable) summarizing, in real time: signal lock status, current bias, active MA type and lengths, a visual bar-graph readout of the number of active ribbon lines, the fast and slow MA values, the current spread between them, the LLAMA directional prediction strength, the most recent flip direction, the most recent price cross direction, how many filters are currently active, the live ADX reading, the +DI/-DI values, the current volume ratio versus average, and the higher-timeframe bias state.
📖 How to Use
Use the overall ribbon color and fill (bull color vs. bear color) as your primary trend read: a consistently bull-colored, moderately expanded ribbon suggests sustained upward momentum, while contraction or color-flipping suggests indecision.
Treat triangle Flip markers as your core trend-change signal — they only appear once the flip has been confirmed on a closed bar, and (if filters are enabled) only after passing your chosen strength, HTF-agreement, and volume conditions.
Treat Price Cross events (visible in the dashboard's "Price Cross" row) as a faster, more aggressive alternative entry cue for traders who want to react before a full ribbon flip occurs, understanding this comes with a higher likelihood of false signals.
Enable the Lock Signal option to freeze the current bias and temporarily suspend new signal generation — useful when you want to hold a view steady while manually reviewing a setup instead of reacting to every subsequent flip.
Watch the dashboard's Filters and individual ADX / Vol Ratio / HTF Bias rows to understand in real time why a signal is or is not being permitted to fire.
Consider combining a slower Type (e.g., RMA, T3, or a longer-length adaptive filter) for the overall bias with faster Price Cross signals for tactical entries within that bias.
⚙️ Inputs and Settings
Type: Selects which of the 30 supported averaging methods is used to build every line in the ribbon.
Src: The price source fed into all calculations (default: close).
Base / Step: Base sets the length of the fastest ribbon line; Step sets the length increment applied to each subsequent line. Together they define the full spread of lengths across the ribbon.
Shift: Applies a horizontal bar offset to all plotted ribbon lines. A non-zero value shifts the visual plot forward or backward relative to price and does not alter the underlying calculation.
Lines: Sets how many of the eight possible ribbon lines are displayed (2–8), which also determines which line is treated as the "slow" reference line for bias and flip calculations.
ALMA Off / ALMA Sig, T3 Vf, KAMA Fast / KAMA Slow, JMA Phase / JMA Pow, Kal Q / Kal R, LLAMA LB / LLAMA Rng: Method-specific tuning parameters that only take effect when the corresponding Type is selected — these control offset/smoothness for ALMA, volume factor for T3, the fast/slow efficiency bounds for KAMA, phase/power for JMA, process/measurement noise for Kalman, and lookback/range for the custom LLAMA engine.
ADX / HTF / Vol toggles and their sub-settings: Independently enable and configure the three confluence filters described in the Methodology section (strength threshold and length for ADX, target timeframe for HTF, lookback length and multiplier for Volume).
Lock Signal: Freezes the currently displayed bias and suppresses new flip/cross signals until disabled.
Trend Col / Fill / Fill Transparency / Width / Bars / Signals: Visual controls for whether ribbon coloring reflects trend state, whether the fill between lines is shown and how transparent it is, line thickness, whether heatmap candles are shown, and whether flip markers are plotted.
Dashboard Show / Position: Toggles the on-chart dashboard and sets its screen position.
Alert toggles and Action fields: Enable/disable Flip-based and Cross-based alerts independently, and customize the text string sent in each alert's JSON payload for long entry, short entry, close-long, close-short, cross-up, and cross-down events — designed to be dropped directly into webhook-based automation.
⚠️ Confirmation Lag Notice
The Shift input allows ribbon lines to be plotted with a backward or forward bar offset relative to the current price bar. When a non-zero Shift value is used, what you see plotted at a given bar's x-position does not represent that bar's actual calculated value in real time — always verify the Shift setting is at its default (0) if you intend to use the ribbon for real-time signal interpretation, and be aware that a non-zero offset can visually misrepresent how early or late a line's response to price actually was.
🔍 Deconstruction of the Underlying Scientific and Academic Framework
This script draws on several distinct threads of technical and quantitative theory:
Classical trend-following theory: The core "fast MA vs. slow MA" bias mechanism traces back to Dow Theory's premise that trend direction can be inferred by comparing price behavior across different time horizons — approximated here by comparing smoothed averages of different lengths rather than raw price.
Exponential smoothing and digital filter theory: Methods like EMA, DEMA, TEMA, and ZLEMA build on Patrick Mulloy's work on reducing the inherent lag of exponential moving averages through cascaded and momentum-adjusted smoothing, itself grounded in classical infinite impulse response (IIR) filter design from signal processing.
Adaptive filter theory: KAMA (Kaufman), VIDYA (Chande), and FRAMA (Ehlers) all apply the same broader principle from adaptive control theory — that a filter's time constant should not be fixed but should respond to a real-time measurement of market "efficiency" or "noise," whether measured via a directional efficiency ratio, momentum oscillator magnitude, or fractal dimension of price geometry.
State-space estimation theory: The Kalman filter option applies the classical Kalman filtering framework from control and estimation theory — treating the true underlying trend as a hidden state to be recursively estimated from noisy price observations, balancing a process-noise parameter (how much the true state is expected to drift) against a measurement-noise parameter (how much to trust each new observation).
Fractal market theory: FRAMA's dimension calculation is grounded in Mandelbrot's fractal geometry concepts as adapted by John Ehlers, using the scaling relationship between price range measured at different resolutions to infer whether the market is behaving more like a trending (lower fractal dimension) or random-walk (higher fractal dimension) process.
Directional Movement / trend strength theory: The ADX filter implements Welles Wilder's original Directional Movement System, which decomposes price movement into positive and negative directional components and derives a smoothed strength index from their divergence.
Weighted similarity / kernel-based forecasting: The custom LLAMA predictor's weighting scheme is conceptually related to kernel-weighted (locally weighted) regression and nearest-neighbor forecasting methods, in which historical observations are weighted by their similarity to current conditions (here, measured via RSI-signature distance) rather than treated with uniform recency weighting.
⚠️ Disclaimer
All provided scripts and indicators are strictly for educational exploration and must not be interpreted as financial advice or a recommendation to execute trades. We expressly disclaim all liability for any financial losses or damages that may result, directly or indirectly, from the reliance on or application of these tools. Market participation carries inherent risk where past performance never guarantees future returns, leaving all investment decisions and due diligence solely at your own discretion. مؤشر

Trend Trail, Trailing Stop & Buy Sell Signals [LunqFX]An ATR trailing stop — the trend-following construction most traders know as SuperTrend — breaks in the same place every time. Price stops trending, the trailing stop gets clipped from both sides, and it prints a buy, a sell, a buy and a sell inside twenty bars. Every one of those is a false trend reversal, and the logic is not wrong: it is being asked a question the market is not answering.
This is an open-source modification of the classic ATR based SuperTrend, and it asks that question first. Before it will give you a buy or sell signal it measures whether there is a trend to trail at all. When there is not, the whole chart goes dark — the trailing stop disappears, the fill drops, the candles fall to grey, and no long entry or short entry prints.
And it does not ask you to take that on trust. A plain fixed-distance ATR trailing stop runs alongside it on the same data, and the panel shows both counts side by side with the difference worked out for you.
Included: an average true range trailing stop with adaptive distance, a self-calibrating trend regime filter, buy and sell signals with the stop level printed on every label, a dormant state that switches the chart off in ranges, a live dashboard, and alerts on every trend reversal.
❶ THE REGIME FILTER — what this adds to a SuperTrend
Trend strength is measured with the Kaufman Efficiency Ratio: the ground price actually covered, divided by the distance it travelled getting there. A clean leg scores near 1. The same distance walked back and forth scores near 0.
That raw ratio is useless as a threshold on its own, and this is where most attempts at this fail. Gold on a 30-minute chart runs an efficiency around 0.01 while the euro daily runs 0.40 — any fixed cutoff leaves the fast charts permanently asleep and the slow ones permanently awake. So the reading is scored as a PERCENTILE of the symbol's own recent history. The trail arms when efficiency reaches the top third of what this instrument normally manages, whatever that happens to be. One setting, no per-symbol tuning.
Two guards keep the state from flickering, because they catch different things. Hysteresis handles wobble around the threshold: once armed, the regime stays armed until efficiency drops clearly below the line. A minimum dwell time handles the other case — a clean spike that clears the threshold by a mile and drops straight back. Without both, a filter opens hundreds of regimes and ends up emitting more marks than the raw trail it was meant to quieten.
❷ DORMANCY — the trail does not exist in a range
This is stronger than dimming a colour. When no regime is live the trail is torn down completely, and it is rebuilt from the current price when one opens, taking its side from the move that woke it.
The reason is not cosmetic. A trail left running through a range turns over inside it, unseen, and the market then re-opens onto a direction that was decided while nobody was watching — a position with no entry behind it. Destroying and rebuilding means every segment on the chart begins with a real event, and every event gets a label.
What you see is a chart that is either lit or switched off. Grey candles, no line, no signal: there is nothing here to do, and you can read that from across the room.
❸ THE ATR TRAILING STOP AND ITS ADAPTIVE DISTANCE
The average true range sets the band width, and the trailing stop ratchets in the direction of the trend and never loosens — the same dynamic support and resistance line a SuperTrend gives you, flipping to a trend reversal when price closes through it. The stop level is printed on every buy and sell label, so the one number you need at the moment of a long entry or short entry is already on the chart.
The distance is not fixed. One multiple has to be either too tight for choppy conditions or too loose for a clean run — it cannot be right for both, so the distance widens as efficiency falls and tightens as it rises. Turn it off in the settings for a constant multiple.
❹ THE RECEIPT — a filter you can audit
A second trailing stop is computed on the same bars: fixed distance, no regime filter, nothing else — what an ordinary trailing stop would have done here. Its flip count sits in the panel next to this one's signal count, with the reduction calculated:
Signals here · plain trail 164 · 236 Noise removed −31%
Both numbers count the same thing — entries against entries. A state is not counted as a trade on either side. And when the result goes the wrong way the panel says "Noise ADDED" in red rather than quietly dropping the sign, because a panel that flatters its own script is worse than no panel.
Read it as what it is: a measure of how much less often this fires, not a claim about money. Fewer signals is not automatically better signals, and this number does not pretend otherwise.
❺ THE DASHBOARD
Direction and stop price in the header, trend strength as a 0–100 reading with a bar and the arming threshold beneath it, current stop distance in price and in ATR, and the two comparison rows. In the dormant state the header says so plainly and the stop row reads "no stop — dormant" rather than printing a number that does not exist.
HOW TO USE IT
1 — Trade the lit stretches, ignore the grey ones. That is the whole discipline the tool is built around, and it is the part most trend systems leave to you.
2 — Use the trail as the stop, not just as a signal line. The level on the label is where the stop goes; the panel keeps showing the distance in ATR as the trade runs, so you can see when the trail has tightened to the point of being one bar away.
3 — Set the arming threshold to your patience. At 65 you get the top third of this symbol's clean moves. Raise it to 75 and you will trade far less on far cleaner legs. This is the one setting worth changing.
4 — Read the comparison rows on your own instrument. If the reduction on your symbol and timeframe is small, the filter is not finding much to remove there — which is itself information about the instrument, not a reason to distrust the reading.
HOW IT WORKS
The average true range sets the band width; the mid price plus and minus that width form the raw bands, exactly as in a classic ATR trailing stop. Each band ratchets in the trend's favour and never against it, and price closing through the opposite band flips the direction — the trend reversal. Efficiency is the net move over the lookback divided by the summed absolute bar-to-bar movement, ranked as a percentile against its own history. The regime arms above the threshold with hysteresis and a minimum dwell, and outside a regime the trail is not computed at all.
Works on any symbol and any timeframe. The regime filter needs the self-calibration window to fill before it can arm, so the first stretch of a fresh chart stays dormant by design.
SETTINGS
▸ Trail — ATR length, base distance, adaptive distance and its strength. ▸ Regime Filter — on or off, efficiency lookback, self-calibration window, arming percentile, hysteresis, minimum bars per regime. ▸ Signals — buy and sell signals, labels or arrows, stop level on the label. ▸ Visuals — glow, fill, candle dimming, dashboard position.
ALERTS — buy, sell, any signal, regime opened and regime closed. All fire on closed bars.
NON-REPAINTING — the trail is built from closed-bar values and every signal fires on bar close. A printed signal never moves and never disappears.
WHY THESE PARTS ARE ONE SCRIPT
The trail alone is an ordinary trailing stop and will chop you up in a range. The regime filter alone has nothing to gate. The comparison exists only because a filter nobody can check is just a claim, and it needs both of the others to have something to measure. Take any one away and the other two stop making a point.
This indicator is an educational market-analysis tool, not financial advice. It does not predict price. The comparison figures describe how often each version of the trail changed direction on the loaded chart; they say nothing about profit or loss. Always confirm with your own analysis and manage your risk. مؤشر

TURKS - Tiered Unit Risk Kernel StrategyTURKS decides how much of a long position to hold. Exposure is a graded function of where the close sits against four moving averages (20/50/100/200), so it moves in rungs rather than switching on and off. That function is monotone in price, which means it inverts: every rung has exactly one price. The panel prints those prices before they are reached — a ladder of levels at which the position gets larger or smaller, readable today.
Long-only, 0 to 1, no shorting and no leverage.
📊 THE RESULT
Twelve symbols, shipped defaults, 4-hour charts, full available history. Commission $1.50 per order, slippage 0.01xATR per side, idle cash credited nothing. b&h is buy-and-hold over the identical bars, charged nothing at all. The comparison is deliberately rigged against the strategy.
CAGR MAX DRAWDOWN CAGR / maxDD
symbol sample TURKS b&h TURKS b&h TURKS b&h
SNDK 1.3y +1406.3% +1899.0% -37.2% -56.8% 37.82 33.43
ETH 9.5y +117.3% +71.9% -54.4% -94.1% 2.16 0.76
BTC 9.5y +70.0% +54.2% -62.3% -83.9% 1.12 0.65
ARM 2.7y +62.5% +72.9% -39.8% -55.8% 1.57 1.31
TSLA 15.9y +32.7% +41.7% -57.0% -74.9% 0.57 0.56
NVDA 22.4y +25.3% +36.4% -77.0% -85.2% 0.33 0.43
AMD 21.4y +20.2% +17.3% -69.3% -96.1% 0.29 0.18
AVGO 16.8y +16.9% +39.0% -36.9% -50.3% 0.46 0.78
MU 22.4y +9.3% +19.7% -81.4% -90.9% 0.11 0.22
GOLD 13.5y +7.2% +7.7% -20.0% -35.0% 0.36 0.22
SPY 20.4y +4.4% +9.1% -40.5% -56.7% 0.11 0.16
INTC 20.4y +2.2% +8.5% -73.3% -74.2% 0.03 0.11
CAGR / maxDD is the column that settles it — return earned per unit of drawdown suffered. On that measure TURKS wins on 7 of 12. It cut maximum drawdown on 12 of 12, and beat buy-and-hold on raw return on 3.
▸ ETH — 117.3% against 71.9%, at −54.4% drawdown against −94.1%. Nearly double the return on barely half the pain.
▸ BTC — 70.0% against 54.2%, at −62.3% against −83.9%.
▸ AMD — 20.2% against 17.3%, turning a −96.1% hole into −69.3% across 21.4 years.
These are assets that spent their entire sample inside a historic bull market, measured against a benchmark paying no commission and no slippage. Halving a drawdown is ordinary. Halving it and finishing ahead is not.
BTCUSD 4h at the shipped defaults. The ladder is the green and red boxes; the envelope is the pair of curves around the mean. Bottom left is the BOOK panel reading 70.0% against 54.2% buy-and-hold at −62.3% drawdown against −83.9%, on 58.0% average exposure. Right side is the live state: what the rule targets now, where the next rung sells, where it buys back.
MU, SPY, TSLA and INTC are in that table because they were chosen to be difficult, and they behave exactly as the mechanism predicts. The rule sells strength and holds cash: it pays when a price path is violent relative to its drift, and it costs when the drift is high and the path is smooth. On a broad index it is the wrong tool — SPY 9.1% becomes 4.4%, and that number is in the table rather than left out of it.
📖 HOW TO USE IT
1 — Set your costs before you read anything. Commission ($ per order) and Typical position size ($) are the only two numbers the cost model needs; every other cost figure is a rate derived from them. A flat $1.50 is 1.9bp on an $8,000 position and 7.5bp on a $2,000 one. Leave these wrong and the panel lies to you.
2 — Pick the instrument. Single names and crypto whose drawdowns are violent relative to their drift. The table above is the guide, including the four rows that say don't.
3 — Read the ladder, not the arrows. The SELL / BUY ENGINE block prints three live numbers:
▸ Sell next above — the price at which the next rung comes off
▸ Buy back below — the price at which it goes back on
▸ Rungs sold — how much the envelope has already taken off, e.g. 12 of 20
Both prices exist now, before the move. They are not marks that appeared after one.
4 — Read the dial. The THE RULE block prints Target weight, which is what the rule says you should be holding at this instant, and Dial c / f. The POSITION block prints what you actually hold, your entry, your open return, and the round-trip cost you are currently carrying — so the gap between intention and position is always visible.
5 — Size it with c and f, not by fighting the rungs. c scales the whole position down. f is the floor you keep while the rule is off; raising it walks the book continuously toward buy-and-hold. Both tooltips print the measured frontier — the whole curve of what each step costs in return and buys in drawdown, including the region where the rule loses to simply holding less.
6 — Verify on your own symbol before trusting any of this. The BOOK panel prints Sample, CAGR against b&h, Max drawdown against b&h, CAGR/maxDD, Sharpe, Exposure and Turnover for whatever chart you are on, net of your own cost settings. Change the symbol and the whole table above regenerates for your instrument in one bar.
7 — Alerts. alert() messages ship on; JSON webhook format is a checkbox away.
🪜 HOW THE EXPOSURE IS SET
Exposure Shape picks the weighting rule. Ensemble 20/50/100/200 (graded) is the default: a slice is sold as the close drops below one more mean, bought back the same way, flat only below all four. Graded (continuous) uses one mean with an ATR ramp. Binary gate (legacy) is the original all-or-nothing rule.
Risk dial c scales the entire position down. Risk dial f is how much you keep while the rule is off. These two are the real levers, and nothing about their trade-off is hidden behind a paywall or a marketing claim — the full measured frontier is printed in the settings dialog.
Quantise Steps rounds the target to N reachable weights and requires price to clear 75% of a step before acting, so orders do not fire every bar. Ramp Width (xATR) sets how far above the mean price must travel to earn full size.
✂️ THE NADARAYA-WATSON SELL ENGINE
A trend weight cuts into weakness by construction, so it sells low: 59% of every unit the dial sells goes out below its own average cost, at 12.4 round trips a year. That is the flaw this block exists to fix. It replaces or constrains the sell side with a Gaussian kernel-regression envelope that only sells into genuine extension.
Sell Engine Mode — Dial, NWE-gated (default) keeps the dial's targets but forbids cutting while price sits below the smoother; it may still add. NWE band only turns the dial's sells off entirely. Dial + NWE (both cut) lets either one sell. Dial only leaves the envelope drawn but inert.
Sell Rungs is how much leaves on each upper-band cross: 1/N of the position. Going from 3 to 10 halved turnover, cut the share sold below basis from 16.7% to 8.9%, and pulled out-of-sample drawdown from −32.6% to −18.3%. It ships at 20, one step further along the same gradient; 10 is the last value with a formal table behind it.
Band Multiplier (3.0) and Buy-back Multiplier (2.5) set the upper and lower halfwidths in mean-absolute-deviation units. The asymmetry is the point: buying back nearer the mean than you sold restores the position before price has fully round-tripped, which is what keeps the overlay from bleeding in a chop. Bandwidth h widens and slows the smoother; it ships at 5.
🔬 HOW THIS WAS BUILT
Nine candidate signal families were tested against a matched-exposure control across 140 markets and 8,793 sessions: moving-average and momentum structure, cross-sectional relative strength, short-horizon mean reversion, volatility-of-volatility and regime transitions, drawdown state, volume, range compression, multi-timeframe agreement, and calendar seasonality. Not one was positive both in and out of sample. All nine were deleted from the codebase rather than left in as decoration.
The cleanest demonstration: take the original engine's own weight path and fire it 60 trading days late — same trades, same sizes, same turnover, same average exposure, only the dates broken. It scores better late than on time. Block-shuffling the path also beats it. A rule whose dates carry information cannot survive having them destroyed, so that engine was removed and what remains is geometry.
The stretch-proportional alternative to fixed rungs was then built and measured across 44 configurations. None beat rungs = 10. The project's pre-registered five-clause acceptance test passed all 20 graded cells — but a constant weight of 1.0 also passes three of five clauses, exactly one cell of twenty reaches p < 0.05 uncorrected (the null expectation for twenty tests), that p fails Bonferroni, and the cells are 0.985-correlated. It was reported as a failed test.
Everything left in this script survived a process designed to kill it. What remains is a sizing rule with no forecast in it: it does not predict the retest, it tells you at a price you can read now exactly what happens when one arrives.
⚙️ COSTS, AND THE SETTINGS THAT DECIDE THEM
Initial capital 150,000; commission $1.50 cash per order; no pyramiding; orders processed on bar close. Sell Engine Mode Dial, NWE-gated, Exposure Shape Ensemble 20/50/100/200 (graded), c = 1.00, f = 0.00, Quantise Steps 3, Ramp 1.0 ATR, Trend Mean 200, Cash Yield 0.00%. Envelope: bandwidth 5, multiplier 3.0, buy-back 2.5, MAE window 499, Sell Rungs 20.
TradingView's strategy() slippage is denominated in ticks, and a tick is an absolute price — one tick cannot be simultaneously correct for a $20 stock and a $1,600 one, nor for the same stock at $0.21 and at $224. It is therefore left at 0, and a proportional Slippage (xATR per side) input, shipped at 0.01, charges the cost in-script where it scales with the instrument.
Cash Yield ships at 0.00%. The rule spends much of its life partly in cash, so any yield credited lands straight on the CAGR, and one constant cannot represent a twenty-year sample where real cash paid about 0.1% for eight years and about 5% for two. Every figure in the table above was measured with it at zero.
Exits are close-only by construction — no strategy.exit, no stop=, no limit= anywhere in the shipped path, and nothing resting at a broker. The printed ladder is the memoryless level; the live quantiser is hysteretic, so the executed switch can sit up to 0.75 steps from the printed one.
© CREDIT
The envelope is a port of "Nadaraya-Watson Envelope " by LuxAlgo (www.tradingview.com), published open-source under CC BY-NC-SA 4.0. The kernel, the MAE band construction and the crossover logic are theirs. This script is published under the same licence.
Only the non-repainting, one-sided causal branch was ported. LuxAlgo's script defaults to the repainting branch, which rebuilds its curve inside barstate.islast with a two-sided kernel, so the value at bar i averages bars on both sides of i — including bars that had not happened when i closed. That branch is deliberately absent here. The measured gap between the two is about 21% of the band halfwidth, which is why the repainting version's arrows look cleaner than any live rule can be. The sizing, the rung logic and the position accounting are new.
استراتيجية

TRADLEWARE-DCA+Trend ETF
DCA + Trend: Monthly Contributions with a Bear-Market Exit and Dip-Ladder Re-entry
This strategy treats "putting money in every month" and "managing the pile of money already invested" as two separate jobs. A fixed monthly contribution never stops, even in a bear market — but the accumulated stack gets pulled out entirely when the long-term trend breaks, and put back to work gradually as the market recovers rather than all at once.
The target here is beating plain monthly dollar-cost averaging, not simple buy-and-hold. On broad-market ETFs, which tend to trend upward over long horizons, DCA already captures much of the benefit of buying dips just by staying systematic — a real bar to clear, not a strawman. It's also the one this strategy has consistently cleared across every asset tested so far (see Known limitations for where it falls short of buy-and-hold's raw return instead).
How it works
Every calendar month, a fixed dollar amount is invested, regardless of what the trend is doing — this means fixed dollars buy more shares exactly when the market is cheap, which is the whole point of dollar-cost averaging. Separately, a 200-day SMA acts as a trend filter for the accumulated position: when price closes below it, the entire stack built up so far is sold. When the trend recovers, that money doesn't necessarily go back in all at once — instead it can be split into tranches that buy in stages as price falls further below its prior peak during the bear market, so more of the recovery budget lands at genuinely lower prices instead of guessing the exact bottom.
Entry
Three separate mechanisms add to the position:
Monthly DCA: on the first bar of every calendar month, a fixed dollar amount is invested — by default, this keeps happening even during a bear market (can be turned off to pause contributions below the trend line instead)
Dip-ladder tranches: after a bear-market exit, the re-entry budget is split equally across up to three pieces, regardless of how deep each one triggers — each buys when price falls a further fixed percentage below the running all-time high (15%, 20%, and 30% below, by default) — this uses the all-time high as the reference level specifically because, unlike the moving average, it does not sink during the bear market
Lump sum recovery: any part of the re-entry budget that wasn't already spent by the dip-ladder tranches is deployed in one shot on the first bar the trend recovers
Exit
The entire accumulated position (not the monthly contributions still to come) is sold in full the moment price closes below the 200-day SMA — a trend-broken event, not something that unwinds gradually. An optional "death cross" confirmation (50-day SMA also below the 200-day SMA) can be required before treating a dip as a genuine bear market, which reduces false exits during brief pullbacks.
Parameters
SMA period: 200 days (the trend filter for the exit)
SMA hysteresis band: a dead zone around the SMA, on by default. The regime only flips bullish above SMA×(1+band) or bearish below SMA×(1-band); price sitting between those two lines just holds whatever state it was already in. This filters out marginal SMA crossings that would otherwise trigger an exit and re-entry over a move that never became a real trend break — most such round trips re-buy at close to the same price they sold at, paying costs without capturing anything. Set to 0 to require only a plain SMA cross.
Monthly DCA amount: fixed dollar amount invested on the first bar of each month
Lump re-entry percentage: how much of the value that was sold at the exit gets redeployed on recovery (0 = skip lump entirely and resume monthly DCA only; higher = more of the recovery captured, at the cost of more drawdown if the recovery turns out to be a false one)
Death cross confirmation: off by default; when enabled, requires the 50-day SMA below the 200-day SMA before treating the market as unsafe
DCA during bear regime: on by default; contributions keep buying through the bear market instead of pausing
Dip-ladder toggle and three rung levels (percentage below the running high): default 15%, 20%, 30% below; any rung can be set to 0 to disable it
Whole-share DCA: off by default. A fractional monthly quantity (contribution amount smaller than one share) rounds down to zero on most equity brokers and never fills or fires an alert. Turning this on banks any unspent contribution and carries it to the next month, firing a whole-share order once enough has accumulated
Label offset: how far the buy/sell trade labels sit from the bar, in multiples of ATR(14)
Chart labels
Every fill is marked directly on the chart: a green label below the bar for each buy (tagging which mechanism fired — DCA, LUMP, or RUNG 1/2/3, combined if more than one lands on the same bar) and a red label above the bar for each exit (CRASH EXIT or PERIOD END), showing the blended profit/loss across everything that closed on that bar. Since one crash exit can unwind dozens of separate monthly contributions and dip-ladder buys at once, the P&L shown is the combined result of all of them, not just one trade. Both label types also show the cash left in the account after that fill — useful for keeping an eye on how close the pool is to running dry, since TradingView blocks an order it can't cover and DCA/lump/rung buys stall until the next sale refills it.
Costs modelled
0% commission (typical for US equity brokers), 1 tick slippage, fills at next bar's open.
Intended assets and timeframe
Daily bars, US equity ETFs. Built and tested on MGK specifically, using the settings published as its defaults (death-cross confirmation off, rungs at 15/20/30% below the running high) — that combination is the only one checked end-to-end against a live TradingView run. Seven other broad-market, growth, value, equal-weight, and momentum funds — QQQ, VOO, IVW, IVE, RSP, SPYM, and SPMO — were also tested, each with its own settings rather than MGK's defaults left unchanged, and are very likely to beat plain monthly DCA too: that pattern held without exception on every asset checked so far. Their validated combination is different from what's published here — death-cross confirmation on and wider rungs at 20/30/40% — which is the better starting point if you switch tickers, with QQQ as the one exception even to that (see Known limitations): it pairs better with death-cross confirmation off and the hysteresis band set to 2% instead. Parameter choices matter more than they might look — death-cross on/off, the lump percentage, and the rung spacing have each swung the outcome by a wide margin in testing — so tuning for whichever asset and regime you're actually using, rather than leaving the MGK-tuned defaults unchanged, is worth the effort.
Known limitations
The exit reacts at the next bar's open after the trend breaks, so it lags fast crashes rather than anticipating them. In a slow, grinding bear market, the dip ladder's fixed rungs can all fire and the market can keep falling anyway, leaving a larger paper loss than the version without a ladder — the extra return the ladder aims to capture on recovery is paid for with real, and sometimes severe, worst-case pain during a prolonged decline. Size the lump and rung percentages to a drawdown you could actually hold through, not just a comfortable one. Bear-market DCA contributions can sit on paper losses for a long time before a recovery arrives. Switching to one of the other seven validated funds calls for different settings than the published MGK defaults — see Intended assets and timeframe above. QQQ specifically pairs better with the death-cross confirmation off and the hysteresis band at 2% rather than either of the other two combinations. For VOO, turning death-cross confirmation on is a genuine trade-off rather than a clear-cut fix: it gives a smaller drawdown and better Calmar ratio at the cost of slightly lower return and Sharpe. TradingView's own chart price does not include dividends, so a live TradingView backtest will differ somewhat from a dividend-adjusted one, though trade dates should still match. Over the published defaults' validated window, trade count sits below the sample size usually wanted for stable statistics — treat this as a directional result to build on, not a confirmed edge, until it's been checked over a longer window or across more of the validated assets.
If you already hold a lump-sum position and plan to add ongoing contributions on top of it, don't feed the lump into this strategy's own trading — a crash exit sells everything it holds at once, lump included, and testing found that dragged results down noticeably compared to keeping an existing lump in a separate buy-and-hold position and only running new contributions through this strategy. Even limited to just the ongoing contributions, though, this strategy's trading is not guaranteed to beat simply holding those same contributions — in the scenarios tested so far, plain buy-and-hold of the contributions matched or outperformed running them through the strategy's exit/re-entry logic. Treat this as a tool for managing how an existing trend-following thesis gets traded, not as a proven improvement over doing nothing.
استراتيجية

Adaptive Trend Direction Indicator [ATR Trail + Regime]Adaptive Trend Direction
WHAT IT DOES
Adaptive Trend Direction is a trend-following state indicator. It answers three questions on every bar: which way is the trend pointing, is the market currently orderly enough for a trend signal to be worth taking, and where is the level that would invalidate that view.
The core is an ATR trailing stop that flips between a bullish and a bearish state. On its own a trailing stop flips constantly in choppy conditions, which is the well-known failure mode of every trend follower. This script's purpose is to gate those flips behind a two-factor regime test, so that the flips which occur inside directionless price action are marked as such instead of being presented as trend signals.
HOW IT WORKS
ATR trailing stop. A stop is placed one ATR-multiple away from the close (default ATR 23, multiplier 3.0). While the state is bullish the stop only ratchets upward; while bearish it only ratchets downward. A close beyond the stop flips the state and the stop jumps to the opposite side of price. The state flip is the raw directional signal.
Regime detection — ADX plus Efficiency Ratio. Two independent measures must agree before the market counts as trending. ADX (default period 10) must exceed its threshold (default 21), measuring directional strength. Kaufman's Efficiency Ratio must exceed its threshold (default 0.15), calculated as the absolute net move over N bars divided by the sum of the absolute bar-to-bar moves over the same window — a value near 1 means price travelled in a straight line, a value near 0 means it covered the same ground repeatedly. ADX can rise on volatile chop; the Efficiency Ratio cannot. Requiring both is what filters out that case.
Hysteresis. The regime does not flip the moment the two tests agree. It requires N consecutive confirming bars (default 3) before switching, in either direction. This stops the regime label from oscillating bar to bar around the thresholds, which would otherwise reintroduce the exact noise the filter is meant to remove.
RSI momentum filter. A directional flip is only accepted if RSI confirms it — above the long threshold for longs, below the short threshold for shorts. The defaults (48 long, 43 short) sit close to the midline, so this rejects flips that occur against prevailing momentum rather than demanding an extreme reading.
Signal end conditions. An open directional signal is marked as finished on whichever comes first: an opposing trailing-stop flip, an EMA slope reversal against the signal (optional, off by default), or a maximum bar count (default 140) that retires a signal which has gone nowhere.
Optional mean-reversion mode. When the regime is ranging, the default behaviour is to stand aside — no signals are generated. Setting "Ranging Mode" to 1 instead generates counter-trend signals from RSI extremes (default below 30 / above 70) with ATR-based take-profit and stop levels drawn on the chart. This is opt-in because it is a different premise from the rest of the script and should be evaluated separately.
WHAT YOU SEE ON THE CHART
Trailing stop line, green in the bullish state and red in the bearish state.
Background tint: green while the regime is trending, amber while ranging.
Triangles mark trend signals, circles mark mean-reversion signals, crosses mark where a signal ends.
Bars are tinted while a signal is active, so the held periods are visible at a glance.
A label at the end of each signal shows the percentage move over that leg, with a tooltip giving entry, exit, end reason and bars held. This is a measurement of the price move between two chart events. It is not a return, and it accounts for no costs.
A dashboard reports ATR, stop level, direction, RSI, EMA slope, regime with live ADX/ER values, current signal state, and which components are switched on.
SIZING READ-OUT
The dashboard also reports a volatility-normalised exposure figure: leverage that scales inversely with recent ATR so that a fixed percentage of a reference account is at risk regardless of how volatile the market currently is, clamped between a floor and a ceiling. Setting the vol target to 0 switches to a stop-distance-based calculation instead. This is informational only. It gates no signal, and the reference account size affects only the displayed units — the leverage figure itself is independent of it.
WHY THIS IS AN INDICATOR AND NOT A STRATEGY
The script tracks an internal long/short/flat state so the chart can colour bars and measure each leg, but it submits no orders and produces no Strategy Tester report. That is intentional. Fill assumptions, funding and leverage modelling on a leveraged instrument dominate any backtest of a system like this, and a tester report would imply a precision the model does not have. What is shown here is the signal logic and the price move between signals, which is what can be verified directly on the chart.
SETTINGS AND USAGE NOTES
The defaults were fitted by a parameter search on a single market and timeframe (BTC on a 6-hour chart). They are a starting point for that context, not universal values, and there is no reason to expect them to transfer unchanged to other symbols or timeframes — the ATR multiplier and the regime thresholds in particular are the ones to revisit first. The volatility estimate used by the sizing read-out assumes roughly a 6-hour bar; on other timeframes it should be recalibrated.
Every component has an independent toggle, so the contribution of each can be isolated: turn the regime filter off to see the raw trailing-stop flips, then turn it back on to see which ones it removed. Signals are evaluated on bar close.
Alerts are available for signal start and signal end, in plain text or as a JSON body for programmatic consumers.
LIMITATIONS
This is a trend-following model. It will give back open gains at every reversal, because the exit is a trailing stop rather than a target. It will produce clustered false flips at regime boundaries, since the confirmation delay lags a genuine turn by design. The mean-reversion mode takes positions against the prevailing move and behaves very differently from the trend mode. Signal-leg percentages shown on the chart exclude commission, slippage and funding.
Published open-source. Not financial advice, not a recommendation to trade any instrument, and nothing here is a forecast. Test it yourself before relying on it. مؤشر

Supertrend Confirmed Close | forexs# Supertrend Confirmed Close
Supertrend Confirmed Close is an open source modification of the classic ATR based Supertrend indicator. Its main purpose is to confirm trend reversals only after the current bar has closed, so temporary intrabar crossings do not create confirmed Buy or Sell signals.
## How it works
The indicator builds trailing volatility bands from Average True Range and a user selected price source.
Default settings:
ATR Period: 10
ATR Multiplier: 3.0
Source: HL2
ATR Method: Wilder ATR
An SMA of True Range can also be selected as an alternative ATR calculation.
During a bullish state, the lower Supertrend band trails price. During a bearish state, the upper Supertrend band trails price.
A bullish reversal is confirmed when the previous trend state is bearish and a completed bar closes above the previous bearish Supertrend band.
A bearish reversal is confirmed when the previous trend state is bullish and a completed bar closes below the previous bullish Supertrend band.
## What is different in this version
This implementation adds explicit closed bar confirmation to the reversal logic. The trend state, Buy signal, Sell signal, and direction change alerts are not confirmed until the bar is complete.
It also includes an optional "Freeze Supertrend Line Until Candle Close" setting. When enabled, the displayed active Supertrend line remains at its previous confirmed value while the realtime bar is forming, then updates when the bar closes.
Other additions include Pine Script v6 compatibility, organized inputs, optional trend change circles, trend highlighting, and separate alert conditions for bullish, bearish, and any confirmed direction change.
## Signals and alerts
BUY marks a confirmed change from a bearish Supertrend state to a bullish Supertrend state.
SELL marks a confirmed change from a bullish Supertrend state to a bearish Supertrend state.
These labels describe the indicator's trend state. They are not forecasts or guarantees of future price direction.
Alert conditions are provided for confirmed Buy, confirmed Sell, and confirmed direction changes. Users may also select TradingView's Once Per Bar Close frequency when creating an alert.
## Settings
Users can adjust the ATR period, ATR multiplier, source, and ATR calculation method. Buy and Sell labels, trend change circles, trend highlighting, and realtime line freezing can also be enabled or disabled.
## Limitations
Supertrend is a trend following method. In sideways or choppy markets it can change direction frequently and produce false or late signals.
Closed bar confirmation intentionally waits until the bar is complete. This avoids treating temporary intrabar crossings as confirmed reversals, but it can also make signals occur later than an intrabar implementation.
ATR settings materially affect sensitivity. Different symbols, market conditions, and timeframes can produce different behavior.
This indicator does not include position sizing, stop loss rules, profit targets, trade management, or performance guarantees. It should not be treated as a complete trading system.
For signal based use, apply it to standard price charts such as regular candles or bars rather than synthetic chart types whose prices do not represent directly traded market prices.
## Credits and open source reuse
This script reuses and modifies the open source SuperTrend implementation published by TradingView author KivancOzbilgic. That publication also credits everget, Alex Orekhov, for inspiration related to highlighting, signals, and alerts.
The reused Supertrend logic is credited here in accordance with TradingView's open source reuse requirements. This modified publication should remain open source unless the necessary permission for another publication mode has been obtained from the original author.
## Disclaimer
This indicator is provided for technical analysis and educational purposes only. It is not financial or investment advice. No signal or indicator can guarantee a profitable outcome.
مؤشر

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
استراتيجية

Alpha S/R Channel StrategyAlpha S/R Channel Strategy (ASRC)
Mean-reversion strategy trading pullbacks to a dynamic Higher Timeframe EMA channel. Confirms exhaustion via Engulfing & Pin Bar patterns, with Pin+Engulf combo overriding trend filters to capture institutional liquidity grabs. Features optional RSI, BB width, and inverted Squeeze Momentum filters. Includes adaptive position sizing, partial TP, breakeven stops, session trade limits, no-trade windows, day/weekend close, and Friday trading control.
📌 Strategy Overview
Alpha S/R Channel Strategy is a dual‑timeframe mean‑reversion strategy that identifies high‑probability reversal setups by combining a dynamic channel derived from a Higher Timeframe EMA with high‑conviction candlestick patterns (Engulfing and Pin Bar).
The strategy waits for price to retrace to a dynamic value area (the channel) and confirms exhaustion through candlestick patterns before entering—capturing pullbacks within the prevailing trend while avoiding counter‑trend trades.
🧠 Unique Edge – Why This Mashup Works
Most trend‑following strategies chase breakouts and get caught in false moves. Most engulfing strategies ignore the bigger picture and enter too early. This strategy solves both problems by combining these components in a specific sequence:
1. Dynamic EMA Channel (The Value Area)
Instead of using static support/resistance, the strategy constructs a dynamic channel around a Higher Timeframe EMA. The channel width adapts to volatility using three modes:
- Percentage – width as % of current price.(price * (channelWidthPct / 100) )
- ATR Multiplier – width based on ATR from the Higher Timeframe.
- Fixed – static price distance.
Why this matters: The HTF EMA represents the "fair value" or equilibrium price. When price pulls back to this zone, it's statistically more likely to resume the trend rather than reverse.
-------------------------------------------------------------------
2. Channel Break + Candlestick Confirmation (The Trigger)
The strategy enters only when price returns to the channel AND shows exhaustion:
- Bullish Engulfing – Current green candle engulfs previous red/small green candle
- Bearish Engulfing – Current red candle engulfs previous green/small red candle
- Pin Bar + Engulfing Combo – Pin bar sweeps recent high/low and is followed by an engulfing pattern
Why this matters: The channel provides the context (where price should reverse). The candlestick patterns provide the confirmation (that reversal is actually happening). Using both drastically reduces false signals.
-------------------------------------------------------------------
3. Optional Multi‑Layer Filters (The Quality Control)
The strategy includes configurable filters that can be enabled/disabled:
1- EMA Lower TF – Ensures micro‑trend alignment (longs above EMA, shorts below)
However, there is a critical override:
🔄 Pin Bar + Engulfing Combo OVERRIDES the EMA Confirmation
When a Pin Bar sweeps the N‑bar high/low (proving a breakout attempt failed) and is immediately followed by an Engulfing pattern on the next candle, this combo represents a "double confirmation" of exhaustion that bypasses the EMA filter.
Why this is a breakthrough:
Strong institutional reversals (liquidity grabs) often happen against the short‑term EMA trend. A pure trend‑following strategy with a strict EMA filter would miss these reversals because price is moving against the EMA.
2- Higher Timeframe EMA – Ensures long‑term trend alignment
This acts as a "trend filter on top of the trend filter" – preventing entries that go against the even larger market structure. Users can select a separate timeframe (e.g., 1H) with its own EMA length for additional confirmation.
3- RSI – Prevents buying above 70 and selling below 30
4- Bollinger Bands – Blocks entries during low volatility (sideways markets)
5- Squeeze Momentum – This strategy uses an inverted Squeeze Momentum logic:
"val < 0 → Longs allowed, Shorts blocked"
"val > 0 → Shorts allowed, Longs blocked"
"val == 0 → Both allowed"
This inversion is intentional. The strategy is mean‑reversion based—it waits for momentum to become overextended and then trades against that momentum
These filters are optional because different assets and market conditions require different levels of confirmation. The user has full control.
-------------------------------------------------------------------
4. Comprehensive Risk Management
The strategy includes:
- Position Sizing – Fixed percentage of equity per trade (separate for first and second entry)
- Pyramiding – Allows up to 2 positions in the same direction (second trade uses lower risk)
- Multiple SL Options – Low-High, Swing high/low, Channel, Fixed distance
- Trade Counter Reset – Resets at session starts for scalping timeframes, daily for swing
- No‑Trade Windows – Blocks entries during end‑of‑day volatility (active only for TF ≤ 15m)
- Day/Week End Closing – Closes positions before gaps (configurable by timeframe)
- Partial Take Profit – Closes a configurable percentage (default: 50%) at a specified R:R ratio (default: 1:2), allowing the remainder to run to the full target (default: 1:3)
- Breakeven Stop – Optionally moves the stop loss to breakeven when the first TP level is reached, protecting the remaining position from turning into a loss
Why this matters: The risk controls ensure survivability across different market conditions. Also Breakeven protection reduces the risk of winning trades turning into losers.
-------------------------------------------------------------------
📊 How It Works
1. Dynamic Channel Calculation
The strategy constructs a channel around an Exponential Moving Average (EMA) from a selected Higher Timeframe:
- EMA – Calculated on the Higher Timeframe
- Channel Width – Adaptive based on volatility (Percentage, ATR, or Fixed)
- Upper Band = EMA + (Width / 2)
- Lower Band = EMA - (Width / 2)
Channel Width Modes:
- Percentage – Width = Price × (User‑defined %)
- ATR Multiplier – Width = ATR(14) × Multiplier
- Fixed – Width = Static distance
-------------------------------------------------------------------
2. Entry Signal Detection
Trades are executed on the Lower Timeframe (default: 5m) when all conditions are met:
Pattern Requirements (One of the following):
- Bullish Engulfing: Current green candle completely engulfs previous bearish or small green candle
- Bearish Engulfing: Current red candle completely engulfs previous bullish or small red candle
- Pin Bar + Engulfing Combo: Pin bar sweeps recent high/low AND is followed by engulfing pattern (Overrides LTF EMA)
# Engulfing Filters:
Body Only – Only bodies must engulf (not full range)
Min/Max Range – Configurable via Percentage, ATR, or Fixed
Gap Allowance – Controls how much gap is allowed in the wrong direction
Previous Range % – Limits the size of the prior candle when it's in the same color
# Pin Bar Detection:
- Wick/Body Ratio (default: 3.0) – Wick must be 3× larger than body
- Max Body/Range (default: 0.20) – Body must be ≤20% of total range
- Min Wick/Range (default: 0.70) – Wick must be ≥70% of total range
- Sweep Lookback (default: 10 bars) – Pin bar must sweep a recent high/low
Min Pin Bar Range % – Pin bar must meet a minimum size threshold
# Channel Proximity:
Price must be within the channel boundaries (open inside)
-------------------------------------------------------------------
3. Confirmation Filters (All Optional)
- Lower Timeframe EMA : Longs require price > EMA; Shorts require price < EMA (overridden by Pin+Engulf combo)
- Higher Timeframe EMA : Ensures long‑term trend alignment (longs above HTF EMA, shorts below)
- RSI : Prevents longs above 70; Prevents shorts below 30
- Bollinger Bands : Blocks entries when BB width < threshold (low volatility)
- Squeeze Momentum : Ensures momentum matches trade direction (inverted logic)
-------------------------------------------------------------------
4. Risk & Position Management
# Position Sizing:
- First Trade – Fixed % of equity (default: 2%)
- Second Trade – Separate % of equity (default: 1%)
- Position size = (Account Risk) / (Entry – SL Distance)
# Friday Trading:
- Allow Friday Trading (default: Disabled) – When disabled, no new trades will be opened on Fridays. Existing positions are not affected. This helps avoid weekend gap risk as markets close for the week.
# Stop‑Loss Options:
1- Low-High : Entry bar low/high ± buffer
2- Swing high/low : N-bar low/high ± buffer
3- Channel : Channel band ± buffer
4- Fixed distance : Fixed price distance from entry
# Take Profit:
- Main R:R ratio (default: 1:3)
- Separate R:R for second trade (default: 1:3)
# Trade Counter Reset:
TF ≤ 15m – Resets at Asia (20:00 NY), London (03:30 NY), New York (09:30 NY)
TF > 15m – Resets once per day at session start
# No‑Trade Window:
- Active only for TF ≤ 15m (16:45–19:05 NY time)
- Protects against end‑of‑day volatility spikes
# Close All Positions:
- TF ≤ 15m – Can close at day end and/or week end (configurable)
- 15m < TF ≤ 240m – Week end only
- TF > 240m – Feature disabled
# Entry Spacing:
- Minimum Bars Between Entries (default: 4) – Prevents multiple entries on the same bar or too close together, reducing the impact of whipsaw on tightly clustered signals
⚙️ Default Settings – Optimized for XAUUSD (Gold)
All default values have been specifically calibrated for Gold's typical volatility and intraday structure.
Setting \ Default \ Why This Works for Gold
-----------------------------------------------------------------------------------
Higher Timeframe \ 15m \ Gold's intraday rhythm operates on 15‑minute cycles. This timeframe captures the balance between institutional order flow and retail noise.
-----------------------------------------------------------------------------------
EMA Length \ 36 \ approximately one full trading session. This captures the dominant intraday trend without excessive lag.
-----------------------------------------------------------------------------------
Channel Width Mode \ Percentage \ Gold's price levels change over time. Percentage mode ensures the channel scales with price, maintaining consistent relative width regardless of Gold's price level.
-----------------------------------------------------------------------------------
Channel Width \ 0.35% \ Gold's daily range averages $30–$100. At current prices, 0.35% = approximately $113–$16. This width captures ~70% of Gold's daily volatility, creating a meaningful "value zone" that filters noise while remaining relevant.
-----------------------------------------------------------------------------------
Lower Timeframe \ 5m \ Fast enough to capture entry signals within the same session, slow enough to filter out micro‑noise. 5m is Gold's "sweet spot" for intraday entries.
-----------------------------------------------------------------------------------
Engulfing Mode \ Percentage \ Adapts to Gold's volatility. As Gold's price moves, the required engulfing range scales proportionally—ensuring consistent pattern quality.
-----------------------------------------------------------------------------------
Engulfing Min Range \ 0.098% \ At Gold's current price3000-5000, this ≈ $3.0–$5.0. Anything smaller is just market noise, not a meaningful reversal signal.
-----------------------------------------------------------------------------------
Engulfing Max Range \ 0.550% \ At Gold's current price, this ≈ $20–$25. Larger candles are often blow‑off spikes driven by news —they tend to reverse violently, making them poor entry points.
-----------------------------------------------------------------------------------
Previous Range % \ 0.60 \ Allows the prior candle to be up to 60% of the engulfing candle's range. This is Gold's "consolidation before reversal" pattern—a small same‑color candle before a large reversal candle.
-----------------------------------------------------------------------------------
Gap Allowance \ 250 ticks \ Gold's typical spread and gap behavior. (250 ticks = $0.250 However, tick values vary between brokers), which accommodates normal gaps without allowing extreme invalid gaps.
-----------------------------------------------------------------------------------
Pin Bar Sweep \ 10 bars \ On a 5m chart, 10 bars = 50 minutes. Gold's liquidity grabs often occur within a 30–60 minute window. 10 bars captures these recent liquidity zones without looking too far back.
-----------------------------------------------------------------------------------
Pin Bar Range % \ 0.70 \ Requires the pin bar(high-low) to be at least 70% of the minimum engulfing range. This ensures the pin bar has enough size to be meaningful—rejecting tiny pin bars that lack conviction.
-----------------------------------------------------------------------------------
Risk per Trade (1st) \ 2% \ Gold experiences 3–5 trade losing streaks regularly. 2% risk ensures that a typical losing streak results in only 6–10% drawdown—recoverable with a few winning trades.
-----------------------------------------------------------------------------------
Risk per Trade (2nd) \ 1% \ When pyramiding, total exposure increases. 1% on the second trade limits worst‑case loss to -3% total (2% + 1%), protecting the account during false reversals.
-----------------------------------------------------------------------------------
Risk:Reward \ 1:3 \ Gold routinely moves 1.5–2× its ATR in a single directional push. A 1:3 target (e.g., $15 on a $5 stop) is well within Gold's typical daily range—achievable without being overly ambitious.
-----------------------------------------------------------------------------------
Stop‑Loss Reference \ Channel \ Aligns the stop with the value area. If price breaks beyond the channel, the mean‑reversion thesis is invalidated. This is the most logical stop placement for this strategy.
-----------------------------------------------------------------------------------
Stop‑Loss Buffer \ 500 ticks \ 500 ticks = ($0.50 ) on Gold. However, tick values vary between brokers so The table on chart will display and show the calculated dollar value. This provides a safety buffer against spread, slippage, and normal wicks—preventing premature stops while keeping the stop within the value area.
-----------------------------------------------------------------------------------
Partial TP & Breakeven \ Disabled (50%, 1:2) \ Optional features that allow locking in partial profits and protecting positions once they move in your favor. Recommended to enable after forward testing.
-----------------------------------------------------------------------------------
No‑Trade Window \ Enabled \ 16:45–19:05 NY time captures the end‑of‑day volatility spike. Gold often experiences erratic moves during this period as institutional traders close positions.
-----------------------------------------------------------------------------------
Day End Close \ Enabled \ Gold gaps frequently at the daily open (5:00 PM NY). Closing before day end avoids these gaps, which can easily stop out tight positions.
-----------------------------------------------------------------------------------
Week End Close \ Enabled \ Gold is highly sensitive to weekend news (geopolitics, central banks). Gaps of $20–$50+ are common at Sunday open. Closing before Friday close is essential.
-----------------------------------------------------------------------------------
EMA Lower TF \ Enabled \ Ensures entries align with the 5m micro‑trend. However, the Pin+Engulf combo overrides this filter to capture institutional reversals against the trend.
-----------------------------------------------------------------------------------
Higher TF EMA \ Enabled (1H, 55) \ Provides an additional layer of trend confirmation at the macro level. The 1H 55‑EMA acts as a reliable gauge of the broader intraday trend, preventing entries against strong momentum.
-----------------------------------------------------------------------------------
RSI \ Enabled length(14) \ Prevents buying when Gold is overbought (RSI > 70) and selling when oversold (RSI < 30). Gold's sharp spikes often create extreme RSI readings—this filter avoids chasing exhausted moves.
-----------------------------------------------------------------------------------
Bollinger Bands \ Enabled \ locks entries during low volatility (BB width < 0.002). Gold sometimes enters tight consolidation ranges (BB width < 0.002) where engulfing patterns fail. This filter avoids trading in these conditions.
-----------------------------------------------------------------------------------
Squeeze Momentum \ Enabled \ This is inverted from standard SQZMOM. Gold's momentum often overshoots before reversing. By fading the extreme (longs when val < 0, shorts when val > 0), the strategy captures the reversal rather than chasing the continuation.
-----------------------------------------------------------------------------------
# Important Notes on Backtest Realism
- Commission – Most ECN/raw-spread brokers charge $3.00–$3.50 per side (round-turn commission of $6.00- $7.00) for 1 standard lot (100 oz) of XAUUSD. Standard accounts usually build the fee into a wider spread instead of charging a separate cash. This strategy deducts $3.50 per entry and $3.50 per exit ($0.035 × 100 oz)round-turn commission of $7.00. Adjust this to match your broker's exact fees.
- 4 ticks Slippage – For XAUUSD on OANDA, 1 tick = $0.001** per ounce (3 decimal places). 4 ticks = **$0.004 per ounce. Adjust this value if your broker quotes XAUUSD with different decimal precision (e.g., 2 decimal = $0.01 per tick).
Always adjust the commission value to your broker's exact fee structure before relying on the results.
"A backtest without realistic commission and slippage is a fantasy. A backtest with realistic commission and slippage is a truthful reflection of what you can expect when trading live."
-------------------------------------------------------------------
📊 Chart Display
Channel – Upper/Lower bands with a semi‑transparent fill (red zone), representing the value area
EMA Lower TF – Green EMA on the lower timeframe for confirmation
HTF EMA Filter – Red EMA line showing the additional trend filter (plotted on all timeframes ≤ its TF)
Info Table – Shows Market Status, EMA confirmations, Channel Width, Engulfing ranges, SL settings,
Filters, No‑Trade Window status, Session Close status
Signal Arrows – Green arrow pointing up (below bar) for Long entries, Red arrow pointing down (above bar) for Short entries
Historical Trades – Configurable number of past trades to display on the chart (default: 111, max: 125). Adjust this to optimize chart performance while keeping sufficient trade history for visual analysis.
Reset Signal – Arrow marker (grey) indicating when the trade counter resets at session starts (Asia, London, New York for TF ≤ 15m, or daily for larger TFs)
Background Colors – red for No‑Trade Window, Gray/White for Session Close
UI Note
# When you adjust any setting in the Inputs tab (Channel Width, Engulfing Min/Max, Previous Range, SL Buffer, etc.), the values displayed in the info table update automatically in real‑time.
This allows you to:
- See the impact of your changes immediately
- Verify the actual dollar values of your settings at current price levels
- Fine‑tune parameters without switching between tabs
Example: If you change the Channel Width from 0.35% to 0.50%, the info table will instantly show the new width in dollars (e.g., $8.50 → $12.00).
# Inputs are hidden from the status line to keep the chart clean. All settings (zones, EMAs, risk, patterns) remain fully adjustable in Settings → Inputs tab.
-------------------------------------------------------------------
📌 In Summary:
This is not a random collection of indicators.
- The HTF EMA Channel provides the structural context – a dynamic value area that adapts to volatility.
- The Engulfing/Pin Bar patterns provide the high‑conviction trigger – exhaustion confirmation.
- The EMA Override provides the institutional edge – capturing liquidity grabs that standard EMA‑based strategies miss.
- The Optional Filters provide the quality control – reducing false signals.
- The Risk Management provides the survivability – realistic position sizing and stops.
Each component exists specifically to compensate for a flaw in the others. This interdependency is what makes the strategy original, robust,
Author: Awab_Hassan
استراتيجية

Triple Supertrend Confluence [MarkitTick]💡 A triple-layer Supertrend confluence system that fuses adaptive volatility bands, multi-timeframe bias, momentum strength, volume conviction, and a cooldown throttle into a single, high-confidence trend signal — then automates the entire trade plan around it with ATR-scaled stop-loss and three staged take-profit levels.
✨ Originality and Utility
Most Supertrend implementations on the platform are single-instance: one ATR period, one multiplier, one line. This script restructures the classic Supertrend into a voting system. Three independently parameterized Supertrend instances (a primary "core" trend and two auxiliary "fast" and "slow" trackers) are calculated in parallel from the same underlying price source, and a signal is only treated as valid when a configurable number of these instances agree on direction. This confluence layer is what separates the tool from a standard Supertrend plot — it is designed to filter out the single biggest weakness of trend-following overlays: getting whipsawed by a solitary indicator flipping on marginal price action.
On top of the consensus layer, the script lets traders stack up to four independent, optional confirmation filters (trend strength via ADX/DMI, higher-timeframe directional bias, relative volume, and a bar-count cooldown) before a signal is considered "confirmed." Each filter can be toggled independently, so the tool scales from a bare-bones single Supertrend up to a fully gated, multi-condition trend-following system. A real-time dashboard keeps every filter's pass/fail state visible at a glance, and an automated trade-planning layer converts each confirmed flip into a structured entry/stop/three-tier-target plan, plotted directly on the chart and exposed through webhook-ready JSON alert payloads.
🔬 Methodology and Concepts
• Core Supertrend Engine
The underlying trend engine follows the standard Supertrend construction: an ATR-derived envelope is built around a price source, with an upper band (source plus a multiple of ATR) and a lower band (source minus a multiple of ATR). These bands are "ratcheted" bar to bar — the lower band can only rise or reset if price closes below the prior lower band, and the upper band can only fall or reset if price closes above the prior upper band. The active trend line switches between the lower band (uptrend) and upper band (downtrend) whenever price closes through the opposite band, producing the familiar stepped Supertrend line. This engine is reused three times with different parameters to build the confluence system described below.
• Adaptive Source Smoothing
Rather than feeding raw HL2 price directly into the Supertrend engine, the script offers eight optional smoothing methods to pre-condition the source: Simple, Exponential, and Wilder's Moving Averages; a Double-Pass Weighted Moving Average; a Triple-Pass Volume-Weighted Moving Average; a Hull Moving Average; a custom slope-adjusted average (LLAMA) that blends a simple mean with a linear slope projection over the lookback window; and a single-state Kalman Filter that recursively updates an estimate and its error covariance bar by bar to produce a noise-adaptive average. Smoothing the source before it reaches the Supertrend calculation reduces false flips caused by single-bar noise spikes, at the cost of some responsiveness.
• Adaptive Volatility Factor
Instead of using a fixed ATR multiplier for the core Supertrend band width, the script can compute a percentile rank of current ATR against its own recent history (a lookback window of your choosing). This rank is then mapped linearly onto a user-defined minimum/maximum multiplier range. In practice, this means the band automatically widens during historically high-volatility regimes (reducing whipsaw) and tightens during historically low-volatility regimes (increasing sensitivity), rather than using one static multiplier across all conditions.
• Triple Consensus Voting
Two additional Supertrend instances — a faster-reacting pair (shorter ATR length, smaller multiplier) and a slower-reacting pair (longer ATR length, larger multiplier) — run alongside the core engine on the same smoothed source. When consensus mode is enabled, a signal is only marked confirmed if at least two of the three instances (including the core) agree on direction. This is a simple majority-vote filter designed to suppress signals that are specific to one particular band setting rather than representative of the broader trend structure.
• ADX / DMI Trend Strength Filter
An optional Average Directional Index filter, calculated using Wilder's Directional Movement methodology, requires ADX to be at or above a user-defined threshold before a flip is confirmed. This is a standard technique for distinguishing genuine directional moves from choppy, non-trending price action, since Supertrend-style systems are known to underperform in low-ADX ranging conditions.
• Higher-Timeframe Bias Filter
An optional filter pulls the trend direction of the same Supertrend engine calculated on a higher, user-selected timeframe, and only confirms a signal if it aligns with that higher-timeframe bias. The higher-timeframe value is read from the prior, fully closed bar on that timeframe to avoid any intra-bar recalculation, ensuring the filter reflects only confirmed historical structure rather than an in-progress bar.
• Volume Confirmation Filter
An optional filter compares current bar volume against its own moving average, requiring volume to exceed the average by a user-defined multiple before a signal is confirmed. This is a simple conviction check: trend changes accompanied by above-average participation are treated as more reliable than those occurring on thin volume.
• Cooldown Guard
An optional bar-count throttle prevents a new confirmed signal in the same direction as a recent prior signal if too few bars have elapsed since that prior signal within the same directional segment, reducing rapid re-signaling during choppy transition periods.
• Confirmation Lag Notice
All confirmation logic (consensus vote, ADX filter, HTF bias, volume filter, cooldown guard) and the resulting BULL/BEAR labels, alerts, and trade-level plotting are evaluated strictly on confirmed, closed bars using barstate.isconfirmed. This means every signal displayed or alerted is final and will not repaint once printed. However, users should be aware that a signal is only confirmed one bar after the actual Supertrend flip occurs, since the confirmation checks (particularly the higher-timeframe bias filter) require a fully closed bar to evaluate safely. This introduces a small, deliberate one-bar lag between the raw trend flip and the confirmed signal in exchange for eliminating repainting.
• Automated Trade Level Engine
On every confirmed flip, the script calculates a full trade plan from the entry price (the confirmed close), an ATR-scaled stop-loss (a user-defined multiple of ATR away from entry), and three take-profit levels defined as user-configurable risk:reward multiples of the initial stop distance. These levels are drawn as extending lines and labels, with shaded risk and reward zones between them, and refresh automatically on each new confirmed signal unless the signal is manually locked.
🎨 Visual Guide
Stepped trend line (color reflects the Up/Down Color inputs): traces the active Supertrend band. It plots along the lower band while price is in an uptrend and the upper band while price is in a downtrend.
Muted/gray trend line: when a filter is active but not yet satisfied, the trend line temporarily switches to the Unconfirmed Color to signal that the raw trend has flipped but confirmation is still pending.
Soft background fill (Up Fill / Down Fill colors): a translucent shaded region behind price reinforcing the current trend direction.
Heatmap candles: when enabled, candle bodies and wicks are recolored using the Heatmap Up/Down colors to match the current trend direction, offering an at-a-glance visual of trend state independent of the line itself.
"BULL" / "BEAR" labels: printed below or above the bar respectively, only on confirmed flips that pass every active filter.
Gray cooldown background: a shaded band that appears across the chart while the Cooldown Guard is actively suppressing new signals.
Trade level lines: a solid red Stop-Loss line, a dashed blue Entry line, and three dashed teal Take-Profit lines (TP1 lightest, TP3 most opaque), each extending to the right of the current bar with a price label attached, shown only when Show Trade Levels is enabled.
Shaded risk/reward zones: a light red fill between Stop-Loss and Entry (the risk zone) and a light teal fill between Entry and TP3 (the reward zone).
On-chart dashboard table: displays symbol/timeframe, Lock status, current Trend direction, Confirmed state, ADX value with a color-coded strength percentage, active Adaptive Filter type, Consensus vote count, HTF Bias direction and pass/fail, Volume filter pass/fail, and remaining Cooldown bars — all updating on the most recent bar.
📖 How to Use
Use the stepped trend line and background fill as the primary trend read: price above the line with an up-colored fill suggests an uptrend context; price below with a down-colored fill suggests a downtrend context.
Treat a "BULL" or "BEAR" label as the actionable signal rather than the raw line flip — labels only appear once every enabled filter has passed, meaning the signal has already been screened for trend strength, higher-timeframe alignment, volume conviction, and cooldown status.
If the trend line is showing the Unconfirmed Color, the underlying trend has technically flipped but is still waiting on one or more active filters — treat this as a "watch" state rather than a trade trigger.
Check the dashboard on each new bar to see exactly which filter(s) are passing or failing before a signal can confirm; this is useful for understanding why an expected signal did not appear.
When Show Trade Levels is enabled, use the plotted Stop-Loss, Entry, and TP1/TP2/TP3 lines as a starting reference for structuring a trade around a confirmed signal — adjust position sizing and targets to your own risk tolerance.
Enable Lock Signal to freeze the current trade-level plot in place (useful for screenshots or reviewing a specific setup) without it being overwritten by a new signal.
The JSON alert payloads are formatted for direct use in webhook-based automation, carrying action, ticker, timeframe, direction, and price fields for long entries, short entries, and their corresponding close-position triggers.
⚙️ Inputs and Settings
ATR Len / Factor: the ATR lookback and multiplier for the core Supertrend engine; higher Factor values produce a looser band and fewer, larger-magnitude signals.
Adaptive Factor (and Min/Max/Rank Len): when enabled, replaces the fixed Factor with a volatility-percentile-driven multiplier that ranges between Factor Min and Factor Max based on where current ATR sits within its own recent history.
Use ADX Filter / ADX Threshold / ADX Length: gates signal confirmation on trend strength; raise the threshold to demand stronger directional conviction before confirming.
Adaptive Filter / Adaptive Filter Len: selects the source-smoothing method applied before the Supertrend calculation, and its lookback length.
Use HTF Confluence / HTF: requires the selected higher timeframe's own Supertrend direction to agree before confirming a signal.
Use Volume Filter / Volume Avg Len / Volume Mult: requires current volume to exceed its moving average by the given multiple before confirming.
Use Cooldown Guard / Cooldown Bars: suppresses new same-direction signals for a set number of bars following a recent prior signal in the same directional segment.
Use Triple Consensus / Fast Factor / Fast ATR Len / Slow Factor / Slow ATR Len: enables the majority-vote filter and configures the auxiliary fast and slow Supertrend instances used to build consensus.
Lock Signal: freezes the currently plotted trade levels, preventing them from updating on a new signal.
Show Trade Levels: toggles the automated Entry/SL/TP1-3 line and label plotting.
SL ATR Mult: the ATR multiple used to place the stop-loss distance from entry.
TP1/TP2/TP3 R:R: the risk:reward multiples used to place each take-profit level relative to the stop distance.
Heatmap Candles / BULL-BEAR Labels / Show Dashboard / Position: visual display toggles and dashboard placement.
Long/Short/Close Long/Close Short Action: customizable string values embedded in the JSON alert payload's "action" field, for mapping to specific webhook automation commands.
🔍 Deconstruction of the Underlying Scientific and Academic Framework
• Volatility-Based Trend Following (Supertrend / ATR Envelopes)
The core engine descends from the broader family of volatility-adjusted trend-following bands, which use Average True Range (a measure of typical price movement magnitude popularized by J. Welles Wilder) to scale a trailing stop-and-reverse line to prevailing market volatility rather than a fixed price distance. The ratcheting band logic ensures the line never moves against the prevailing trend, which is the defining mechanical property of a trailing-stop-style trend system as opposed to a simple moving average crossover.
• Percentile Ranking for Regime Adaptation
The adaptive factor mechanism applies percentile rank normalization — expressing current ATR as its standing relative to a distribution of its own recent historical values — as a way of contextualizing volatility without relying on a fixed absolute threshold, which allows the same logic to be meaningfully applied across instruments and timeframes with very different baseline volatility levels.
• Ensemble / Majority-Vote Filtering
The Triple Consensus mechanism is a straightforward application of ensemble logic: combining multiple independent estimators (in this case, differently parameterized instances of the same underlying model) and requiring agreement among a majority before acting. This is a well-established technique for variance reduction in signal processing and forecasting contexts, on the premise that independent estimators are less likely to agree by chance during noise-driven, non-trending conditions than during genuine directional moves.
• Wilder's Directional Movement / ADX
The ADX filter is drawn directly from J. Welles Wilder's Directional Movement System, which decomposes price movement into positive and negative directional components and derives a smoothed index (ADX) representing trend strength independent of direction. ADX below common threshold levels is widely associated with range-bound, non-trending conditions in technical analysis literature.
• Recursive State Estimation (Kalman Filtering)
The optional Kalman Filter smoothing method applies a simplified single-state form of the Kalman recursive estimation framework from control theory and signal processing, in which a running estimate is continuously updated by weighting new observations against the estimate's own error covariance, producing a smoothing average that adapts its responsiveness based on recent prediction error rather than using a fixed lookback window.
• Slope-Adjusted Trend Extrapolation (LLAMA)
The LLAMA smoothing option combines a simple arithmetic mean with a linear slope term derived from the change in price over the lookback window, projecting the average forward along the recent trend direction — a lightweight application of linear extrapolation principles used to reduce the inherent lag of simple averaging methods.
• Volume as a Conviction Proxy
The volume filter reflects the broader technical-analysis principle that price movements accompanied by above-average participation carry more informational weight than those on thin volume, a concept with roots in classical volume-price analysis dating back to early technical analysis literature (e.g., Dow Theory's treatment of volume as a confirming factor).
⚠️ Disclaimer
All provided scripts and indicators are strictly for educational exploration and must not be interpreted as financial advice or a recommendation to execute trades. We expressly disclaim all liability for any financial losses or damages that may result, directly or indirectly, from the reliance on or application of these tools. Market participation carries inherent risk where past performance never guarantees future returns, leaving all investment decisions and due diligence solely at your own discretion. مؤشر
