TRADLEWARE-Gaussian Channel + StochRSI BTC
TRADLEWARE - Gaussian Channel + Stochastic RSI
This strategy combines a Gaussian Channel with a Stochastic RSI filter to capture momentum continuation in trending markets on the daily timeframe.
How it works
The Gaussian Channel is a smoothed price envelope built with an IIR (infinite impulse response) filter — a mathematically elegant alternative to a simple moving average. Instead of weighting recent bars linearly, the Gaussian filter applies a bell-curve weighting that produces very smooth, low-lag output. The channel is formed by adding and subtracting a filtered measure of true range (volatility) around the central filter line.
The channel turns green when the filter is rising (uptrend) and red when it is falling (downtrend).
Entry
A long position is opened when all three conditions are true simultaneously:
The channel is green (filter rising — uptrend confirmed)
Price closes above the upper band (breakout above the channel)
Stochastic RSI %K is either above 80 (strong momentum confirming the breakout) or below 15 (oversold dip within the uptrend)
The dual Stochastic RSI threshold captures two different entry scenarios: a momentum breakout and a pullback-and-recover within an ongoing trend.
Exit
The position is closed when either:
Price closes back below the upper band (breakout has failed or the trend is cooling), or
The channel reverses from green to red (trend direction has flipped)
An optional stop-loss (on by default) is placed at the lower band and trails as the channel moves, providing a floor on losses if price drops sharply through both the upper and lower bands in the same move.
Parameters
Poles: 4 (filter smoothness — higher = smoother but more lag)
Sampling Period: 144 (slow channel, suited to daily trends)
True Range Multiplier: 1.414 (controls channel width)
Stochastic RSI overbought threshold: 80
Stochastic RSI oversold threshold: 15
Stop-loss at lower band: on by default, can be disabled
Start/End date range inputs let you restrict the backtest window without editing code
Costs modelled
0.1% commission per side, 3 ticks slippage, fills at next bar's open.
Intended assets and timeframe
Daily bars. Designed and validated on BTC/USDT. Likely applicable to other trending crypto assets; not validated on equities .
Known limitations
Underperforms in choppy or ranging markets — the upper band breakout condition generates whipsaws when price oscillates without directional conviction. The filter requires several hundred bars of history to fully converge; results on very short histories may differ from the validated backtest. The strategy trades infrequently (around 30 trades from 2018 to present on BTC/USDT), so treat any single backtest run as a small sample rather than a statistically strong result.
Credit
The Gaussian Channel filter is from the open-source "Gaussian Channel (DW)" indicator by DonovanWall. This script reuses that filter and adds the Stochastic RSI entry filter, exit rules, stop-loss, and full strategy order management on top of it.
Strategy

Butterworth Spectral Trend [QuantAlgo]🟢 Overview
The Butterworth Spectral Trend is a trend-following indicator built on a 2-pole Butterworth SuperSmoother rather than fixed moving averages or crossover logic. It extracts a low-noise spectral trend path from price, optionally stretches or compresses that path’s cutoff from residual signal-to-noise conditions, then converts filter slope into direction with hysteresis and hold controls so traders can separate genuine trend turns from short-lived noise across every timeframe and market.
🟢 How It Works
The foundation of the indicator is a classic 2-pole Butterworth SuperSmoother. Coefficients are derived from the live cutoff period and a damping factor (√2 by default for the maximally flat Butterworth response), then applied recursively to the selected price source, with an optional Nyquist average of the current and prior sample to suppress 2-bar oscillation:
butterworth_coefficients(float period, float damping) =>
float safe_period = math.max(period, 2.0)
float argument = damping * math.pi / safe_period
float alpha = math.exp(-argument)
float c2 = 2.0 * alpha * math.cos(argument)
float c3 = -alpha * alpha
float c1 = 1.0 - c2 - c3
A provisional filter always runs at the base cutoff. Residual energy (price minus provisional filter) and provisional slope energy are tracked with EMA-style RMS estimates. Their ratio maps market conditions into a noise weight that lengthens the cutoff when residuals dominate and shortens it when directional slope energy is cleaner:
float residual = price_source - provisional_filter
float signal_to_noise = residual_rms > 0 ? slope_rms / residual_rms : 10.0
float noise_weight = 1.0 / (1.0 + math.min(math.max(signal_to_noise, 0.05), 10.0))
float target_cutoff = min_cutoff + (max_cutoff - min_cutoff) * noise_weight
float desired_cutoff = adaptive_cutoff ? base_cutoff * (1.0 - adapt_strength) + target_cutoff * adapt_strength : float(base_cutoff)
The live cutoff is blended toward that target with a smoothing factor so period changes do not jump bar to bar. The final spectral filter is then computed from those adaptive coefficients. When adaptivity is disabled, the filter always uses the fixed base cutoff period.
Direction is read from the spectral filter’s slope, not from price-versus-line crossovers. Optional hysteresis requires opposite slope to exceed a multiple of its typical recent magnitude before a flip is allowed, and a minimum hold bar count enforces a cooldown after each flip:
float filter_slope = spectral_filter - nz(spectral_filter , spectral_filter)
float deadband = hysteresis * typical_slope
bool opposite_move = slope_direction != 0 and slope_direction != trend_direction
bool clears_deadband = abs_filter_slope > deadband or hysteresis == 0.0
bool hold_complete = bars_since_flip >= min_hold_bars
if opposite_move and clears_deadband and hold_complete
trend_direction := slope_direction
bars_since_flip := 0
This design means the trend path is spectral (period-based smoothing), while state flips are slope-gated. Clean directional conditions can tighten the cutoff for faster response; noisy conditions can lengthen it for more stability. Hysteresis and hold bars further reduce clustered flips without changing the underlying filter math.
Direction state is tracked through an integer trend direction, with signal conditions derived from comparing the current and prior bar states:
turned_bullish = trend_direction == 1 and trend_direction != 1
turned_bearish = trend_direction == -1 and trend_direction != -1
trend_changed = turned_bullish or turned_bearish
🟢 Signal Interpretation
▶ Bullish Trend (Green/Bullish palette): When spectral filter slope turns positive and clears any active hysteresis and hold constraints, the indicator enters bullish mode with bullish colouring applied across the SuperSmoother line, optional spectral bodies, gradient fill, and BUY label. This state persists until slope reverses with enough strength (and after enough bars) to satisfy the signal filters, allowing shallow noise wiggles in the filter to occur without flipping direction.
▶ Bearish Trend (Red/Bearish palette): When spectral filter slope turns negative under the same constraints, the indicator enters bearish mode with bearish colouring across all visual elements. A confirmed opposite slope move is required to exit this state and print a SELL signal.
🟢 Features
▶ Preconfigured Presets: Three parameter sets cover different trading approaches. "Default" targets swing trading on 1-hour to daily charts with a balanced base cutoff, moderate residual adaptivity, and lookback. "Fast Response" shortens the cutoff and strengthens adaptivity for intraday charts from 5-minute to 1-hour, where earlier turns matter more than flip sparsity. "Smooth Trend" lengthens the cutoff, softens adaptivity, and adds light hysteresis plus a short hold for position trading on daily and weekly timeframes, where false flips are more costly than delayed ones. Selecting a preset overrides the corresponding core, adaptivity, and signal inputs.
▶ Built-in Alerts: Three alert conditions cover all directional states. "Bullish Trend Signal" fires on the bar where trend direction confirms bullish. "Bearish Trend Signal" fires on the bar where it confirms bearish. "Any Trend Change" combines both into a single condition for traders who want a unified notification regardless of direction. Alerts continue to work even when signal labels are hidden.
▶ Visual Customisation: Six colour presets (Classic, Aqua, Cosmic, Cyber, Neon, and Custom) apply coordinated bullish and bearish colour schemes across the SuperSmoother line, spectral bodies, gradient fill, signal labels, and optional bar and background colouring. Bar colouring tints price candles with the active trend colour at a configurable transparency level, and background colouring extends the directional tint across the full chart pane.
Indicator

Liquidity Reaper Entry + Auto Targets [JFT]Liquidity Reaper Entry + Auto Targets is designed to identify high-quality liquidity sweep opportunities and transform them into structured trading setups with clear entry, stop-loss, and automatic profit targets.
The engine focuses on the interaction between liquidity, price rejection, market direction, and candle confirmation to help traders recognize potential reversals after liquidity has been taken.
Core Features
• Buy-Side & Sell-Side Liquidity Detection
• Liquidity Sweep Recognition
• Bullish & Bearish Reclaim
• Strong Candle Confirmation
• EMA Trend Confirmation
• Smart BUY & SELL Entry Signals
• Automatic Entry Price
• Automatic Stop Loss
• Automatic TP1, TP2 & TP3
• Adjustable Risk/Reward Targets
• ATR-Based Risk Management
• Duplicate Signal Filtering
• PulseWire Alerts
• Clean & Chart-Friendly Design
Entry Logic
BUY Setup
Sell-Side Liquidity Sweep
→ Bullish Reclaim
→ Strong Bullish Candle
→ Trend Confirmation
→ REAPER BUY
SELL Setup
Buy-Side Liquidity Sweep
→ Bearish Reclaim
→ Strong Bearish Candle
→ Trend Confirmation
→ REAPER SELL
Automatic Targets
Once a valid setup appears, the indicator automatically calculates:
ENTRY → SL → TP1 → TP2 → TP3
The default target structure is based on risk/reward, with adjustable levels according to your trading style and market conditions.
Best Use
Liquidity Reaper can be used on Forex, Gold, Silver, Crypto and other liquid markets.
For cleaner setups, combine the signals with your own market structure and higher-timeframe analysis rather than treating every signal as a guaranteed trade.
Liquidity Reaper doesn't chase price.
It waits for liquidity to be taken — then looks for confirmation.
Built for traders who want a cleaner and more structured approach to liquidity-based entries.
Liquidity Reaper Entry + Auto Targets Indicator

Volume Profile Anchored VWAP, AVWAP Bands & Deviation [LunqFX]Most anchored VWAP tools make you drag the anchor by hand, and it goes stale the moment structure changes. This one places the anchor automatically at confirmed swing pivots, wraps it in volume weighted standard deviation bands, hangs the leg's volume profile off the right edge, and then measures whether those bands are being respected on the symbol in front of you.
The annotated charts below explain the script's output element by element.
❶ AUTO ANCHORED VWAP
An anchored VWAP is only meaningful from a point that mattered. Anchor it at an arbitrary bar and it describes nothing; anchor it where the market last turned and it becomes the average price everyone trading THIS leg is carrying — which is exactly the level they defend.
The anchor is placed at confirmed swing pivots, with two guards that matter more than they sound:
▸ MINIMUM LEG — a fresh pivot cannot take over until the running leg has had room to form. Without that rule a cluster of pivots chops the curve into stubs and the VWAP never describes anything. ▸ MAXIMUM LEG — a leg that outlives its usefulness resets rather than growing into a whole-history average.
Session, weekly and monthly anchors are available for traders who prefer calendar anchoring.
❷ STANDARD DEVIATION BANDS
Around the anchored VWAP the script draws volume weighted standard deviation bands at three depths, filled as a gradient so distance from fair value is readable without measuring. Three details make them behave:
▸ WARM-UP — at the anchor the deviation is zero by definition, so the first bars of every leg would draw as a collapsing funnel. Those bars are still measured; they are simply not drawn. ▸ MINIMUM WIDTH — an ATR floor stops the bands pinching shut during dead stretches. ▸ DISPLAY SMOOTHING — the deviation path is box-filtered for drawing only. The VWAP itself and every statistic use the raw values, so nothing you act on is smoothed.
❸ VOLUME FLOW
Each bar's participation is drawn as fine texture reaching inward from the band edges: buy pressure rises from the lower edge, sell pressure falls from the upper one, split by where the bar closed inside its own range. The bands are the baseline, so the leg's pressure reads along the structure instead of on a separate pane.
❹ VOLUME PROFILE OF THE LEG
At the right edge the script hangs the volume distribution of the whole leg, split buy against sell, with a seam line at the join and a traced outline. Each bar is binned against its OWN slice of the channel rather than a fixed price grid, so a sloping leg does not smear the distribution — a detail most profile overlays skip, and the reason the shape stays honest on a trending market.
❺ BAND REACTION STATISTICS
Bands tell you where price is. They do not tell you what that has meant here. So the script measures it: for every touch of the chosen band inside the current leg it checks whether price returned to the VWAP within your window, and reports the share that did, together with the number of touches.
That single number changes how the same picture is read. A leg where touches of the upper band came back to VWAP most of the time is mean-reverting, and the band is a fade. A leg where they did not is trending, and the same touch is continuation. Samples too small to conclude anything from are marked with a tilde rather than presented as a result.
❻ WHAT YOU SEE ON THE CHART
▸ Dashed vertical line with the ANCHOR badge — where the current leg begins. ▸ Three teal bands below and three red bands above, filled as a gradient — deviation depth from the VWAP. ▸ Dark line through the middle — the anchored VWAP itself. ▸ Fine ticks along the band edges — per-bar buy and sell participation. ▸ Horizontal rows at the right edge — the leg's volume profile, teal for buy, red for sell. ▸ Panel — side of the VWAP, distance in σ with a position ruler, the VWAP and band levels, and the reaction statistics.
❼ HOW TO TRADE IT
1 — Read the header. Above or below the anchored VWAP is the leg's bias; the σ figure is how stretched price is right now. 2 — Check the reaction row before deciding what a band touch means. High return rate means the bands are fades. Low return rate means they are continuation. 3 — Use the VWAP as the leg's fair value. Pullbacks into it in the direction of the leg are the cleanest entries this tool produces. 4 — Use the volume profile to find where the leg actually traded. Thin rows are areas price passed through quickly and tends to pass through quickly again. 5 — Watch the anchor. A new anchor means structure turned and the previous leg's levels stopped applying.
❽ NON-REPAINTING
This is the part that separates an anchored VWAP from a rolling regression channel, and it is worth being precise about. The anchor is a CONFIRMED pivot and only ever moves forward. A VWAP is cumulative, so once a bar closes its contribution to the average is fixed forever — every band value already printed stays exactly where it is. Nothing is recalculated behind you. Every statistic is built from closed bars only.
SETTINGS
▸ Anchor — anchor mode (swing pivot, session, week, month), pivot length, minimum and maximum leg. ▸ Bands — three deviation depths, warm-up bars hidden, minimum width in ATR, display smoothing, gradient fill and VWAP line toggles. ▸ Volume Flow — texture height in ATR and thickness. ▸ Volume Profile — rows, width, thickness, seam and outline toggle. ▸ Band Reaction — which band counts as a touch, the reaction window, optional touch markers. ▸ Visuals — candle colouring, anchor marker, dashboard position.
ALERTS — upper band touch, lower band touch, VWAP reclaimed, VWAP lost, and new anchor. All fire on closed bars only.
WHY THESE PARTS ARE ONE SCRIPT
They describe one object at four resolutions. The anchor defines the leg; the standard deviation bands measure dispersion inside it; the flow and the volume profile show where its volume actually went; and the reaction statistics say whether that structure is being respected. Take the anchor away and the VWAP averages a period nobody traded as a unit. Take the profile away and the bands float above an unknown distribution. Take the statistics away and the bands become decoration you have to interpret by feel. None of them stands alone, which is why they ship together.
Works on any symbol with volume — forex, metals, indices, crypto and stocks — on intraday and higher timeframes alike. Symbols without real volume data will report a flat profile.
This indicator is an educational market-analysis tool, not financial advice. The reaction statistics describe the recorded historical behaviour of the current leg on the loaded chart; past behaviour does not predict future results. Always confirm with your own analysis and manage your risk. Indicator

Indicator

Indicator

Market Structure Trend [QuantAlgo]🟢 Overview
The Market Structure Trend tracks the dominant directional bias of price by detecting confirmed swing highs and lows and maintaining an active structure level that only flips on a genuine break of that level. Rather than reacting to every minor high or low, it waits for a pivot to lock in after a defined number of bars on either side, then holds the resulting structure until price closes beyond it by an optional confirmation buffer. The result is a clean, non-repainting structure line that stays aligned with the prevailing market structure while filtering out stop hunts and marginal pokes through key levels. This makes the prevailing bias readable at a glance across any instrument or timeframe.
🟢 How It Works
The indicator begins by identifying pivot highs and pivot lows using the selected left and right structure bars. These pivots become the swing points that define market structure:
pivot_high = ta.pivothigh(high, left_bars, right_bars)
pivot_low = ta.pivotlow(low, left_bars, right_bars)
When a new pivot is confirmed, the corresponding swing high or swing low is updated. The active structure range is calculated as the absolute distance between the current swing high and swing low, and a confirmation buffer is derived as a percentage of that range:
structure_range = math.abs(swing_high - swing_low)
confirm_buffer = structure_range * buffer_pct / 100.0
Break levels are then offset by this buffer so that a downside break sits below the swing low and an upside break sits above the swing high. On every confirmed bar the script checks whether the chosen source (or the high or low when Break On Wick is enabled) has crossed the relevant break level. A successful cross reverses structure direction and reassigns the structure level to the opposite swing. If no break occurs, the structure level simply continues to track the swing consistent with the current direction.
Structure direction is seeded on the first ready bar by comparing price to the midpoint of the swing range, establishing an initial bias. From that point forward flips are gated strictly by confirmed breaks, so the state never repaints or changes mid-bar.
The structure level is drawn as a continuous line with a soft glow underneath. When radial layering is enabled, four concentric fills are drawn between the structure level and the bar midpoint, with transparency increasing outward. This produces a stepped radial field that visually maps distance from the active structure boundary rather than a single flat zone.
🟢 Signal Interpretation
▶ Bullish Structure (Structure Line at Swing Low with Bullish Color): When structure direction is bullish the line sits at the most recent confirmed swing low. Price is considered to remain in an uptrend structure as long as it stays above the buffered downside break level. The bullish state holds until a confirmed downside break occurs, at which point the line moves to the swing high and the color transitions.
▶ Bearish Structure (Structure Line at Swing High with Bearish Color): When structure direction is bearish the line sits at the most recent confirmed swing high. Price remains in a downtrend structure until a confirmed upside break flips the state. The bearish state persists through subsequent bars until an upside break is registered.
🟢 Features
▶ Preconfigured Presets: Three parameter sets cover a range of trading styles and timeframes. Default uses the manual Left Structure Bars, Right Structure Bars, and Confirmation Buffer values and is balanced for swing trading on 1-hour and daily charts. Fast Response shortens the structure legs for scalping and intraday use on 1-minute to 1-hour charts, registering minor swings so the structure trend flips earlier. Smooth Trend lengthens the legs for position trading on daily and weekly charts, tracking only major swings and holding through pullbacks with the confirmation buffer.
▶ Built-in Alerts: Three alert conditions support automated monitoring of structure flips. Bullish Structure Shift fires on the first bar that structure direction changes from bearish to bullish. Bearish Structure Shift fires on the opposite transition. Any Structure Shift triggers on either flip for traders who prefer a single unified alert. All messages include the exchange, ticker, and timeframe for immediate context.
▶ Visual Customization: Six color presets (Classic, Aqua, Cosmic, Cyber, Neon, and Custom) supply coordinated bullish and bearish color pairings suited to different chart themes. Selecting Custom unlocks independent color pickers for full manual control. Optional bar coloring tints each candle with the active structure color at a configurable transparency, and optional background coloring extends the same tint across the full chart pane. Radial layering, structure shift markers, and the structure line itself all inherit the active color pair so the entire visual system remains consistent.
Indicator

Indicator

Time-of-Day/Session Performance Stats [QuantAlgo]🟢 Overview
The Time-of-Day/Session Performance Stats is a comprehensive time-based analysis tool built for traders who want clear, ranked insight into when markets actually move. It measures average range, volume, bullish bias, and drift across every hour of the day and the four major sessions, then surfaces the strongest and weakest windows so you can focus activity where the data supports it. Whether you trade crypto around the clock or equity and forex sessions on a weekday schedule, the indicator turns raw historical bars into practical rankings, session comparisons, and non-repainting chart overlays.
🟢 What is Time-of-Day and Session Performance?
Markets are not uniform across the 24-hour cycle. Liquidity, volatility, and participation concentrate in specific hours and sessions. Sydney is typically the thinnest of the four major centers, Tokyo drives Asian activity, London often produces the widest ranges of the day, and the London-New York overlap is usually the busiest window. By averaging range, volume, the share of up closes, and net drift for each hour and each session over a configurable lookback, this tool converts those recurring patterns into ranked statistics instead of leaving you to rely on memory or anecdotal observation.
🟢 How It Works
The indicator walks a configurable window of past bars (limited by lookback days and a hard max-bar ceiling) in the timezone you select. Every usable bar is assigned to its hour of day and to any sessions it falls inside. Range can be measured in percent of close or in raw price units. Volume, directional closes, and drift are accumulated in parallel. Hours that do not meet a minimum bar-count threshold are dropped from every ranking so tiny samples cannot distort the boards.
Five ranking boards are produced: Activity (average range), Volume (when the symbol reports it), Bias (percentage of directional bars that closed higher), Drift (mean close-minus-open percentage), and Aggregated (the mean percentile of range, volume, and directional edge). Sessions are ranked solely on average range per bar and can be toggled or given custom windows. Overlaps count toward every session involved rather than being forced into one.
Chart overlays read a trailing window of the same length rather than the final ranking, so background shading and bar coloring never repaint. The Focus Hours panel converts the Aggregated ranking into three practical allocation plans plus the single quietest hour to avoid.
🟢 Key Features
▶ Ranking Boards
Five independent boards list every qualifying hour from strongest to weakest.
1. Activity Ranking: Orders hours by average bar range. Rank 1 is the hour with the most room; the last row is the quietest. This is the simplest and often most useful single board.
2. Volume Ranking: Orders hours by average volume. Read it alongside Activity. High range on low volume signals thin participation. The board is hidden automatically on symbols that report no volume.
3. Bias Ranking: Orders hours by the percentage of directional bars that closed above their open. Flat bars are excluded, so the figure reflects only bars that actually moved. There is no separate bearish column; the bottom of the board is the most bearish reading.
4. Drift Ranking: Orders hours by mean percentage change from open to close. An hour can post a high bull rate yet still show negative drift if its losing bars are larger than its winning ones. Divergences between Bias and Drift are often the most interesting signals.
5. Aggregated Ranking: Combines percentile ranks of range, volume (when present), and directional edge into a single composite score. This is the ranking that feeds both the Focus Hours panel and the Aggregated overlay option.
▶ Session Ranking Panel
The four major sessions are ranked by average range per bar and displayed with their window, bull rate, drift, and bar count. Rank 1 takes the bullish color and the last rank takes the bearish color on the same continuous gradient used by the boards. Because a bar inside an overlap is counted toward every session it belongs to, session bar totals can exceed the overall sample size.
▶ Focus Hours Panel
The Aggregated ranking is translated into four labeled plans: Aggressive (top hour only), Mix (top two with 80/20 weights), Conservative (top three with 50/30/20 weights), and Avoid (the single quietest hour by average range). Each row shows the relevant hours, their session affiliation, bull rate, drift, and score so the reading can be acted on immediately.
▶ Chart Overlay
Background shading and price-bar coloring can be driven independently by Session Ranking, Activity Ranking, Volume Ranking, Bias Ranking, Drift Ranking, Aggregated Ranking, or Focus Hours. All overlays are computed from a trailing window so they never repaint. Transparency controls let you keep the ranking obvious or keep it subtle enough not to compete with price.
▶ Session and Filter Controls
Sydney, Tokyo, London, and New York can each be enabled or disabled and given custom HHMM-HHMM windows in the selected timezone. A weekdays-only filter removes weekend bars for forex, futures, and equities while leaving crypto fully intact. The Bars To Include setting can restrict the entire study to all bars, any enabled session, or one named session.
▶ Built-in Alerts
Ready-made alert conditions fire when price enters the peak activity hour, the quietest hour, the peak volume hour, the most bullish or most bearish hour, or the top Aggregated hour. Separate alerts cover the open and close of each individual session, any session start or end, and the start and end of the London-New York overlap.
▶ Color Presets
Six presets (Classic, Aqua, Cosmic, Cyber, Neon, Custom) apply a continuous gradient from the bullish color at rank 1 to the bearish color at the last rank across every board, panel, and overlay. Custom mode exposes individual bullish and bearish color pickers; text contrast is calculated automatically so any chosen colors remain readable.
▶ Interval Warning
When the chart interval is higher than 1 hour, most of the 24 hour buckets never receive a bar, leaving the rankings incomplete. The indicator displays a clear warning label on the chart that explains the limitation and recommends switching to 5m, 15m, 30m, or 1h, for example. The warning can be turned off once the restriction is understood and a clean chart is preferred.
Indicator

BTC On-Chain Value Zones [MVRV]BTC Onchain Value Zones (MVRV)
Bitcoin has a cost basis. Realized Price is the average price at which every coin in circulation last moved onchain, which makes it a reasonable proxy for what the average holder actually paid. This script plots that level directly on your price chart and builds valuation zones around it.
MVRV is just price divided by Realized Price. When MVRV falls under 1, the average holder is sitting at a loss. Historically that condition has clustered around cycle lows and long accumulation ranges. When MVRV stretches well above 2.5, the market is carrying a large amount of unrealized profit, and historically that has clustered around distribution phases and cycle highs. It is a slow, structural read, not a trade trigger.
Why I rebuilt it
The common version of this idea relied on the IntoTheBlock MVRV feed. That feed stopped updating in August 2025 and PulseWire flagged it as discontinued. Scripts using it did not throw an error. They quietly froze on a stale value and kept plotting a line that meant nothing, which is worse than breaking outright.
This version calculates MVRV itself from two live feeds:
Realized Price = Realized Cap / Circulating Supply
MVRV = Price / Realized Price
Realized Cap comes from CoinMetrics and Circulating Supply from Glassnode. If either symbol is unavailable on your plan, the script falls back to an alternate ticker automatically. If supply goes dark entirely, it derives supply from market cap divided by price so the realized line keeps working rather than vanishing.
The zones
Deep buy below 0.85, meaning capitulation territory where holders are heavily underwater.
Buy below 1.0, meaning price sits under the aggregate cost basis.
Fair value between 1.0 and 2.5.
Sell above 2.5.
Euphoria above 3.5.
Every threshold is adjustable in settings. The zones are drawn in price terms, not as an oscillator, so you can see exactly what dollar level each multiple sits at right now.
Signals
Markers fire when MVRV crosses a threshold on the daily close. Triangles mark entries into the buy and sell zones, labels mark deep value and euphoria, and a circle marks the moment price reclaims its cost basis, which has historically been a useful bottom confirmation. Alerts are available for each event individually, for any buy event, for any sell event, and for a stale data feed.
Diagnostics
Two tables. The top right shows current MVRV, realized price in dollars, the active zone, how many days old the onchain data is, and which feeds are supplying it. The bottom right lists all six candidate symbols with their current values, marked green if live and red if dead. If a data provider retires a ticker two years from now, you will see it immediately instead of trusting a frozen line.
How to use it
Onchain data updates once per day, so use this on a daily chart or higher. It is built for position sizing and accumulation decisions across weeks and months, not for entries. Treat the zones as context for whatever you are already doing.
One honest caveat. MVRV peaks have declined with every cycle as Bitcoin has matured and the holder base has grown. The 3.5 euphoria level was routine in 2013 and 2017 and has been harder to reach since. Adjust the upper thresholds to fit the market you are actually trading rather than assuming past extremes will repeat.
This is for informational purposes only and is not financial advice. Indicator

Recursive Kernel Trend [QuantAlgo]🟢 Overview
The Recursive Kernel Trend is a trend-following indicator built on a recursive residual estimator with adaptive rate scheduling. It applies one of six selectable filter structures to a residual-corrected recursion, modulates the update rate according to efficiency and volatility conditions, and confirms directional state through slope persistence. The result is a responsive yet controlled trend line that adapts its tracking behavior to market regime while filtering noise-driven fluctuations across every timeframe and instrument.
🟢 How It Works
The calculation begins with a residual between the selected price source and the current estimate. This residual drives a base recursive update whose rate is not fixed but scheduled on every bar:
resid = src - estimate
base = estimate + kern_rate * resid
The scheduled rate is produced by combining two adaptive weights. Efficiency weighting measures the ratio of net directional progress to total price path over a lookback window, raising the rate when movement is clean and lowering it during chop. Volatility weighting compares current ATR against a longer baseline and reduces the rate when volatility expands. The combined rate is then bounded by floor and ceiling limits and further scaled by an optional directional bias that applies different multipliers depending on whether price sits above or below the estimate:
eff_weight = eff_floor + (1.0 - eff_floor) * eff_ratio
vol_weight = math.min(math.max(1.0 / vol_ratio, 0.50), 1.75)
rate_sched = math.min(math.max(base_rate * eff_weight * vol_weight, rate_floor), rate_ceil)
kern_rate = rate_sched * bias
Six filter structures can be applied to the base update. Standard uses a single pass. Wilder halves the rate for smoother behavior. Double and Triple apply successive lag-compensated stages. Gaussian cascades four poles without compensation. Hull combines fast and slow passes then re-smooths the result. All structures receive the live scheduled rate so the adaptive weighting remains active.
A residual accumulator runs in parallel with the recursion. It retains a decaying memory of past residuals and applies a correction term that closes persistent offset during sustained trends. An optional ATR-based limiter can bound the accumulator to prevent overshoot after gaps or parabolic moves:
corr_acc := corr_acc * corr_decay + resid
estimate := kern_out + corr_weight * corr_acc
Directional state is derived from the slope of the finished estimate after a short smoothing window. A consecutive run of bars in the same slope direction must reach a confirmation threshold before the state is allowed to flip. This step prevents single-bar noise from reversing the trend color or firing alerts.
🟢 Signal Interpretation
▶ Bullish Trend (Long/Buy): When the smoothed slope of the estimate remains positive for the required number of confirmation bars, the indicator enters bullish state. The trend line and gradient layers switch to the bullish color. This condition identifies potential long or buy opportunities and remains active until an equal run of negative slope bars confirms a reversal.
▶ Bearish Trend (Short/Sell): When the smoothed slope remains negative for the required confirmation bars, the indicator enters bearish state. The visual elements switch to the bearish color. This condition identifies potential short or sell opportunities and holds until a confirmed positive run occurs.
🟢 Features
▶ Preconfigured Presets: Three parameter sets cover different trading approaches. Default targets swing trading on 1H to daily charts with balanced rate and confirmation. Fast Response raises the recursion rate and shortens confirmation for intraday charts where the indicator needs to adapt to shorter-duration moves. Smooth Trend lowers the rate and lengthens confirmation for position trading on daily and weekly timeframes, where the cost of a false flip is higher than the cost of a delayed one. Selecting a preset overrides the individual rate, efficiency, and state detection inputs.
▶ Built-in Alerts: Three alert conditions are provided. Bullish State Signal fires when the trend state flips from bearish to bullish. Bearish State Signal fires on the opposite transition. Any State Change combines both into a single notification.
▶ Visual Customization: Six color presets (Classic, Aqua, Cosmic, Cyber, Neon, Custom) coordinate the trend line and gradient layers. Optional bar coloring tints candles with the active state color at a configurable transparency.
*Tips: Layer the Recursive Kernel Trend with complementary analysis rather than treating it as a standalone trading tool. State flips hold most reliably when backed by participation, so combine each change with volume context, since a flip on expanding volume is far more likely to sustain than one on thin flow, and read the move against market structure, as a reversal that aligns with a clear swing high or low carries more significance than one in open space. Pairing this script with volume, open interest, CVD, market structure, and mean reversion indicators from our QuantAlgo toolkit can further validate a directional shift before entry. Indicator

Delta Volume Profile,Order Flow, Buy/Sell&Absorption POC LunqFXA normal volume profile shows you HOW MUCH volume traded at each price. Delta Volume Profile shows you WHO did it — buyers or sellers — at every price level. Each row of the profile is split into buying volume and selling volume, turning a plain histogram into a clean order-flow map that reveals where demand and supply were really built, and the one level where a large player was quietly absorbing the flow.
❶ WHAT YOU SEE
▸ THE DELTA PROFILE — a horizontal volume profile on the right of price, but every price level is split in two: blue = buying volume, orange = selling volume. The total length of a row is the volume traded there; the blue/orange split is the delta — the balance of buyers versus sellers at that exact price. One glance tells you whether a level was accumulation, distribution, or a fair two-sided fight.
▸ ABSORPTION POC — this is the level that matters most, and it is not the ordinary Point of Control. A classic POC is simply the highest-volume row. The Absorption POC is the row where heavy volume traded with a balanced delta — lots of buying AND selling at the same price. That is the signature of absorption: a large participant filling orders against the crowd without letting price move. It is marked with a gold line and label, because it is where reversals and strong reactions most often begin.
▸ DASHBOARD — a compact readout of the whole range: NET DELTA (are buyers or sellers in control overall), the Buy/Sell split as a percentage, and the exact Absorption price.
❷ WHY DELTA AND ABSORPTION MATTER
Price only tells you where the market went. Order flow tells you the effort behind the move. A rally on weak buying delta is fragile; a level held by heavy two-sided absorption is where smart money is defending a position. By splitting volume into buy and sell at every price — and by isolating the absorption level — this profile shows the intent behind the volume, not just its size. That is the difference between a plain volume profile and an order-flow read.
❸ HOW TO USE IT
1 — Read the NET DELTA in the dashboard. Positive = buyers dominated the range (look for longs on pullbacks); negative = sellers dominated (favour shorts on rallies).
2 — Trade toward and away from the ABSORPTION level. It acts as a magnet and a strong support/resistance zone — price often returns to it, and reactions from it are among the cleanest on the chart. Use it as a target or as your line in the sand.
3 — Read each level's split before you trust it. A level that is mostly blue (buying) is genuine demand; a level built on orange (selling) is supply. When price approaches a level, its colour tells you which side is likely to defend it.
4 — Watch for imbalance vs balance. Strongly one-sided rows (almost all blue or all orange) mark aggressive, directional levels. Balanced rows — especially the Absorption POC — mark battle zones where the trend is most likely to stall or turn.
❹ HOW IT WORKS (transparent)
For every bar, volume is split into buy-volume and sell-volume from where price closed inside the bar's range: buy-volume = volume × (close − low) ÷ range, sell-volume = volume × (high − close) ÷ range. This is a transparent, range-based delta estimate — it needs no tick or bid/ask feed, so it runs on any symbol. Each bar's buy and sell volume is added to the price row it traded in, across a fixed rolling lookback. The Absorption POC is the row that maximises (row volume ÷ largest row volume) × (1 − |buy − sell| ÷ row volume) — heavy volume weighted by how balanced its delta is. On symbols that report no exchange volume, the profile falls back to equal weight per bar (a price-density profile) so it still works everywhere, and the panel says PRICE PROFILE instead of DELTA PROFILE.
Best used on markets with real volume — crypto (e.g. BINANCE:BTCUSDT), stocks, futures and indices — on any timeframe. On forex the volume is broker tick-volume, so treat the delta as an approximation of order flow.
SETTINGS — lookback, number of rows (resolution), profile width, row gap, absorption line on/off, neutral candles on/off, and dashboard position.
NON-REPAINTING — the profile is built only from closed historical bars over a fixed lookback and drawn on the last bar. It uses no request.security and no lookahead, so history never changes; only the current forming bar updates live, as with any volume profile.
This indicator is an educational market-analysis tool, not financial advice. The volume delta shown is a transparent estimate from price and volume, not exchange-audited bid/ask order flow, and past behaviour does not guarantee future results. Always confirm with your own analysis and manage your risk. Indicator

SMC Volume Boost Matrix v6◆ Overview
SMC Volume Boost Matrix v6 is an advanced PulseWire indicator that combines Smart Money Concepts with volume analysis to help traders identify high-probability trading opportunities. By analyzing market structure together with volume momentum, the indicator highlights areas where institutional participation may be increasing, giving traders additional context for trend continuation and potential reversals.
The indicator is designed to simplify market analysis while providing clear visual information for decision-making across multiple financial markets.
◆ Features
• Smart Money Concepts (SMC) based market structure analysis
• Volume boost detection for stronger market confirmation
• Automatic Bullish and Bearish trend identification
• Clear BUY and SELL signal visualization
• Dynamic trend confirmation using price and volume
• High-volume breakout detection
• Early momentum shift recognition
• Professional on-chart visualization
• Real-time signal generation
• Customizable settings for different trading styles
• Suitable for Forex, Crypto, Stocks, Indices, and Commodities
• Compatible with scalping, intraday, and swing trading
◆ How It Works
SMC Volume Boost Matrix v6 monitors both price structure and trading volume simultaneously.
When market structure aligns with increasing volume, the indicator identifies stronger directional momentum. A bullish market structure supported by rising volume may indicate increasing buying pressure, while a bearish structure with strong volume may indicate increasing selling pressure.
Instead of relying on volume or price alone, the indicator combines multiple market factors to provide more informed trading signals.
◆ How To Use
Add SMC Volume Boost Matrix v6 to your PulseWire chart.
Choose the timeframe that matches your trading strategy.
Wait for a confirmed BUY or SELL signal after market structure and volume conditions align.
Use the indicator together with key support and resistance levels, liquidity zones, or your existing trading plan for additional confirmation.
Apply proper risk management before entering any trade, including defining your stop-loss and profit targets. Indicator

Auto Target Pro◆➤OVERVIEW
Auto Target Pro v6 is a professional PulseWire indicator designed to help traders manage entries, stop loss, and profit targets with a structured approach.
The indicator combines trend analysis, volatility measurement, and risk-based target calculation to provide a complete trade management system directly on the chart.
Auto Target Pro helps traders visualize potential entry points, risk levels, and multiple profit targets without manually calculating every level.
◆➤FEATURES
• Automatic BUY and SELL signals
• Dynamic Entry price calculation
• ATR-based Stop Loss system
• Automatic TP1, TP2, and TP3 levels
• Risk-to-Reward based target projection
• Real-time trade management
• Visual Entry, Stop Loss, and Target lines
• Target hit detection system
• Professional dashboard display
• Alert support for signals and targets
• Works on Forex, Crypto, Stocks, Indices, and Commodities
• Designed for scalping, intraday, and swing trading
◆➤HOW IT WORKS
Auto Target Pro uses a combination of trend structure and volatility analysis.
The system identifies market direction using trend calculations and detects potential trading opportunities.
After a signal appears:
◆➤BUY Setup:
Entry price is calculated automatically
Stop Loss is placed using market volatility
TP1, TP2, and TP3 are calculated based on risk distance
◆➤SELL Setup:
Entry price is calculated automatically
Stop Loss is adjusted according to bearish conditions
Multiple profit targets are displayed automatically
The target levels are dynamic and adapt according to current market conditions.
◆➤HOW TO USE
Add Auto Target Pro v6 to your PulseWire chart.
Select your preferred timeframe according to your trading style:
Scalping: 1m, 5m, 15m
Intraday: 30m, 1H
Swing Trading: 4H, Daily
Wait for BUY or SELL confirmation.
Use the displayed levels:
Entry = Trade activation area
SL = Risk protection level
TP1 = First profit target
TP2 = Second profit target
TP3 = Final target area
Always combine signals with proper risk management and your own market analysis.
◆➤IMPORTANT NOTE
Auto Target Pro is a technical analysis tool created to assist traders in decision-making. No indicator can guarantee future market results. Always use proper risk management before entering any trade. Indicator

Bitcoin Almanac [WillyAlgoTrader]₿ Bitcoin Almanac is an overlay indicator that maps the entire Bitcoin macro landscape on one chart: a fixed-length cycle time model (bull/bear phases projected from a single anchor date), two hyperbolic curves fitted through historical cycle lows and cycle highs in log-price space, Fibonacci grids stretched between every macro pivot, halving markers, accumulation and distribution zones, and a hypothetical price path for the next bull leg — all summarized in a live dashboard with projected turn dates, curve prices, and historical correction depths.
The core insight: Bitcoin's completed cycles show a remarkably stable time rhythm (roughly 1064 days up, 364 days down) and a decelerating growth pattern that a hyperbola in log10(price) captures with surprisingly small error. Neither observation is a law of nature — but when the time model and the price curves are combined on one chart, they produce concrete, falsifiable reference points: a projected top date with a curve price, a projected bottom date with a curve price, and buy/sell zones derived from both. The indicator makes the whole framework explicit, configurable, and honest about its assumptions.
Everything is driven by dates and user-defined pivots — not by real-time price action — so nothing repaints: the lines you see today are the lines you saw yesterday.
🧩 WHY THESE COMPONENTS WORK TOGETHER
A cycle-date model alone answers WHEN but not AT WHAT PRICE. A curve through historical lows answers WHERE support migrates but not WHEN price will meet it. Fibonacci retracements answer WHERE pullbacks tend to end, but only if you know which macro leg to anchor them to. Used separately, each tool leaves you guessing at the missing dimension.
Bitcoin Almanac chains them into one pipeline:
Cycle time model (anchor + phase lengths) → projected turn dates → hyperbolic lows/highs curves → curve price AT each projected date → Fibonacci grids between macro pivots → 0.786–0.836 accumulation zones bounded by cycle end dates → ±% distribution zones around each high → replayed bull-path projection between the two curve endpoints → dashboard synthesis
The time model supplies the X-coordinate of every future event. The two hyperbolas supply the Y-coordinate: the lows curve is evaluated exactly at the projected bottom date, the highs curve exactly at the projected top date — the "◎ cycle × curve" labels mark these intersections with date and price. The Fibonacci grids are then anchored to the same pivots the curves are built from, so the 0.786–0.836 buy zone of the current leg stretches in time precisely to the model's next cycle-bottom date. Finally, the projection module takes the two curve × date intersections as endpoints and fills the path between them by replaying the shape of the previous bull phase in log space.
No single component can do this: the intersection of an independent time model with an independent price model is what turns two vague trajectories into specific, checkable coordinates.
🔍 WHAT MAKES IT ORIGINAL
1️⃣ Fixed-rhythm cycle engine — pure time math, zero price input.
The phase of any bar is computed directly from calendar time:
daysSince = (barTime − anchor) / 86 400 000
phasePos = daysSince mod (bullDays + bearDays)
isBull = phasePos < bullDays
Defaults: anchor = 07 Nov 2022, bullDays = 1064, bearDays = 364 (each ≈ the average of the three completed BTC cycles). A true mathematical modulo (always ≥ 0) phases bars BEFORE the anchor correctly, so past cycles line up too. With defaults this reproduces the well-known projected dates: top ≈ 06 Oct 2025, bottom ≈ 05 Oct 2026. An alternative anchor (21 Nov 2022 — the actual lowest trade of the cycle) is documented right in the input tooltip and shifts the bottom to 19 Oct 2026.
Why this matters: because the phase depends only on time, the bull/bear background, turn lines and flip alerts are deterministic and cannot repaint — the model's claims are fully falsifiable in advance.
2️⃣ Hyperbolic curve through cycle lows — exact geometry or least-squares fit, with the error printed on the chart.
The lows model is log10(price) = a + b / (c − t), where t is days from the first pivot. The hyperbola has a vertical asymptote in the past and a horizontal asymptote in the future — it encodes decelerating growth, which a straight log-regression line cannot.
— With exactly 3 enabled lows (default: Aug 2015 ≈ $169, Dec 2018 ≈ $3 122, Nov 2022 ≈ $15 476) the three parameters are solved exactly — the curve passes through the pivots by construction. This is geometry, not statistics, and the label says so: "exact through 3 lows".
— With 4+ enabled lows (three optional early-history slots: 2011, 2013, 2015 are provided) the indicator switches to a least-squares fit: a coarse log-spaced search over 250 candidate asymptote positions, followed by a 200-step linear refinement around the best candidate. The curve label then reports the number of points and the RMSE in log10 units — the fit quality is never hidden.
A fit is accepted only if b > 0 and the asymptote c lies before the earliest pivot — degenerate solutions are rejected and the curve simply doesn't draw.
3️⃣ Second independent hyperbola through cycle highs.
The same model is fitted to cycle tops (defaults: Nov 2013 ≈ $1 238, Dec 2017 ≈ $19 700, Nov 2021 ≈ $69 000, Oct 2025 ≈ $126 200 — four points, so LS fit with visible RMSE). A fifth, disabled slot exists only if you want to force the fit through your own future target; you never need it for the projection, because the future top is marked automatically at the crossing of the highs curve with the projected top date.
Why two curves: lows and highs decelerate at different rates. Fitting them independently (instead of offsetting one curve) lets the model express a narrowing channel without assuming its shape.
4️⃣ "Cycle × curve" intersection labels — the model's testable predictions.
At the projected bottom date the lows curve is evaluated: ◎ label with date ≈ price. At the projected top date the highs curve is evaluated: ◎ label with date ≈ price. These two points are the indicator's headline output — a date AND a price for each future turn, derived from two independent models. Both curves extend beyond their intersection as dashed lines (lows: default 10 years, highs: 5 years) to show the long-term trajectory.
5️⃣ Macro Fibonacci grids with a time-bounded 0.786–0.836 accumulation zone.
All enabled lows and highs are merged chronologically; every leg between two pivots of opposite type receives a grid (low→high = bull grid, high→low = bear grid; same-type neighbours are skipped). Levels are fully user-defined (default: 0, 0.236, 0.382, 0.5, 0.618, 0.786, 0.836, 0.886, 1; values > 1 add extensions).
Two non-standard options:
— Log-scale interpolation : level price = 10^(log10(pA) + f × (log10(pB) − log10(pA))) — matches a fib tool drawn on a log chart. Off by default (arithmetic levels for a linear chart).
— Reverse mode (default ON): ratio 0 sits at the END of the leg, so on a bull leg 0.618 is the classic retracement below the high.
The 0.786–0.836 zone of each bull leg is highlighted as a "BUY ZONE" box — and here is the original part: the box stretches in time from the leg start to the end date of the cycle the leg belongs to (the next projected cycle bottom). Depth from the fib model, deadline from the time model — the zone is a rectangle in (price × time), not just a price band.
6️⃣ Distribution zones tied to the cycle skeleton.
Every enabled high gets a "SELL ZONE" box spanning high ± sellPct (default 5% → from high × 0.95 to high × 1.05). The time span runs from the LATER of (a) the latest enabled low before that high or (b) the model's cycle bottom immediately preceding it — so a projected 2029 high starts its zone at the projected Oct-2026 bottom, not at a 2022 pivot. If no enabled high exists in the upcoming cycle, a projected sell zone is created automatically at the highs-curve × projected-date crossing (duplicate-guarded within half a cycle).
7️⃣ Bull-path projection — fractal replay of the previous bull, rescaled in log space.
The path for the NEXT bull phase (with defaults: 05 Oct 2026 → 03 Sep 2029) is drawn between two model-derived endpoints: start = lows curve at the projected bottom, end = highs curve at the following projected top. Two shapes:
— Replay last bull (default): the log-price trajectory of the previous bull phase is recorded bar by bar (confirmed bars only, thinned to ≤ 400 samples for memory safety on intraday timeframes), then linearly rescaled: y(progress) = yStart + (ref(progress) − ref(0)) × (yEnd − yStart) / (ref(1) − ref(0)). The result keeps the timing character of the last cycle — early acceleration, mid-cycle chop, late blow-off — mapped onto the new endpoints.
— Log-linear : a straight line on a log chart between the endpoints. The replay mode automatically falls back to log-linear if the reference phase covers less than 90% of the bull duration.
The path is explicitly labeled "◇ PROJECTED PATH (hypothetical)" — it is a scenario generator, not a forecast.
8️⃣ Corrections table — every macro drawdown since 2014, including the unfinished one.
The dashboard lists every completed high → following-low leg between enabled pivots since 2014 as a % drop (e.g. 2017–2018: −84%). If the latest pivot is a high with no low after it, the current correction is projected : measured from that high to the lows-curve price at the next model bottom, and marked "(proj.)" in accent color. You always see how the ongoing decline compares with history.
9️⃣ Full-transparency dashboard with a phase gauge and next-leg scenario PNL.
Four toggleable sections: Cycle (phase, day X / Y, ██████░░░░ progress gauge), Projection (top and bottom dates with days-left counters and curve prices, plus the hypothetical PNL of the next bull leg: (topCurve / bottomCurve − 1) × 100% and the × multiple), Corrections (see 8️⃣), Ranges (nearest upcoming buy range = the 0.786–0.836 zone prices; nearest sell range = the ±% zone around the next projected high). The footer states the calibration chart (INDEX:BTCUSD · W · linear scale, with a live ✓ when you're on it), a timeframe warning, and the sample-size caveat "⚠ Sample size: 3 cycles" — the model's biggest limitation is printed on the chart itself.
🔟 Efficient, tick-stable rendering.
All drawings (500+ polyline points, fib grids, boxes, dashboard) are anchored to bar-open times and first-bar curve fits — nothing changes within a bar. A redraw gate rebuilds them once per new bar instead of on every real-time tick, and both curve fits run exactly once on the first bar. The chart stays responsive even with all modules enabled.
📐 HOW IT WORKS — CALCULATION FLOW
Step 1 — Parse pivots: on the first bar, all enabled lows and highs are converted to (days-from-first-pivot, log10(price)) pairs.
Step 2 — Fit the curves: each set is fitted to log10(price) = a + b/(c − t) — exact solve for 3 points, two-stage least-squares search for 4+. Fit validity is checked (b > 0, asymptote before the data).
Step 3 — Phase every bar: calendar-time modulo against the anchor determines bull/bear phase, day-in-phase, and the timestamps of the current, next bottom and next top.
Step 4 — Evaluate intersections: the lows curve at the projected bottom date and the highs curve at the projected top date become the model's price targets.
Step 5 — Record the reference bull: during the anchor cycle's bull phase, confirmed closes are stored as (progress, log10 price) — the shape later replayed by the projection.
Step 6 — Draw (once per bar): turn lines and labels for N past and M future cycles, both hyperbolas with dashed extensions, fib grids per alternating pivot leg, buy/sell zone boxes, halving lines (2012 / 2016 / 2020 / 2024 solid, Apr 2028 dashed "(est.)"), the projected path, the dashboard and the watermark.
Step 7 — Alert: on confirmed bars, phase flips and the pre-turn countdown fire alert() calls in text or JSON format.
📖 HOW TO USE
🎯 Quick start:
1. Open the INDEX:BTCUSD chart, Weekly timeframe, regular (linear) price scale — the model is calibrated there, and the dashboard shows a ✓ when the symbol and timeframe match (the scale must be checked manually — Pine cannot detect it).
2. Add the indicator. The green/red background immediately shows the model's current phase; the dashboard shows the day count and progress gauge.
3. Find the two ◎ labels — the projected bottom (orange, lows curve) and the projected top (red, highs curve). These are the model's date + price coordinates for the next turns.
4. Check the yellow boxes: BUY ZONE (0.786–0.836 of the current bull leg, extended to the cycle end date) and SELL ZONE (±5% around each high).
5. Create ONE alert with condition "Any alert() function call" to receive flips and the pre-turn countdown.
👁️ Reading the chart:
— 🟢 Green background = model bull phase; 🔴 red = bear phase
— Solid green verticals = cycle bottoms; dashed red verticals = cycle tops; future turns are labeled ★ PROJECTED and drawn brighter
— 🟠 Orange curve = hyperbola through cycle lows (solid to the projected bottom, then dashed extension)
— 🔴 Red curve = hyperbola through cycle highs (solid to the projected top, then dashed extension)
— Small circles = the exact pivots each curve is built from
— ◎ labels = cycle × curve intersections with date, ≈ price, and fit info (point count + RMSE, or "exact through 3")
— Fib grids between macro pivots: solid edges (0 / 1), dashed 0.5, dotted intermediate levels, price + ratio labels on the right
— 🟡 Yellow boxes = BUY ZONE (0.786–0.836, time-bounded by the cycle end) and SELL ZONE (±% around highs; "(proj.)" = auto-generated at the projected top)
— ⛏ Grey verticals = halvings; the 2028 line is dashed and marked "(est.)"
— 🔵 Blue dashed path = hypothetical next-bull trajectory with its ◇ end label
📊 Dashboard fields:
— Phase / Phase day / Progress : current model phase, day within it, and a 10-segment gauge
— Proj. top / Proj. bottom : projected turn dates, days remaining, and the curve price at each date
— Next leg PNL : hypothetical bottom→top move of the next bull leg in % and as a × multiple — a scenario, not a forecast
— Corrections : every completed macro drawdown since 2014 (high → following low, %), plus the unfinished one projected to the curve bottom and marked (proj.)
— Next buy range / Next sell range : the price boundaries of the nearest upcoming accumulation and distribution zones
— Footer: recommended chart check, timeframe warning, sample-size caveat, version
🔧 Tuning guide:
— Curve doesn't draw: fewer than 3 pivots enabled, or the fit was rejected as degenerate — enable at least 3 lows (or highs) with sensible dates/prices.
— You disagree with a pivot price: every pivot is an editable date + price input — correct it and both the curve and the fib grids rebuild instantly.
— Want dates matching the actual price low: switch the anchor to 21 Nov 2022 (documented in the tooltip); the projected bottom moves to 19 Oct 2026.
— Fib levels look wrong on a log chart: enable "Log-scale levels" (keep it OFF on the recommended linear chart).
— Chart feels crowded: disable individual modules (grids, zones, halvings, projection) or dashboard sections — every block has its own switch.
— Curious about 2030+: enable "Show 2nd projected cycle" for one more bottom/top pair (~Sep 2030 / ~Aug 2033) — off by default because those dates carry double model uncertainty.
💡 Trading ideas:
— Accumulation planning : scale into the 0.786–0.836 BUY ZONE while the model is in its bear phase; the zone's right edge tells you the model's deadline.
— Distribution planning : scale out inside the ±5% SELL ZONE as the projected top date approaches; the pre-alert (default 30 days) gives you a heads-up.
— Scenario testing : move pivots, change phase lengths, or force High #5 to your own target and watch how the whole framework (curves, zones, PNL) responds — the model is a sandbox, not an oracle.
⚙️ KEY SETTINGS
⚙️ Cycle Model:
— Anchor — cycle bottom (default 07 Nov 2022): date all phases are projected from; alternative 21 Nov 2022 documented in the tooltip
— Bull phase length (default 1064 days) / Bear phase length (default 364 days): ≈ averages of the 3 completed cycles
— Cycles to draw back (default 3) / forward (default 1): how many turn lines and labels are drawn
— Show 2nd projected cycle (default off): one extra bottom/top pair with doubled uncertainty
🎨 Visual Settings:
— Theme (Auto / Dark / Light): Auto detects from the chart background; all text colors adapt
— Phase background , Cycle turn lines , Turn labels , Watermark : independent toggles with color inputs
📊 Dashboard:
— Position (4 corners), font size (Small–Huge; dividers render one step smaller), and per-section switches: Cycle / Projection / Corrections / Ranges
📈 Hyperbola — Lows:
— 3 main cycle lows (2015 / 2018 / 2022, on by default) + 3 optional early-history lows (2011 / 2013 / 2015) — each is a checkbox + date + price
— Dashed extension (default 10 years), curve color, anchor-point markers
📉 Hyperbola — Highs:
— 4 cycle highs (2013 / 2017 / 2021 / 2025, on by default) + a spare projected slot (off), extension (default 5 years), curve color
🔢 Fibonacci Grids:
— Bull grids (default on) / Bear grids (default off) with separate colors
— Levels (default "0, 0.236, 0.382, 0.5, 0.618, 0.786, 0.836, 0.886, 1"; values > 1 = extensions)
— Highlight 0.786–0.836 zone (default on), Log-scale levels (default off), Reverse (default on), level labels
⛏ Halvings: lines + labels toggles, color
🟡 Sell Zones: toggle, color, Zone size % from high (default 5%)
🔮 Price Projection: toggle, Path shape (Replay last bull / Log-linear), color
🔔 Alerts: master switch, Webhook JSON Format (default off), Pre-alert days (default 30)
🔔 ALERTS
— 🟢 CYCLE FLIP → BULL — model bottom date reached; payload: ticker, timeframe, price, next projected top date
— 🔴 CYCLE FLIP → BEAR — model top date reached; payload: ticker, timeframe, price, next projected bottom date
— ⏳ CYCLE TURN APPROACHING — fires once, N days (default 30) before the next projected turn; payload: turn type (TOP/BOTTOM), days left, date
All alerts fire on confirmed bars only (once per bar close) and support both human-readable text and JSON webhook payloads for bot integration. Create a single alert with condition "Any alert() function call".
⚠️ IMPORTANT NOTES
— 🚫 No repainting. The cycle phase is pure calendar-time math against a fixed anchor; the curves are fitted once from user-defined historical pivots; the reference bull shape is recorded from confirmed bars only; all alerts use bar-close frequency. Nothing in the model reads unconfirmed real-time data, so no line, zone or label moves after the fact.
— 📐 Sample size: 3 completed cycles. Every statistical claim in this model rests on three observations. The hyperbolic fits are geometry/regression over 3–6 points. Treat all projected dates and prices as reference scenarios with wide error bars — the dashboard says "Rhythm ≠ law" for a reason.
— 📏 Calibrated chart: INDEX:BTCUSD, Weekly, regular (linear) price scale. Exchange charts start later and distort early-history fits. Keep the fib "Log-scale levels" input OFF on a linear chart. The dashboard's ✓ confirms symbol and timeframe; the scale must be checked manually.
— ⚖️ Scope: this is a macro-cycle framework for Bitcoin. It produces no intraday entry signals, no stop placement, and no position sizing. The projected path is explicitly hypothetical.
— 🛠️ This is a cycle-analysis and scenario-visualization tool, not an automated trading bot. It provides projected turn dates, curve-based price references, and accumulation/distribution zones — trade decisions remain yours.
— 🌐 The script runs on any symbol and timeframe, but the model is designed for Bitcoin on Daily/Weekly charts — a dashboard warning appears on intraday timeframes.
Bitcoin Almanac · v1.5.2 Indicator

Nadaraya-Watson Trend [QuantAlgo]🟢 Overview
The Nadaraya-Watson Trend indicator estimates a smooth, adaptive trend path by applying non-parametric kernel regression directly to price. For each bar it weights historical values inside a configurable lookback window with a chosen kernel function, normalizes those weights, and returns a single endpoint estimate that forms the plotted trend line. Bandwidth and kernel type control how aggressively recent bars dominate the estimate, optional residual bands express how far price is dispersed around that path, and slope based coloring with reversal markers make direction and turning points readable at a glance across any timeframe or instrument.
🟢 How It Works
The indicator is built around a one sided Nadaraya-Watson (NW) estimator: only the current bar and past bars enter the calculation, so the path behaves as a causal smoother rather than a centered, repainting fit. The pipeline has three stages: kernel weighting over the lookback window, normalized regression into a single trend value, and optional residual band construction from the same estimate.
First, effective bandwidth is formed from the configured bandwidth and multiplier. Each lag distance is then mapped to a kernel weight. Gaussian and Rational Quadratic keep infinite support with different decay shapes. Compact kernels (Epanechnikov, Triangular, Quartic, Cosine) only assign weight while the normalized lag stays inside the unit interval:
kernel_weight(float dist, float h, string ktype, float rq) =>
float w = 0.0
if h > 0.0
float u = dist / h
if ktype == 'Gaussian'
w := math.exp(-(dist * dist) / (2.0 * h * h))
else if ktype == 'Rational Quadratic'
w := math.pow(1.0 + (dist * dist) / (2.0 * rq * h * h), -rq)
else if math.abs(u) <= 1.0
if ktype == 'Epanechnikov'
w := 0.75 * (1.0 - u * u)
else if ktype == 'Triangular'
w := 1.0 - math.abs(u)
else if ktype == 'Quartic'
w := (15.0 / 16.0) * math.pow(1.0 - u * u, 2.0)
else if ktype == 'Cosine'
w := (math.pi / 4.0) * math.cos(math.pi * u / 2.0)
w
float h = bandwidth * h_mult
Next, the Nadaraya-Watson path is computed as the normalized weighted average of the selected source across the lookback window. Nearer bars dominate when bandwidth is low. Weight spreads more evenly when bandwidth is high, producing a smoother path:
float sum_w = 0.0
float sum_p = 0.0
for i = 0 to lookback
float w = kernel_weight(i, h, kernel_type, rel_weight)
sum_w += w
sum_p += src * w
float nw_trend = sum_w != 0.0 ? sum_p / sum_w : na
Finally, residual bands can be drawn from a kernel weighted mean absolute residual of the source versus the current NW estimate, scaled by the band multiplier. When price is tightly clustered around the path the envelope contracts. When price is dispersed the envelope expands, framing extension and compression relative to the same estimator that defines the trend:
float sum_abs = 0.0
float sum_res_w = 0.0
for i = 0 to lookback
float w = kernel_weight(i, h, kernel_type, rel_weight)
if w > 0.0 and not na(src ) and not na(nw_trend)
sum_abs += w * math.abs(src - nw_trend)
sum_res_w += w
float residual = sum_res_w != 0.0 ? sum_abs / sum_res_w : na
float upper = not na(nw_trend) and not na(residual) ? nw_trend + residual * band_mult : na
float lower = not na(nw_trend) and not na(residual) ? nw_trend - residual * band_mult : na
🟢 Signal Interpretation
▶ Bullish Path (Rising NW Line with Bullish Color): When the Nadaraya-Watson estimate is increasing bar to bar, the path and optional gradient fill plot in the bullish color, reading as an uptrend in the kernel smoothed series. Treat this as a long bias: strongest on the reversal marker with price holding above the path, or on pullbacks that respect the path while slope stays up. Bias weakens if price loses the path and the slope flattens or flips down.
▶ Bearish Path (Falling NW Line with Bearish Color): When the estimate is decreasing bar to bar, the path and fill plot in the bearish color, reading as a downtrend in the kernel smoothed series. Treat this as a short bias: strongest on the reversal marker with price holding below the path, or on bounces that fail at the path while slope stays down. Bias weakens if price reclaims the path and the slope flattens or flips up.
▶ Residual Bands (Optional Envelope Around the Path): With residual bands enabled, the upper and lower lines track a scaled kernel weighted residual around the NW path. Touches or closes beyond the outer band highlight price stretched away from the estimate. Returns toward the path after an extension often mark mean reversion relative to the kernel trend rather than a full regime change. Band width is derived from how widely the source has been scattered around the current NW estimate inside the lookback window
🟢 Features
▶ Preconfigured Presets: Three parameter sets tuned for different trading styles and timeframes. "Default" delivers balanced trend estimation for swing trading on 1H to daily charts, smoothing short lived noise while still responding to genuine directional turns. "Fast Response" is built for intraday work on 5 minute to 1H charts, keeping the path tighter to recent structure so turns register earlier at the cost of more frequent reversals in chop. "Smooth Trend" is aimed at position style reading on daily and weekly charts, forming a more stable baseline that flips only when the kernel path itself shifts with more conviction. Kernel type, residual bands, and visual options stay independently configurable under every preset.
▶ Kernel Library: Six kernel functions expand how the same endpoint Nadaraya-Watson framework assigns weight across the window. Gaussian is the classic smooth default with infinite support. Epanechnikov, Triangular, Quartic, and Cosine are compact kernels that fully exclude bars beyond the bandwidth scale. Rational Quadratic keeps infinite support with heavier tails, and its Relative Weighting input controls how much influence farther bars retain versus a Gaussian like decay. Switching kernels changes the shape of the single plotted path without adding a second model or external oscillator.
▶ Residual Bands: Optional envelope around the NW path built from kernel weighted mean absolute residuals of the source versus the estimate, scaled by Band Multiplier. Enable when you want extension and compression context around the same trend line. Disable when you want only the path, gradient, and markers.
▶ Built-in Alerts: Five alert conditions support hands off monitoring. "Bullish Kernel Reversal" fires on the bar the path slope flips from down to up. "Bearish Kernel Reversal" fires on the bar the path slope flips from up to down. "Any Kernel Reversal" fires on either directional flip. "Source Cross Above Upper Band" and "Source Cross Below Lower Band" fire when the selected source crosses the residual envelope extremes. Alert messages include exchange, ticker, and timeframe for immediate context.
▶ Visual Customisation: Six color presets (Classic, Aqua, Cosmic, Cyber, Neon, and Custom) apply coordinated bullish and bearish colors to the path, gradient fill, residual bands, markers, optional bar coloring, and optional background coloring. Custom unlocks independent bullish and bearish color pickers. Gradient fill, residual bands, reversal markers, bar coloring, and background coloring can each be toggled so the chart stays as clean or as expressive as the workflow requires.
Indicator

Price Action Breakout Trend [QuantAlgo]🟢 Overview
Price Action Breakout Trend is a trend-following indicator built on structural range breakouts rather than moving average crossovers or oscillator thresholds. It tracks the highest high and lowest low of a defined lookback window to establish the levels price must decisively clear to confirm a directional shift, anchoring a trailing stop that ratchets in the trend's direction and reverses only when price breaks through it, helping traders distinguish genuine trend continuation from the shallow pullbacks that punctuate every sustained move across all timeframes and markets.
🟢 How It Works
The foundation of the indicator is the range defined by recent price extremes. On each bar it references the highest high and lowest low of the prior lookback window, excluding the current bar so the reference range is locked in before price interacts with it:
prior_high = ta.highest(high, lookback)
prior_low = ta.lowest(low, lookback)
These two levels frame the breakout boundaries. Rather than reacting to every marginal touch, the indicator lets you define what qualifies as a genuine break through the confirmation setting, which determines whether the closing price or the full bar extreme is tested against the trailing stop:
test_down = confirmation == 'Close' ? close : low
test_up = confirmation == 'Close' ? close : high
From these, a single trailing stop is maintained on the active side of the trend. While the trend holds bullish the stop ratchets upward, advancing to track the rising lookback low and never loosening, and the trend reverses the moment the tested price breaks below it:
if trend == 1
trail := math.max(trail, prior_low)
if test_down < trail
trend := -1
trail := prior_high
On that reversal the stop immediately re-anchors to the opposite extreme, flipping above price to begin trailing the new downtrend, where the mirror of this same logic ratchets the stop lower and flips the trend back to bullish once price breaks above it. Because the reversal is triggered by the same stop price has been trailing, the line is not a passive overlay but the actual decision boundary, with no separate signal calculation sitting behind it. This makes the indicator a continuous stop-and-reverse system that always holds a committed direction, retaining its bullish or bearish reading through every pullback contained within the range until price clears the trailing level.
🟢 Signal Interpretation
▶ Bullish Trend (Green): When price breaks above the trailing stop and the trend flips up, the indicator enters bullish mode with green coloring applied across the stop, gradient fill, and breakout levels. The stop sits below price and ratchets higher as the trend develops, and the reading holds through pullbacks that stay above it. The flip into green, marked by an up triangle beneath the bar, identifies a potential long/buy opportunity, with subsequent pullbacks toward the rising stop offering potential continuation entries while the trend remains intact.
▶ Bearish Trend (Red): When price breaks below the trailing stop and the trend flips down, the indicator enters bearish mode with red coloring across all visual elements. The stop sits above price and ratchets lower as the decline extends, holding bearish through rallies that fail to reclaim it. The flip into red, marked by a down triangle above the bar, identifies a potential short/sell opportunity, with rallies back toward the falling stop offering potential continuation entries on the downside.
🟢 Features
▶ Preconfigured Presets: Three parameter sets cover different trading approaches. "Default" targets swing trading on 4-hour and daily charts with a 10-bar lookback and close-based confirmation, filtering marginal breaks while staying responsive to genuine shifts. "Fast Response" shortens the lookback to 5 bars and switches to wick-based confirmation for intraday charts, where the trend needs to flip as soon as price trades beyond a recent extreme. "Smooth Trend" extends the lookback to 25 bars with close confirmation for position trading on daily and weekly timeframes, where the cost of a false flip exceeds the cost of a delayed one. Selecting a preset overrides the individual lookback and confirmation inputs.
▶ Built-in Alerts: Three alert conditions cover all directional states. "Bullish Breakout Signal" fires on the bar where the trend confirms bullish. "Bearish Breakout Signal" fires on the bar where it confirms bearish. "Any Breakout Signal" combines both into a single condition for traders who want a unified notification regardless of direction.
▶ Visual Customization: Six color presets (Classic, Aqua, Cosmic, Cyber, Neon, and Custom) apply coordinated bullish and bearish schemes across the trailing stop, gradient fill, breakout levels, markers, and optional bar and background coloring. Independent toggles control each visual layer, so the trailing stop line, the gradient fill that ramps from the stop toward price, the triangle markers printed on each flip, and the underlying breakout levels that frame the active range can each be shown or hidden without affecting the others. Bar coloring tints price candles with the active trend color at a configurable transparency, and background coloring extends the directional tint across the full chart pane. Both are disabled by default and controlled independently.
*Tips: Layer the Price Action Breakout Trend with complementary analysis rather than treating it as a standalone trading tool. Breakouts hold most reliably when backed by participation, so combine each flip with volume context, since a break on expanding volume is far more likely to sustain than one on thin flow, and read the level being cleared against market structure, as a breakout through a well-established swing high or low carries more significance than one in open space. Pairing this script with volume, open interest, CVD, market structure, and mean reversion indicators from our QuantAlgo toolkit can further validate a breakout before entry. Indicator

MR8 Trend Direction & Signal IndicatorThe MR8 is a dynamic trend-following indicator built on the McGinley Dynamic moving average — one of the most responsive and self-adjusting smoothing algorithms available. Unlike traditional EMAs that can lag or whipsaw in changing market conditions, the McGinley Dynamic automatically adapts its speed based on market velocity, resulting in cleaner, more reliable signals.
How It Works
MR8 plots two McGinley Dynamic lines — a faster Ribbon 8 and a slower Ribbon 9. When the faster line crosses above the slower line, the ribbon turns white, signaling bullish momentum and a potential long entry. When the faster line crosses below, the ribbon turns grey, signaling bearish momentum and a potential short entry. This crossover method filters out the noise and false flips that plague single-line slope-based indicators.
Built-In Stop Loss
MR8 includes an optional visual stop loss line calculated directly from the ribbon's current value — 2% above the line for shorts, 2% below for longs. Toggle it on in settings to see exactly where your risk level sits relative to the indicator itself, on any timeframe.
Alert Ready
MR8 includes two built-in alert conditions — one for long signals and one for short signals — with a webhook-compatible JSON message format. Connect directly to any automated trading bot or notification system with zero additional configuration.
Best Used On
BTC/USD and BTC/USDT
55 minute, 1 hour, and higher timeframes
Futures and spot markets
Settings
Ribbon 8 Length — controls the speed of the faster line (default 12)
Ribbon 9 Length — controls the speed of the slower line (default 21)
Stop Loss % — distance from the ribbon for the optional SL line (default 2%)
Show Stop Loss Line — toggle the SL visualization on or off Indicator

Monotonic Trend Consensus [QuantAlgo]🟢 Overview
Monotonic Trend Consensus is a trend-following oscillator built on rank correlation between price and time rather than moving averages or crossovers. It scores how consistently price is ordered across multiple lookback windows and combines them into a single bounded reading on a -1 to +1 scale, holding the same meaning on any symbol or timeframe so traders can separate a broadly aligned trend from directionless noise and read when a move has stretched to saturation.
🟢 How It Works
The foundation is Spearman rank correlation between price and time, computed over each active window. Closes inside the window are ranked against one another, time forms its own rising sequence of ranks, and the difference between the two collapses to a single coefficient (rho):
float price_rank = less + (eq + 1.0) / 2.0
float time_rank = float(len - i)
float rho = 1.0 - 6.0 * sumd2 / denom
The coefficient reads +1 when each bar closes above the last in unbroken order, 0 when there is no consistent order, and -1 when each bar steps lower. Because it scores ordering rather than smoothing price into a line, it reflects the current window directly rather than trailing behind it, though it still needs a full window of bars to form. Ranking also limits the pull of any single outlier bar, and the bounded output is what lets one threshold hold across markets without rescaling.
A single window describes direction; the tool runs several and averages them into a consensus spanning fast, medium, and slow horizons:
consensus := array.avg(rhos)
Agreement is then measured as the share of windows leaning the same way as the consensus, and this conviction figure must clear a floor before a direction prints, working alongside the strength threshold:
conviction := 100.0 * agree / active
raw_bull = consensus > threshold and conviction >= min_conviction
raw_bear = consensus < -threshold and conviction >= min_conviction
A reading registers only when both clear at once: consensus past the threshold and windows aligned enough to meet the conviction floor. Fail either and the line stays flat. With Show Neutral on, those flat stretches reset to neutral; with it off, the line holds its last direction until the next qualifying move.
🟢 Signal Interpretation
▶ Bullish Consensus (Green): Consensus sits above the upper threshold with enough windows aligned, meaning recent bars are ordered upward across horizons. Trend traders read the turn into green as a possible long or continuation as the score presses toward +1. Mean-reversion traders treat a reading pinned near +1 as a stretched, broadly-agreed advance rather than a buy, and look to fade only once the line rolls back off the extreme, since the score can hold high through a sustained trend.
▶ Bearish Consensus (Red): Consensus sits below the lower threshold with conviction met, with bars ordered downward across horizons. Trend traders read the turn into red as a possible short or continuation as the score presses toward -1. Mean-reversion traders treat a reading pinned near -1 as a saturated decline where a bounce becomes more plausible, and look to fade on the turn back up rather than at the low itself.
▶ Neutral (Gray): With Show Neutral on, the line goes gray whenever no direction qualifies, either because consensus sits inside the threshold or conviction falls short. The zero line acts as the balance point and behaves like support or resistance for the reading itself: a score rejected at zero from above points to bullish order reasserting, a score capped at zero from below points to bearish order holding, and a clean break through leans toward a regime change. Reading this midline behavior against price is where market structure tools pair well, separating a base building above a structural level from a coil forming under overhead supply. Trend traders stand aside until the line commits; mean-reversion traders find less to work with here than at the edges.
▶ Reading the Extremes: The axis caps at +1 and -1, marking maximum agreement across every active window. Trend traders take an extreme as a sign a move is still in force; mean-reversion traders take it as a stretched zone and watch for the score to turn back toward zero as agreement breaks. An extreme that aligns with a known structural level gives a fade a cleaner reference than one in open space, and neither read holds on the extreme alone, since a strong trend can stay saturated before it cools.
🟢 Features
▶ Preconfigured Presets: Three setups map to different holding styles. "Default" suits swing work on 4-hour and daily charts, pairing a mid-range window spread of 8, 13, 21, and 34 with a 0.35 threshold and a 60% conviction floor, so a direction needs both strength and agreement before it flags. "Fast Response" pulls the windows in to 5, 8, 13, and 21 and eases the threshold and conviction floor so the reading keeps pace with quicker intraday swings. "Smooth Trend" stretches the windows out to 21, 34, 55, and 89 and raises both gates for daily and weekly position trading, where a premature flip costs more than a late one. Choosing a preset takes over the manual window, threshold, and conviction fields.
▶ Built-in Alerts: Four conditions track every change in state. "Bullish Trend Signal" triggers when the consensus confirms to the upside. "Bearish Trend Signal" triggers when it confirms to the downside. "Trend Lost / Neutral" triggers when an active direction fades back to flat, which is also the event a mean-reversion trader watches for after an extreme. "Any Trend Change" rolls the two directional events into a single notification for anyone who wants one alert covering both ways.
▶ Visual Customization: Six color schemes (Classic, Aqua, Cosmic, Cyber, Neon, and Custom) carry a matched pair of bullish and bearish colors through the consensus line, its tiered gradient fill down to the zero baseline, and the optional bar and background tints. Marker lines sit at the positive and negative trigger levels to show the zone the consensus has to cross, and each window's own score can be switched on as a faint backing line so you can see which horizons are driving or dragging the combined figure. Bar coloring paints the price candles in the active trend color at an adjustable transparency, while background coloring spreads that tint across the pane.
Indicator

Dynamic Volatility Filter [QuantAlgo]🟢 Overview
Dynamic Volatility Filter is a trend-following indicator built on an adaptive volatility threshold rather than fixed bands or moving average crossovers. It quantifies the realized volatility of recent price movement to establish a dynamic noise floor that price must overcome before the line responds, anchoring a filtered trend line that only shifts when a directional move exceeds the prevailing volatility regime, helping traders separate statistically significant trend change from noise-driven fluctuation across every timeframe and market.
🟢 How It Works
The foundation of the indicator is a rolling volatility estimate derived from the Average True Range over a configurable lookback window, scaled by a noise multiplier to produce the threshold used in all line logic:
threshold = ta.atr(lookback) * noise_mult
This threshold functions as a deviation barrier the line will not cross until price movement breaches it. On each bar the filter measures the displacement between price and the current line position, and only when that displacement exceeds the volatility threshold does the line update:
float diff = src - dvf_line
if math.abs(diff) > threshold
dvf_line := dvf_line + diff * snap_speed
The line remains stationary through movement that falls within the volatility envelope and only commits once displacement clears the threshold. Rather than converging directly onto price, the line advances by a fraction of the residual distance governed by the catch-up coefficient, producing a damped response instead of an instantaneous one. Lower catch-up values introduce deliberate lag that requires a move to persist before the line follows, while higher values tighten the track to price.
Direction state is derived from the line's own first difference, comparing its current position against the prior bar:
if dvf_line > dvf_line
trend_dir := 1
else if dvf_line < dvf_line
trend_dir := -1
Because the line holds flat whenever displacement stays inside the threshold, those periods register no direction change. With Show Neutral enabled the state resets to neutral during these pauses, and with it disabled the line retains its last directional reading until the next threshold breach.
🟢 Signal Interpretation
▶ Bullish Trend (Green): When the filter line registers positive displacement against its prior position, the indicator enters bullish mode with green coloring applied across the line, gradient fill, and volatility bands. This state persists through pullbacks contained within the threshold, since direction only updates when the line moves. The transition into green marks a potential long/buy opportunity, with pullbacks toward the line during an established bullish reading offering potential continuation entries.
▶ Bearish Trend (Red): When the filter line registers negative displacement against its prior position, the indicator enters bearish mode with red coloring across all visual elements. The reading holds bearish until price clears the volatility threshold in the opposite direction. The transition into red marks a potential short/sell opportunity, with rallies back toward the line during an established bearish reading offering potential continuation entries on the downside.
▶ Neutral (Gray): When Show Neutral is enabled, the line and fills turn gray during flat stretches where price stays inside the threshold and the line holds still. This state signals an absence of confirmed direction and is best treated as a stand-aside condition, where waiting for the line to commit back to green or red avoids entering during indecisive, range-bound conditions.
🟢 Features
▶ Preconfigured Presets: Three parameter sets cover different trading approaches. "Default" targets swing trading on 4-hour and daily charts with a balanced threshold that filters moderate noise while staying responsive to genuine regime shifts. "Fast Response" lowers the volatility barrier and shortens the lookback for intraday charts where the line needs to adapt to shorter-duration moves. "Smooth Trend" raises the threshold and slows the catch-up for position trading on daily and weekly timeframes, where the cost of a false flip exceeds the cost of a delayed one. Selecting a preset overrides the individual noise, period, and catch-up inputs.
▶ Built-in Alerts: Three alert conditions cover all directional states. "Bullish Trend Signal" fires on the bar where the trend confirms bullish. "Bearish Trend Signal" fires on the bar where it confirms bearish. "Any Trend Change" combines both into a single condition for traders who want a unified notification regardless of direction.
▶ Visual Customization: Six color presets (Classic, Aqua, Cosmic, Cyber, Neon, and Custom) apply coordinated bullish and bearish color schemes across the line, gradient fill, volatility bands, and optional bar and background coloring. The volatility bands plot one threshold above and below the line to frame the deviation envelope price must breach, and can be hidden for a clean line-only view. Bar coloring tints price candles with the active trend color at a configurable transparency level, and background coloring extends the directional tint across the full chart pane. Both are disabled by default and controlled independently.
*Recommendation: Layer the Dynamic Volatility Filter with complementary analysis rather than treating it as a standalone decision tool. Combine direction changes with volume context, since expanding volume on a flip bar suggests the move has broader participation behind it, and read transitions against key structural levels, as a flip occurring near major support or resistance carries more weight than one in open space. Pairing this script with volume, open interest, CVD, market structure, and mean reversion indicators from our QuantAlgo toolkit can further validate directional bias before entry. Indicator

Momentum Candle Sekolah TradingMomentum Candle Sekolah Trading
Overview
Momentum Candle is a technical indicator designed to detect strong momentum candles based on body size and wick ratio validation. It is built to help traders quickly identify whether a candle represents genuine bullish or bearish momentum, or merely noise — across multiple forex pairs and BTCUSD.
This indicator is an evolution of the previous Momentum Candle v3, with significant improvements including multi-pair support, EMA trend filter, consolidation validation, dual signal modes, and a time-based alert system.
How It Works
The indicator evaluates each candle using two core criteria:
Minimum Body Size — The candle body (|close − open|) must meet or exceed a user-defined minimum size (in pips), configured separately for each pair and each timeframe (M5, M15, M30).
Wick Ratio — The total wick length must not exceed a configurable percentage of the total candle range (body + wick). Default is 30%, meaning candles with excessive wicks are filtered out.
Signal Modes
Two signal modes are available via the "Mode Candle" input:
Agresif (Aggressive): A signal is generated when the body is large enough and the wick ratio is acceptable, regardless of wick direction. Suitable for traders who want more frequent signals.
Konservatif (Conservative): Adds an additional directional wick check — bullish signals require the lower wick to be smaller than the upper wick, and vice versa for bearish. This reduces noise and false signals.
Alert Modes
Two alert timing modes are available via the "Mode Alert" input:
Agresif: Alert fires immediately every bar when the signal condition is met.
Konservatif: Alert fires only in the 20–90 second window before candle close, reducing premature alerts caused by candles that may still change before closing.
Consolidation Validation (Optional)
When enabled, the indicator checks that the N previous candles (configurable, default 3) are each smaller in body size than the current signal candle. This helps confirm the signal appears after a period of lower volatility, adding context to the momentum reading.
EMA Trend Filter (Optional)
An EMA trend filter can be activated to restrict signals to the direction of the prevailing trend:
Bullish signals only appear when price is above the EMA.
Bearish signals only appear when price is below the EMA.
The EMA timeframe (M5, M15, M30, H1) and period are fully configurable. Recommended: M5=21, M15=50, M30=50, H1=100.
A live trend label (table, top-right) shows the current EMA trend direction.
Supported Pairs and Timeframes
Each pair can be enabled or disabled independently. Minimum body size is configurable per pair and per timeframe:
PairM5 DefaultM15 DefaultM30 DefaultXAUUSD35 pips45 pips55 pipsUSDJPY10 pips15 pips20 pipsGBPUSD10 pips15 pips20 pipsAUDUSD10 pips15 pips20 pipsUSDCAD10 pips15 pips20 pipsEURUSD10 pips15 pips20 pipsNZDUSD10 pips15 pips20 pipsUSDCHF10 pips15 pips20 pipsBTCUSD80 pips120 pips160 pips
Signals
🔵 Blue triangle (below bar): Bullish momentum signal
🔴 Red triangle (above bar): Bearish momentum signal
How to Use
Select your pair and enable it in the "Aktifkan Pair" section.
Adjust the minimum body size for your preferred timeframe.
Set the wick ratio threshold (default 30% is recommended as a starting point).
Choose between Aggressive or Conservative mode depending on your trading style.
Optionally enable the EMA filter for trend-confirmed signals only.
Optionally enable consolidation validation for breakout-style confirmation.
Set up alerts using the built-in alert conditions for both bullish and bearish, in either Aggressive or Conservative alert mode.
Important Notes
This indicator is a tool for technical analysis only. It does not guarantee trading results.
It is strongly recommended to combine this indicator with price action context, support/resistance levels, and proper risk management.
Past signal performance does not guarantee future results.
This script does not use security() with lookahead to access future data. The EMA from a higher timeframe uses barmerge.lookahead_off to prevent repainting.
This script does not use Heikin Ashi or non-standard chart types. It is designed for standard candlestick charts. Indicator

Adaptive Volatility Envelope [QuantAlgo]🟢 Overview
The Adaptive Volatility Envelope wraps price in a dynamic field of volatility bands centred on a self-adjusting baseline. Rather than tracking price at a fixed speed, the centerline measures how efficiently price is moving and accelerates when movement is more directional while slowing down in choppy conditions, so the baseline follows sustained moves more closely and reacts less to sideways noise. Around this adaptive centerline, layered ATR-scaled bands form a heat map that brightens toward the side price is moving into, giving traders a visual read on both trend state and momentum strength across any instrument or timeframe.
🟢 How It Works
The indicator's core methodology combines two mechanisms: an efficiency-driven centerline that adapts its tracking speed to market conditions, and a volatility-scaled band field that visualises momentum through colour and brightness.
First, market efficiency is measured by comparing net directional movement against total movement over the adaptation window. This ratio approaches one when movement is more directional and falls toward zero in choppy conditions, and it is used to blend between a slow choppy speed and a fast trending speed. The result is a smoothing factor that automatically tightens the centerline's tracking in directional moves and loosens it in noise, without manual recalibration:
efficiencyRatio = totalMovement != 0 ? priceChange / totalMovement : 0.0
smoothingFactor = choppySpeed + (trendSpeed - choppySpeed) * efficiencyRatio
Next, the centerline advances toward price by the smoothing factor on each bar, producing an adaptive baseline that closes the gap quickly when efficiency is high and slowly when it is low:
centerline := na(centerline ) ? src : centerline + smoothingFactor * (src - centerline )
Band width is then derived from Average True Range scaled by the band spacing, with a safety cap that measures total envelope height against the recent fifty bar price range. If the raw width would exceed this cap, every band is scaled down proportionally, preventing the field from blowing out and distorting the chart scale during volatility spikes:
widthScale = rawWidth > maxWidth and rawWidth != 0 and maxWidth > 0 ? maxWidth / rawWidth : 1.0
bandUnit = atr * bandSpacing * widthScale
Momentum is resolved from the centerline's slope normalised by ATR and scaled by the colour sensitivity, then clamped to a range of minus one to one. This drives a gradient that runs from the neutral colour at flat momentum toward the bullish or bearish colour as the move strengthens, while a directional brightness offset lights up the leading side of the envelope more than the trailing side:
momentumRaw = not na(atr) and atr != 0 ? slope / atr * colorSens : 0.0
momentum = math.max(-1.0, math.min(1.0, momentumRaw))
Finally, a confirmed-bars toggle governs what the script computes. In Live mode the centerline, momentum, bands and signals update intrabar on the developing bar for the fastest response, with the current bar able to change until it closes. In Confirmed mode everything is locked to closed bars only, so signals do not repaint and print on the bar that closes the move.
🟢 Signal Interpretation
▶ Bullish Momentum (Centerline and Bands Brightening Toward the Bullish Colour): When the centerline slopes upward relative to volatility, momentum turns positive and the envelope gradient shifts toward the bullish colour. The leading upper side of the field brightens through the directional brightness offset, making the direction of the move easier to read. The bullish state persists as long as the centerline continues rising, and a "Momentum Turned Bullish" alert fires on the bar where momentum crosses above zero.
▶ Bearish Momentum (Centerline and Bands Brightening Toward the Bearish Colour): When the centerline slopes downward relative to volatility, momentum turns negative and the gradient shifts toward the bearish colour, with the leading lower side of the field brightening to flag the downturn. As with the bullish state, the colour saturates as the move strengthens and fades toward neutral as momentum flattens. A "Momentum Turned Bearish" alert fires on the bar where momentum crosses below zero, flagging a potential short or exit condition.
▶ Neutral Momentum (Centerline and Bands at the Neutral Colour): When the centerline is flat or moving slowly relative to volatility, momentum sits near zero and the gradient settles at the neutral colour at the middle of its range. This indicates low conviction or sideways drift rather than a directional move, and the envelope brightens away from neutral only as the slope steepens enough to register on either side. Reading the neutral state helps separate genuine momentum from chop, since the field stays muted until price generates a meaningful directional slope.
🟢 Features
▶ Preconfigured Presets: Three parameter sets cover a range of trading styles and timeframes. "Default" delivers a balanced engine for swing trading on 4-hour and daily charts. "Fast Response" shortens the adaptation window and quickens both market speeds for tighter, more reactive bands on 5-minute to 1-hour charts, suiting intraday and scalping use. "Smooth Trend" lengthens the adaptation window and slows the speeds for wider, steadier bands on daily and weekly charts, suiting position trading. The presets deliberately leave Volatility Length untouched, so band width stays under independent manual control.
▶ Built-in Alerts: Three alert conditions support automated monitoring of momentum transitions. "Momentum Turned Bullish" fires on the bar momentum crosses above zero. "Momentum Turned Bearish" fires on the bar momentum crosses below zero. "Any Momentum Change" triggers on either transition for traders who want a single unified alert regardless of direction. All alerts include the exchange, ticker, and timeframe in the message for immediate context, and the confirmed-bars toggle determines whether they evaluate on live or closed-bar data.
▶ Visual Customisation: Six colour presets, Classic, Aqua, Cosmic, Cyber, Neon, and Custom, provide coordinated bullish and bearish colour pairings suited to different chart themes and personal preferences. Selecting Custom exposes independent colour pickers for full manual control over both states, alongside an adjustable neutral colour for the midpoint of the gradient. The number of band layers is configurable from one for a clean minimal look up to eight for a rich gradient field, and the bands can be hidden entirely to display only the centerline. Optional bar colouring tints price candles with the active trend colour at a configurable transparency level, reflecting the current momentum state without reading the centerline directly.
Indicator

Smart Money Concepts Order Blocks, Liquidity [LunqFX]Smart Money Concepts — Order Blocks & Liquidity
A professional-grade SMC indicator that answers the three
questions every trader needs before entering a trade:
① What is the current trend?
② Where is the key institutional zone?
③ Is price at that zone right now?
📋 HOW TO USE — STEP BY STEP
The indicator works as a 3-step confirmation system.
Do not enter a trade unless all 3 align.
STEP 1 — READ THE TREND (panel header)
Look at the panel in the top-right corner.
▲ BULLISH → only look for LONG setups
▼ BEARISH → only look for SHORT setups
If the gauge bar shows less than 40% or more than 60%
— the bias is strong. Between 40–60% = no clear edge,
reduce position size or wait.
STEP 2 — WAIT FOR STRUCTURE EVENT
• BOS appears → trend continuation confirmed.
The market broke a key level and is likely to continue.
Look for entries in the direction of the break.
• CHoCH appears → trend is reversing.
This is the earliest signal of a new trend forming.
Higher risk, higher reward — wait for Step 3 to confirm.
Rule: never trade against the last structure signal.
STEP 3 — WAIT FOR PRICE TO RETURN TO THE OB ZONE
After BOS or CHoCH fires, an Order Block zone is drawn
on the chart (blue = bullish, pink = bearish).
Wait for price to pull back INTO that zone.
When price enters the zone:
→ The zone border brightens (active glow effect)
→ The panel "Zone" row shows ▲ BULL OB or ▼ BEAR OB
→ Candle color changes to the zone color
This is your entry window.
✅ FULL SETUP EXAMPLE (LONG)
1. Panel shows ▲ BULLISH
2. CHoCH or BOS fires bullish — structure confirmed
3. Blue Order Block zone is drawn below current price
4. Price pulls back into the blue zone
5. Panel Zone row shows "▲ BULL OB"
6. Enter long — Stop Loss below the OB zone bottom
7. Target: next swing high or previous resistance
✅ FULL SETUP EXAMPLE (SHORT)
1. Panel shows ▼ BEARISH
2. BOS fires bearish — downtrend continuation
3. Pink Order Block zone is drawn above current price
4. Price pulls back up into the pink zone
5. Panel Zone row shows "▼ BEAR OB"
6. Enter short — Stop Loss above the OB zone top
7. Target: next swing low or previous support
⚠️ WHAT TO AVOID
✗ Don't enter on the BOS/CHoCH candle itself —
wait for the pullback to the OB zone
✗ Don't trade a swept (faded/dashed) zone —
it was already mitigated, its edge is gone
✗ Don't fight the trend — if panel says BEARISH,
don't look for longs no matter how good it looks
✗ High ATR (volatile) = widen your stop loss
or reduce position size accordingly
🔷 ORDER BLOCKS
Automatically detects bullish and bearish Order Blocks —
the last opposing candle before a Break of Structure.
Zones use a 2-band gradient (dense core + lighter outer)
to visualize institutional demand and supply areas.
• Active glow: border brightens when price enters the zone
• Swept zones: automatically fade to dashed when mitigated
• Age-based cleanup: old zones removed after set bar count
• Mitigation mode: choose Close or Wick for zone removal
📐 BREAK OF STRUCTURE (BOS) & CHANGE OF CHARACTER (CHoCH)
BOS confirms trend continuation. CHoCH signals a trend
reversal. Only the most recent signal is displayed —
CHoCH automatically clears stale BOS, and BOS clears
stale CHoCH. No visual clutter.
• BOS: dashed line at broken structure level
• CHoCH: solid line with arrow label at pivot bar
• No repaint: all signals fire on confirmed closed candles only
💧 LIQUIDITY — Equal Highs / Equal Lows
Detects EQH and EQL liquidity pools — price levels where
stop-losses cluster. Marks them with dotted lines so you
can anticipate smart money liquidity sweeps.
⚡ FAIR VALUE GAPS (FVG)
Identifies bullish and bearish imbalance zones (3-candle
gaps). Optional — hidden by default to keep the chart clean.
Enable in settings when imbalance confluences matter.
🎨 MOMENTUM GRADIENT CANDLES
Every candle is colored by momentum strength relative to
the last 30 bars. Weak candles = dark muted shade. Strong
impulse candles = vivid bright color. Structure events
(CHoCH/BOS) override with accent colors.
📊 LIVE DASHBOARD PANEL
Top-right panel shows at a glance:
• Trend bias (BULLISH / BEARISH) + visual gauge bar
• Last BOS and CHoCH direction and time
• Current zone status (price inside OB?)
• Active Order Block count per side
• Last confirmed Swing High and Swing Low prices
• ATR(14) with volatility label (LOW / NORMAL / HIGH)
• No Repaint confirmation
✅ NO REPAINT — CONFIRMED CLOSE ONLY
All pivot detections use ta.pivothigh() / ta.pivotlow()
with confirmed lookback. All BOS/CHoCH signals require
barstate.isconfirmed. What you see is what happened —
no repainting, no false signals on open candles.
⚙️ SETTINGS
Structure:
• Swing Length (3–30 bars)
• Max BOS / CHoCH lines shown
• BOS line length
• Show/hide swing pivot markers
Order Blocks:
• Max OBs per side
• Max age in bars
• Swept zone display + age
• Mitigation mode: Close or Wick
Display:
• Momentum candle coloring on/off
• Dashboard panel on/off
• Fair Value Gaps on/off
• Equal H/L liquidity on/off
Works on all instruments and timeframes.
Best used on: Forex, Gold (XAUUSD), Indices, Crypto.
Recommended timeframes: 15m, 30m, 1H, 4H, 1D.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Indicator
