Indicator

SITREP Momentum GuideSITREP Momentum Guide
SITREP Momentum Guide is a clean, four-EMA momentum read built for fast intraday decision-making. It plots the 9, 13, 48, and 200 EMAs as a color-coded fan on your chart's current timeframe, with an optional cloud fill between the 9 and 48. Rather than tying the cloud's brightness to raw distance, opacity is driven by how cleanly the fan is stacked — when the EMAs are correctly ordered in the trend direction, the cloud is solid and bright; when the stack is messy or compressing, it fades. The result is a visual that tells you at a glance whether momentum is genuinely aligned or just stretched, without a single number to interpret.
Two signals keep you oriented without cluttering the chart. A confirmed flip arrow fires only when a 9/13 crossover agrees with the broader 48/200 backdrop, filtering out the noise crosses that plague a simple moving-average flip; the word "flipped" rides the most recent flip and steps forward as new ones occur, so the latest shift is always labeled while older ones stay as bare arrows. A breakdown marker drops the moment the fan loses its correct stacking order, and the fan lines themselves desaturate to gray — a redundant, deliberate cue that an aligned trend has come apart.
Every element is independently toggleable: each EMA, the cloud, the flip marker, and the breakdown marker can be switched on or off to suit your style. There are no in-session tunable thresholds — compression and spread are measured relative to the fan's own recent behavior, so the tool adapts to whatever the market is doing rather than asking you to curve-fit a setting mid-trade. It's designed as a momentum guide, not a signal generator: it shows you the state of the trend and leaves the decision to you.
Indicator

Citadel Microstructure Edge [JOAT]CITADEL MICROSTRUCTURE EDGE
A tribute to the high-frequency / market-making style of microstructure-edge extraction. Builds three orthogonal microstructure signals — tick imbalance (which side is aggressively crossing the tape), spread tightness (how thin the bid-ask is relative to its baseline), and micro momentum (the EMA-pair spread on the fastest timeframe) — then composes them into a single decaying edge value with an exponential half-life. When the edge crosses a configurable threshold and has sustained for N bars same-sign, a directional signal fires. Cooldown plus asymmetric lockout keep the signal stream institutional.
Three orthogonal components
Each component is computed independently and Z-normalised (optional for tick imbalance) for stationarity:
Tick Imbalance — LTF-reconstructed buy/sell tick classification. Output is the rolling imbalance bounded in ; optionally Z-normalised over a configurable window (default 60 bars) for cross-asset stationarity. The dominant input for fast / scalping reads.
Spread Tightness — (H − L) / C against its own EMA-smoothed baseline, Z-scored. Tight spread (low relative range) is constructive for whichever side momentum favours. The sign is borrowed from the micro-momentum factor.
Micro Momentum — EMA-fast minus EMA-slow on the tick-reconstructed flow, Z-scored. The directional engine.
Default weights (0.45 / 0.25 / 0.45) bias the read toward the two most-actionable components (tick imbalance + momentum), with spread tightness as confirmation. Optional auto-normalisation to sum=1.
Decaying edge with half-life ~ 3 bars
Microstructure edges decay quickly. The script does not just sum the three components per bar — it accumulates with decay :
edge_t = decay × edge_{t−1} + contribution_t
The default decay (0.78) gives the edge a half-life of approximately 3 bars — the standard market-making decay window. Older contributions fade out automatically; new contributions get incorporated immediately. This is the institutional way to track a fast signal without re-introducing flicker.
Sustained-edge signal logic
Edge Threshold (default 0.75) — minimum |edge| magnitude required to fire.
Sustained Edge (default 5 bars same sign) — the edge must have held its sign for N consecutive bars before a signal fires. This is the script's most important false-positive filter.
Cooldown (default 7 bars) — minimum bars between signals.
Asymmetric lockout (default ON) — an opposite-side signal CAN fire during cooldown. This means a quick flip from buy to sell remains responsive while consecutive same-side signals are suppressed.
Visual system
Edge histogram — projected at the top of the chart at a configurable percent of price (default 2% of price, 1.2% top padding). Histogram columns are coloured by edge sign with magnitude-proportional intensity. At a glance you see the edge's recent trajectory.
Buy / Sell labels with optional Unicode lightning glyph (toggleable to plain ">").
Slope-tinted micro ribbon — the micro fast / slow EMAs plotted with a translucent fill coloured by spread sign. Toggleable.
Subtle background shade by edge sign (off by default).
A locked Crimson Pulse palette: electric blue buy edge / lime-yellow sell edge / muted neutral on a deep crimson-black ground — the institutional HFT aesthetic.
Dashboard
9-row monospaced table positionable to any of nine corners. Surfaces:
Edge value with status (BUY / SELL / FLAT).
Tick imbalance value.
Spread tightness Z.
Micro momentum Z.
Sustained-edge counter (how many consecutive same-sign bars).
Last signal direction with bars-ago.
Decay setting and effective half-life.
Cooldown remaining.
Configuration: LTF, weights, threshold.
Alerts
Three alert conditions, each independently controllable:
Edge Buy
Edge Sell
Sustained Edge (N bars same sign) — the script's headline alert; fires before the signal does, useful as an early-warning notification.
{image]https://www.pulsewire.com/x/ybVYCAr3/
How to read it
Three reads, in order of conviction:
Sustained edge into a structural level — the highest-conviction read. The microstructure has been one-sided for N+ bars AND price is at a known S/R; the next move into the level usually breaks it.
Edge buy / sell with all three components agreeing — fast directional commitment. The dashboard's per-component rows tell you whether the read is dominated by tick imbalance (aggressive tape) or by micro momentum (sustained direction) or by spread tightness (regime-aware confirmation).
Edge above threshold but not sustained — early-warning state. Edge has crossed threshold but the sustained counter has not yet reached N. Watch the counter — if it ticks up bar-by-bar, the signal is forming; if it drops, the edge is decaying.
Suggested settings
Defaults (1m LTF, spread EMA 14 / Z 60, micro EMA 3/8 / Z 60, weights 0.45/0.25/0.45, edge threshold 0.75, sustain 5 bars, decay 0.78, cooldown 7 bars) are tuned for 5m–15m charts on liquid futures and crypto where microstructure has meaningful presence. For 1m scalping drop LTF to 15s (Premium required) and sustain to 3 bars. For HTF the script is not the right tool — microstructure edges decay too quickly to be meaningful on 1H+ timeframes.
Originality
The implementation — the three-component microstructure pipeline (tick imbalance + spread tightness + micro momentum), the LTF tick-rule reconstruction with optional Z-normalisation, the weighted-sum composition with auto-normalisation, the exponential-decay edge accumulator with configurable half-life, the sustained-edge counter and asymmetric-lockout signal logic, the price-anchored histogram render at the top of the chart, the slope-tinted micro ribbon, and the Crimson Pulse palette — is JOAT-original. No third-party code reused. The script is a tribute to Citadel-style market-making microstructure-edge extraction, not a direct replication of any proprietary Citadel code.
Limitations
Reconstructed tick direction is an inference — the tick rule is the accepted public-market proxy but is not a direct read of bid/ask. Sub-minute LTFs require a PulseWire Premium or Ultimate plan. Microstructure edges decay fast by design; on 1H+ timeframes the engine produces few signals — that is correct behaviour, not a bug.
—
-made with passion by jackofalltrades
Indicator

Indicator

Indicator

Indicator

Liquidity Sweep & Absorption Reversal Engine [PhenLabs]📊 Liquidity Sweep & Absorption Reversal Engine
Version: PineScript™ v6
📌 Description
The Liquidity Sweep & Absorption Reversal Engine (LSA Engine) is a two-stage reversal tool that separates high-probability liquidity stop-runs from the noise of ordinary breakouts. Most sweep indicators fire the moment price pokes through a swing high or low — the LSA Engine refuses to commit until that sweep is confirmed by genuine institutional absorption.
The problem it solves is simple but expensive: not every wick beyond a prior high or low is a smart-money stop hunt. Many are clean breakouts that keep going. By requiring a volume spike paired with a disproportionately small body (volume that failed to displace price), the engine filters for the specific fingerprint of absorbed liquidity — the moment resting orders are consumed and price is rejected. Only then does it flag a reversal and project the opposing draw.
The result is a clean, dashboard-backed overlay that gives smart-money, ICT, and intraday reversal traders a single source of truth for swept liquidity, absorption status, and the next untaken pool — without the false-signal storm of a raw sweep detector.
🚀 Points of Innovation
Two-stage validation that pairs a liquidity sweep with a mandatory volume-absorption confirmation — sweeps without absorption are ignored, not flagged.
Absorption fingerprint defined quantitatively: a volume spike (≥ configurable multiple of average) and a body-to-range ratio below a tunable threshold, so “absorbed” means measured, not eyeballed.
Dual sweep triggers — a classic close-back-inside rejection or an ATR-scaled displacement break — letting traders tune to rejection-style or momentum-style sweeps on the same instrument.
Auto-projected opposing draw that targets the nearest untaken opposing liquidity pool, with a structure-based R-multiple fallback when no pool is in range.
Live dashboard reporting nearest BSL/SSL, volume-spike state, absorption state, and active trigger mode in real time.
Self-cleaning pool management — swept pools are retired so each level can only fire once, eliminating duplicate signals on the same stop-run.
🔧 Core Components
Liquidity Pool Engine: Detects confirmed pivot highs and lows and stores them as resting buy-side liquidity (BSL, above) and sell-side liquidity (SSL, below). A rolling buffer keeps only the most relevant active pools per side.
Sweep Detector: Monitors every active pool for a wick beyond its level, then validates the sweep using the selected trigger — close-back-inside rejection or ATR-scaled displacement.
Absorption Filter: On the sweeping bar, measures volume against its moving average and the candle’s body-to-range ratio. A spike with a small body = absorbed; this gate can be toggled on or off.
Projection Module: From each confirmed sweep extreme, projects a dotted target line to the nearest opposing pool or to an R-multiple measured from sweep risk, with a labeled price target.
Dashboard: A compact on-chart table reporting the nearest BSL/SSL, current volume-spike and absorption state, and the active sweep mode.
🔥 Key Features
Confirmed reversal signals: Bullish and bearish sweep-plus-absorption triangles fire only on two-stage-validated setups, reducing false stop-run signals.
Resting liquidity map: Dashed BSL/SSL lines show the live pools price is magnetically drawn to — so you always know where the next sweep is likely.
Quantitative absorption marker: A yellow circle flags the exact bar where volume spiked while price made minimal progress.
Projected opposing draw: A dotted line and labeled price target extend from each confirmed sweep to the next opposing pool or R-multiple objective.
Adaptive trigger mode: Switch between close-back-inside rejection and ATR displacement to match the instrument’s sweep behavior.
Live status dashboard: Nearest BSL/SSL, volume-spike state, absorption state, and mode at a glance.
Alerts: Separate alerts for bullish and bearish confirmed sweep-plus-absorption setups.
🎨 Visualization
Dashed BSL (teal) / SSL (red) lines: resting liquidity pools — price is drawn to these; a sweep of one is the setup precondition.
Yellow circle: marks the sweeping bar where a volume spike coincided with a small body — the absorption fingerprint.
Red triangle (BEAR SWEEP) / teal triangle (BULL SWEEP): the confirmed two-stage reversal signal, plotted above/below the triggering bar.
Dotted target line + price label: the projected opposing draw from the sweep extreme to the next pool or R-multiple target.
Volume pane + vol-avg line: optional context showing the spike that powered the absorption call.
Dashboard panel (top-right): nearest BSL/SSL, Vol Spike, Absorption, and Mode cells.
📖 Usage Guidelines
Structure & Liquidity
Pivot Lookback (L/R) — Default: 8 — Range: 2–50 — Left/right bars used to confirm swing highs and lows. Higher = fewer, more significant pools; lower = more reactive pools.
Max Active Pools / Side — Default: 6 — Range: 2–20 — How many BSL/SSL levels are tracked per side. More pools = denser map; fewer = cleaner chart.
Sweep Trigger — Default: Close Back Inside — Options: Close Back Inside / Displacement Break. “Close Back Inside” flags sweeps rejected back under/over the pool (reversal bias). “Displacement Break” flags sweeps that close beyond the pool by an ATR-scaled margin (momentum sweep bias).
Displacement (× ATR) — Default: 1.2 — Range: 0.1–10 — Only active in Displacement Break mode; sets how far beyond the pool close must travel to qualify.
Absorption Filter
Require Absorption Confirmation — Default: true — When on, sweeps must pass the absorption gate to fire a signal. Turn off for raw sweep detection.
Volume Spike (× avg) — Default: 1.6 — Range: 1.0–10 — Minimum volume-to-average ratio on the sweeping bar. Higher = stricter, fewer but higher-quality signals.
Max Body/Range — Default: 0.45 — Range: 0.05–0.9 — Maximum body-to-range ratio for a bar to count as absorbed. Lower = stricter (volume absorbed with little progress).
Volume SMA Length — Default: 20 — Range: 1–200 — Lookback for the volume average baseline.
Targets & Projection
Target R-Multiple — Default: 2.0 — Range: 0.5–20 — Reward multiple used when projecting R-multiple targets.
Show Projected Draw — Default: true — Toggles the dotted target line and price label.
Target Type — Default: Opposing Pool — Options: Opposing Pool / R-Multiple. “Opposing Pool” targets the nearest untaken opposite liquidity; “R-Multiple” targets a fixed multiple of sweep risk.
Visuals
Show Dashboard — Default: true — Toggles the on-chart status panel.
Signal / pool colors — configurable for bullish, bearish, BSL, and SSL elements.
✅ Best Use Cases
Smart-money / ICT traders hunting confirmed stop-runs on session highs and lows
Intraday reversal and fade traders on indices, futures, crypto, and major FX
Scalpers who need a fast, visual read on whether a sweep is being absorbed or extending
Liquidity traders who map BSL/SSL and want the next opposing draw projected automatically
Traders who want to filter breakout-vs-sweep ambiguity with a quantitative absorption gate
⚠️ Limitations
Absorption relies on volume data; symbols with no/low-quality volume (some FX feeds) will produce fewer or weaker confirmations.
The body-to-range absorption proxy is an approximation of true order-flow absorption; for delta-grade accuracy pair with a volume-profile/delta source.
Pivots confirm pivotLen bars after the swing, so pool levels are retrospective — recent extremes may not yet be registered as pools.
Reversal signals perform best in ranging and liquidity-driven regimes; in strong trending regimes swept levels often continue, so bias signals toward the prevailing trend.
Like all reversal tools, signals are probabilistic — always manage risk and confirm with broader market structure.
💡 What Makes This Unique
Absorption as the second stage: Most sweep tools stop at “price went beyond the level.” The LSA Engine demands the institutional fingerprint — volume that failed to move price — before any signal fires.
Measured, not eyeballed: Absorption is a tunable volume-spike × body/range rule, so the filter is reproducible and adjustable per instrument, not a discretionary call.
Self-cleaning pools + auto opposing draw: each pool fires once and projects its own target, giving a complete sweep-to-draw narrative on the chart.
🔬 How It Works
Pool registration: Confirmed swing highs and lows are recorded as resting BSL and SSL pools in a rolling buffer, so the chart always shows the liquidity price is drawn toward.
Sweep detection: Each bar, the engine checks whether price wicked beyond an active pool and validates it with the selected trigger — a close back inside the pool (rejection) or an ATR-scaled displacement close beyond it.
Absorption gating: On the sweeping bar, volume is compared to its moving average and the body is compared to the bar’s range. A spike with a small body passes the absorption gate — the signature of consumed resting liquidity that failed to displace price. Swept pools are then retired.
Signal + projection: A confirmed sweep-plus-absorption prints a directional signal and projects a dotted target to the nearest opposing pool (or an R-multiple objective), while the dashboard updates nearest pools, volume-spike, and absorption state in real time.
💡 Note: For best results, tune Volume Spike and Max Body/Range to your instrument’s typical volume profile — FX and crypto often need a higher spike multiple than index futures. Favor signals aligned with the higher-timeframe trend, and use Opposing Pool targets on ranging instruments and R-Multiple targets on trending ones. This tool is an analytical aid, not financial advice.
Indicator

Bridgewater All-Weather [JOAT]BRIDGEWATER ALL-WEATHER
A tribute to Ray Dalio's All-Weather framework — the macro-regime engine that classifies the current environment along two orthogonal axes : growth (rising or falling) and inflation/volatility (rising or falling) — and maps the resulting quadrant to the asset class that historically performs best in that regime. Bridgewater All-Weather distils that idea into a Pine script: a quadrant classifier built on Z-scored growth and volatility proxies, a 2×2 mini-chart rendered on the chart itself, a regime-tinted background, a rotation-event label, and a Suggested-JOAT-Indicator row that names the best companion script for the current quadrant.
The four quadrants
Q1 — Growth UP, Vol DOWN — Risk-On / Equities regime. Blue.
Q2 — Growth UP, Vol UP — Inflation / Commodities regime. Gold.
Q3 — Growth DOWN, Vol DOWN — Disinflation / Bonds regime. Sage.
Q4 — Growth DOWN, Vol UP — Crisis / Gold regime. Pink.
The asset-class analogues are Dalio's institutional defaults; they can be toggled off if you want pure regime classification without the asset overlay.
Growth and Vol proxies
Macro frameworks need macro inputs. The script approximates the two factors purely from chart data so it runs on any instrument:
Growth proxy — long-window smoothed return (default 100-bar EMA-smoothed return). Z-scored against a long baseline (default 252 bars, the trading-year canonical).
Volatility proxy — rolling standard deviation of returns over the volatility window (default 100 bars). Z-scored against the same baseline.
A configurable Z dead-zone (default ±0.10) treats small Z values as neutral and refuses to register quadrant changes until the Z moves clearly off zero. This eliminates flicker between adjacent quadrants when the signal is genuinely uncertain.
Minimum-bars-hold filter
A quadrant must persist for at least N bars (default 3) before a rotation is committed. This prevents whipsaw classification when growth and volatility cross their respective zero lines on the same bar.
Mini 2D quadrant chart
The script's signature visual: a 2×2 grid rendered directly on the chart (anchored to any of four corners, with configurable cell size in bars and price-height in ATR units). The currently-active quadrant is highlighted in its quadrant colour; the other three are muted. At a glance you see the entire four-state regime classification mapped to its asset analogue. The four hues appear simultaneously only in the mini chart — by design — because elsewhere the script obeys strict one-active-quadrant colour discipline.
Visual system
Background tint by active quadrant (configurable transparency, default 92 institutional-subtle).
Quadrant badge — right-side floating label showing the active quadrant with its colour. Configurable corner.
Rotation label — drops a label on the chart every time the quadrant changes.
Mini 2D quadrant chart (the signature) — 2×2 grid in the chosen corner.
Hidden growth-Z and vol-Z line plots — for users who want to see the underlying scores in the Data Window or feed them to alerts. Off by default.
A locked Sapphire palette: one hue per quadrant (Q1 blue, Q2 gold, Q3 sage, Q4 pink). Because only one quadrant is active at a time, the chart only ever shows one family + the muted background. The strict 4-hue discipline only appears in the mini chart.
Suggested JOAT Indicator row
The dashboard exposes a Suggested Indicator row that names the best-fit companion from the JOAT suite per quadrant. Defaults:
Q1 (risk-on) → Quantum Trend Matrix (trend amplification in a benign environment).
Q2 (inflation) → Liquid Reversal Engine (mean-reversion bands in a volatile-up regime).
Q3 (disinflation) → Smart SR Zones (structure-focused reads in a calming environment).
Q4 (crisis) → Z-Score Flow Pro (extreme-statistics regime for risk-off conditions).
Every suggestion is user-configurable.
Dashboard
Monospaced table, positionable to any of nine corners, with optional row-gradient. Surfaces:
Active quadrant with asset analogue.
Growth Z value and direction.
Vol Z value and direction.
Bars in current quadrant.
Last rotation: from → to with bars-ago.
Suggested JOAT Indicator (toggleable).
Alerts
Three alert conditions, each independently controllable:
Any Quadrant Rotation
Entered Q4 (Risk-Off / Crisis) — the most actionable single alert; usually accompanies risk-off moves across asset classes.
Entered Q1 (Risk-On) — off by default; useful for trend-following entry timing.
How to read it
Three reads, in order of conviction:
Q4 entry — the highest-priority macro alert. Growth is falling and volatility is rising — historically the regime in which risk assets sell off, gold rallies, and defensive positioning wins. Reduce risk exposure regardless of the chart-timeframe signal.
Sustained Q1 — the trend amplifier. The market is in a healthy growth/calm environment; momentum tools have their largest edge. The mini chart visually confirms the regime.
Rotation between adjacent quadrants (e.g. Q1 → Q2 or Q3 → Q4) — regime-transition warning. The market is rotating along one of the two axes; this often precedes the larger directional move.
Suggested settings
Defaults (growth 100 / vol 100 / baseline 252 / dead-zone 0.10 / 3-bar hold) are calibrated to daily charts on broad indices. For lower timeframes drop windows proportionally. For weekly+ raise to 200 / 200 / 500. The dead-zone is the single most important anti-flicker input; widen if your instrument has noisy growth/vol behaviour.
Originality / what's reused
The All-Weather framework is Ray Dalio / Bridgewater Associates' published macro philosophy — a public conceptual framework, not proprietary code. The implementation here — the chart-data-only growth and volatility proxies, the Z-baseline normalisation with dead-zone gate, the minimum-bars-hold rotation filter, the 2×2 mini-chart render in chart units with ATR-scaled cell height, the per-quadrant single-hue palette discipline, the suggested-JOAT-indicator dashboard row, and the rotation-event label engine — is JOAT-original. No third-party code reused. The script is a tribute , not a direct replication of any proprietary Bridgewater model.
Limitations
The growth and volatility proxies are computed from chart data only — they are approximations, not the macroeconomic series an actual All-Weather portfolio uses. The Z-baseline assumes 252 bars approximates a trading year; on non-daily timeframes the interpretation shifts (e.g. on 1H, 252 bars is roughly 10 trading days). The quadrant classification is descriptive of recent chart behaviour, not of the broader macro environment — pair with macro context for serious portfolio decisions.
—
-made with passion by jackofalltrades
Indicator

Indicator

Indicator

GB Session & Liquidity ToolSession & Liquidity Tool — Asian Range + London KZ + NY Midnight Open
A clean, fully configurable session tool built for traders who use liquidity-based
strategies (ICT, SMC, PO3). No clutter — just the three key references you need
before every trading session.
──────────────────────────────────────────
WHAT IT DOES
──────────────────────────────────────────
▸ ASIAN RANGE
Draws the Asian session as a box that builds in real-time as the session progresses.
Displays the pip range inside the box so you instantly know if Asia was tight or
expansive — a critical filter before entering any London setup.
Includes Standard Deviation levels (±1 SD by default, fully configurable) shown as
dashed lines spanning the session. These let you quickly assess whether London's
move is within normal manipulation range (≤1 SD) or an extended continuation
(>2 SD) — directly influencing whether to fade or follow the move.
Supports multiple sessions in history so you can compare ranges across days.
▸ LONDON KILL ZONE
Marks the start and end of the London Kill Zone with vertical dashed lines.
This is the primary manipulation window — the zone where institutional sweeps
and Judas Swings occur before the real move begins.
Configurable history to display multiple past sessions.
▸ NY MIDNIGHT OPEN
Plots a horizontal line at the exact open price of 00:00 NY time for each day.
The Midnight Open is one of the most important daily reference levels in
liquidity-based trading — price trading above or below it determines daily bias
and confirms or invalidates setups throughout the session.
Each line is labelled with its date. Configurable history (default: last 5 days).
──────────────────────────────────────────
KEY FEATURES
──────────────────────────────────────────
✦ All sessions fully configurable — timezone, start/end times, colors, history count
✦ Asian Range: background color, border color, border width — all adjustable
✦ SD multiplier configurable (0.1 to 5.0x) — use 1.0 for standard 1 SD,
2.0 for 2 SD, etc.
✦ Works on any asset — Forex, Indices, Crypto
✦ Optimized for intraday timeframes (1m to 4H)
✦ Clean object management — no performance issues on historical data
──────────────────────────────────────────
HOW TO USE
──────────────────────────────────────────
1. Add to chart on your execution timeframe (5M recommended)
2. Set your timezone in each section (default: America/New_York)
3. Before London opens — check if Asia was tight (good) or expansive (caution)
4. During London KZ — watch for a sweep of the Asian High or Low
5. Use the SD lines to gauge extension: ≤1 SD = normal manipulation,
proceed with setup / >2 SD with body close = likely continuation, don't fade
6. Use the Midnight Open as daily bias filter throughout the session
──────────────────────────────────────────
BEST FOR
──────────────────────────────────────────
ICT / SMC traders · PO3 (Power of 3) · Asia Sweep setups ·
London Kill Zone entries · Liquidity-based intraday strategies
──────────────────────────────────────────
SETTINGS
──────────────────────────────────────────
Asian Range → Show / Timezone / Start / End / History / Background /
Border color & width / SD on-off / SD multiplier / SD color & width
London Kill Zone → Show / Timezone / Start / End / Color / Width / History
NY Midnight Open → Show / Timezone / Color / History (days) Indicator

FishBands H TheurgyLabsFishBands H is the companion oscillator for the FishBands overlay. It renders the Fisher Transform mechanism in a separate pane — the histogram, the Fisher and Trigger lines, the learned adaptive thresholds, and the turn dots that show exactly where each signal decision happens. The signal chain is byte-identical to the overlay: same inputs, same logic, same fires.
Pair with the FishBands overlay to see both the price-level view (ribbon, bands, triangles) and the oscillator-level view (Fisher extremes, threshold crossings, momentum state) simultaneously.
## What It Shows
The Fisher histogram (Fisher minus Trigger) uses 4-state momentum coloring. Bright green means the histogram is positive and accelerating. Dim green means positive but decelerating. Bright red means negative and accelerating. Dim red means negative but decelerating. This shows the direction and intensity of Fisher momentum at a glance.
The Fisher line (blue) is the Ehlers Fisher Transform computed on ATR-normalized spread from the overlay's SMMA ribbon. The Trigger line (gold) is the prior bar's Fisher value — turns are detected when the Fisher changes direction relative to the Trigger.
The upper threshold (magenta) is the rolling mean of Fisher peak levels over a 124-bar lookback window. The lower threshold (cyan) is the mean of valley levels. A buy fires when the Fisher turns up and the crossover level (midpoint of Fisher and Trigger) is below the lower threshold. A sell fires when the Fisher turns down and the crossover level is above the upper threshold.
## Turn Dots
Every Fisher turn is logged as a dim gray dot at the crossLevel. Turns that pass all gates and fire as actual signals are plotted as bright dots — cyan for buys, magenta for sells. This makes it easy to see which turns were deep enough to qualify and which were filtered out. Most turns are dim (logged only); the bright ones are the signals the overlay fires.
## Divergence Marks
RSI divergence confirmations appear as green circles (bull, price lower-low with RSI higher-low) and red circles (bear, price higher-high with RSI lower-high). ADX divergence confirmations appear as gold crosses (bull, price lower-low with fading trend strength) and silver crosses (bear, price higher-high with fading trend strength). These are the same marks shown on the overlay — they appear at the Fisher line level in the oscillator pane for easy correlation with the Fisher state at the time of confirmation.
## SpreadZ Line
The SpreadZ line (regime-colored, scaled 10x for visibility) shows the z-scored ATR-normalized ribbon spread — the same computation used by the SpreadZ Override in the signal chain. Zero-cross diamonds mark when spreadZ crosses its zero line (cyan = cross up, magenta = cross down). Both the line and diamonds default OFF and can be toggled in the SpreadZ input group.
## Band Filter
The companion replicates the overlay's full Donchian penetration-learning band computation. Donchian Length, Penetration Learning, Pen Learn Bars, Band Smoothing, and ATR Mult inputs match the overlay's ATR/Bands group. The Band Filter toggle and Band Offset (ATR) match the overlay's Band Filter group. When enabled, the filter requires price near the learned bands for a signal to fire — identical to the overlay's behavior.
## Gate Stack
Every gate from the overlay is replicated with matching defaults. Regime Gate (ON), Band Filter (ON), LL/HH Filter (OFF), Tail-Risk Breaker (OFF), Regime Maturity Gate (OFF), SpreadZ Override Buy/Sell (OFF). The breaker uses a minimal flat-dollar position replay to compute drawdown — it does not carry a full performance table.
## Status Table
The table (default Top Right) shows the current Fisher value, upper and lower thresholds, zone (ABV UP / UP MID / LOW MID / BLW LOW), last signal (BUY/SELL), regime (BULL/BEAR/NEUT), RSI divergence state, ADX divergence state, and breaker status.
## Settings Sync
For the overlay and companion to show identical signals, keep Ribbon, ATR, Fisher, Regime Gate, LL/HH, Band Filter, Risk, Maturity Gate, Z-Override, and Divergence inputs matched between the two indicators. The companion does not replicate conviction sizing or the performance table — these are overlay-only and do not affect signal timing.
TheurgyLabs — Conjured with AI. Indicator

AQR Momentum Factor [JOAT]AQR MOMENTUM FACTOR
A tribute to AQR Capital Management's seminal momentum-factor research — including Asness's classic "Value and Momentum Everywhere" framework. The script estimates cross-horizon momentum by ranking returns across five independent look-back horizons (default 1, 5, 20, 60, 120 bars — including the AQR-canonical 12-1 month equivalent), volatility-adjusting the result, and producing a composite momentum score in that fires Buy / Sell labels when the score crosses configurable thresholds.
Why cross-horizon ranking
A single momentum lookback is fragile. AQR's published research (Asness, Moskowitz, Pedersen, and others) shows that momentum is best estimated by agreement across horizons — when short-, medium-, and long-term momentum all point the same way, the signal is much more reliable than any single horizon alone. The script encodes that directly:
Five horizons — 1 / 5 / 20 / 60 / 120 bars by default (configurable independently).
At each horizon the return is percentile-ranked against its own trailing 252-bar (trading year) distribution.
The five percentile ranks are mapped from to (50% → 0; 100% → +1; 0% → −1).
The composite is the average of the five mapped ranks.
The output is bounded in and represents how unusual current momentum is relative to its own recent history, averaged across timeframes .
Volatility adjustment (optional but on by default)
The composite is divided by a volatility Z-score over a configurable window (default 60 bars), clamped at a Z cap (default 2.5) to avoid division-by-zero blow-ups. This dampens signals during high-volatility regimes — which is what AQR's "low-vol momentum" research finds is the genuinely tradeable component of the factor.
When vol-adjustment is off, the score is raw cross-horizon momentum. When it is on, the score is risk-adjusted momentum, which is the institutional read.
Signal engine
BUY — composite > buy threshold (default +0.70 → top ~15% across horizons).
SELL — composite < sell threshold (default −0.70).
Extreme High / Low alerts — composite > +0.90 / < −0.90. The script's strongest reads.
A configurable Min Bars Between Same-Side Signals (default 5) prevents clustering. A confirm-on-close toggle (default ON) ensures non-repaint signals.
Bar colouring — strict 2-hue discipline
The chart bars are coloured by the sign of the composite, with saturation proportional to magnitude. The "Bar Color Saturation Floor" input controls how aggressively the colour fades when momentum is weak — at 0 the bars are always full colour; at 1 they fade toward background when momentum is weak. The defaults (0.65) produce a clean institutional read where strong-momentum bars stand out and weak-momentum bars merge into the background.
A hidden composite-line plot (toggleable) opens a pane below the chart for users who want to see the score itself, or feed it to Data Window / webhook automation.
Visual system
Buy / Sell labels on threshold crosses (configurable size).
Bar colouring by signed momentum with saturation floor.
Hidden composite line (toggleable, pane).
Light regime background (off by default) — very subtle bgcolor sampled from bull/bear.
A locked Golden Blaze palette: gold bull / oxblood bear / off-white neutral on a dark-slate ground — the classic AQR institutional aesthetic. Strict 3-hue discipline + bg.
Dashboard
Monospaced table positionable to any of nine corners. Surfaces:
Composite score with signed value.
Per-horizon percentile ranks (h1 / h2 / h3 / h4 / h5).
Horizon agreement count (how many horizons agree with the composite sign).
Volatility Z value and adjustment factor in use.
Last signal direction with bars-ago.
Configuration: rank window, vol window, thresholds.
Alerts
Four alert conditions, each independently controllable:
BUY (composite crosses above buy threshold)
SELL (composite crosses below sell threshold)
Extreme Score (|composite| crosses extreme high or low)
Horizon Disagreement (off by default) — fires when horizons split (~half above 50%, half below). Useful as a "no edge" warning.
How to read it
Three reads, in order of conviction:
Extreme score with full horizon agreement — the highest-conviction read. All five horizons agree, the score is in the top 10% / bottom 10% of its own distribution, and vol-adjustment has not damped it. This is the institutional setup.
Buy / Sell with vol-adjustment active in a low-vol regime — the "low-vol momentum" setup AQR's research identifies as the strongest factor exposure. Pair with a directional execution tool.
Horizon disagreement alert — stand-aside signal. Some horizons say bull, some say bear; there is no momentum factor exposure available. Wait for agreement to return.
Suggested settings
Defaults (horizons 1/5/20/60/120, rank window 252, vol window 60, vol Z cap 2.5, ±0.70 thresholds, ±0.90 extreme) are tuned for daily charts on broad indices — the timeframes where momentum factor exposures are statistically most meaningful. For lower timeframes drop all horizons proportionally (1/5/15/30/60) and the rank window to 200. For weekly+ keep defaults; momentum on weekly is the canonical factor.
Originality / what's reused
The momentum factor is published academic finance — Jegadeesh & Titman 1993, Asness 1994, AQR's "Value and Momentum Everywhere" 2013. The 252-bar / one-year ranking window is the classical institutional convention. The implementation here — the five-horizon configurable engine, the ta.percentrank -based ranking pipeline, the linear remap, the volatility-Z adjustment with clamp, the saturation-floored bar-colouring with strict 2-hue discipline, the horizon-disagreement alert logic, and the AQR Golden Blaze palette — is JOAT-original. No third-party code reused. The script is a tribute to AQR's published methodology, not a direct replication of any proprietary AQR model.
Open source
Published open-source under the default Mozilla Public License 2.0. The horizon pipeline, the ranking engine, the vol-adjustment routine, the signal engine, and the dashboard are isolated modules. Forks welcome with credit.
Limitations
The 252-bar ranking window assumes a daily chart for the "trading year" interpretation; on lower timeframes the window represents a different real-world horizon. The momentum factor is well-documented historically but, like all factor exposures, it can underperform for extended periods — the dashboard's horizon-agreement count is the script's own early warning when the factor is breaking down. Vol-adjustment is on by default because it is statistically supported; turn it off only for research.
—
-made with passion by jackofalltrades
Indicator

NQ Scalp Pullback AlertHere’s the breakdown of the script’s logic, piece by piece:
Inputs (adjustable settings at the top)
Fast EMA length: 9, Slow EMA length: 21 — these are the two trend lines
Volume multiplier: 1.0x — how much volume is required relative to the 20-period average for a signal to count
Two session windows (9:30-11:00 AM ET and 3:00-4:00 PM ET) — restricts signals to your highest-volume trading hours
A toggle to turn the session restriction on/off
What it calculates
9 EMA and 21 EMA of closing price
VWAP (volume-weighted average price) for the session
20-period average volume, used as the baseline for the volume filter
What it plots
Blue line = 9 EMA, orange line = 21 EMA, purple line = VWAP — all drawn directly on your price chart
Trend filter logic
Bullish trend = price is above VWAP AND the 9 EMA is above the 21 EMA
Bearish trend = the opposite — price below VWAP AND 9 EMA below 21 EMA
Entry signal logic
For a long: trend must be bullish, the candle’s wick must touch the 9 EMA (low ≤ EMA ≤ high), the candle must close back above the 9 EMA, volume must meet the threshold, and it must be within your session window
For a short: mirror conditions, all bearish
Visual output
Green triangle below the candle when a long setup triggers
Red triangle above the candle when a short setup triggers
Alerts
Two alert conditions are built in, so when you set up a PulseWire alert, you can choose “NQ Long Pullback” or “NQ Short Pullback” and get notified the moment either fires — no need to watch the chart constantly
In short: it’s a trend-confirmation tool that taps you on the shoulder when price pulls back to the fast EMA inside an established trend, during your best trading hours, on real volume — matching the entry rules from the strategy we built.
Indicator

Indicator

Indicator

Indicator

Strong KNN Classifier | ProjectSyndicateStrong KNN Classifier reads the order flow underneath each bar and asks one question: is the current move more likely to CONTINUE or to REVERSE? Instead of guessing, it learns from the market's own history. Every bar is turned into a five-part order-flow fingerprint, stored with the outcome it actually produced, and the live bar is matched against the closest past situations using Lorentzian distance — the outlier-robust metric built for noisy market data. The nearest neighbours vote, that vote is calibrated into an honest probability, and only genuinely confident reads near structural zones are printed as signals. Every prediction that resolves is scored on a live hit-rate panel — winners and misses alike — so you see exactly how the logic behaves on the symbol and timeframe you trade, not a number typed into a description.
🧠 Lorentzian Core — the core idea, expressed as a lifecycle: OBSERVE ▸ LABEL ▸ LEARN ▸ CLASSIFY ▸ CALIBRATE. Each bar is reduced to five order-flow features and z-scored so they share one scale. A rolling library of past feature vectors is kept, and each one is labelled only after its outcome is fully known — a vector formed H bars ago is tagged CONTINUATION or REVERSAL using bars that have already printed, never future ones. The live bar is then compared to that resolved library with Lorentzian-distance k-nearest-neighbours, the closest matches vote, and the result is turned into a probability. Because every label is resolved from past bars and every signal confirms on the bar's close, the classifier does not repaint.
🔋 Feature Anatomy — the fingerprint is not one number; it is five breakout-native ingredients fused into a single distance. Net delta (reconstructed buy-minus-sell pressure), bid/ask imbalance (which side dominated the bar), absorption (heavy volume that produces little price progress — a stalled push), CVD slope (the direction and steepness of cumulative delta), and price location versus VWAP in ATR units (where the bar sits inside its structural range). Each feature is independently z-scored over a rolling window, so no single raw scale can dominate the match. Order-flow components are reconstructed from lower-timeframe intrabar data and are labelled as estimates, not exchange tick prints.
🎯 Calibrated Probability Engine — this is the part most "AI" scripts get wrong. A raw k-vote can only land on a handful of fractions, so it slams to 88% or 100% and lies about its own confidence. Strong KNN Classifier instead weights each neighbour by distance, collapses the vote into a signed margin, shrinks that margin toward a neutral 0.5 prior by how much trustworthy neighbour mass actually agreed, and passes it through a logistic curve. The output is a smooth, continuous Reversal Probability and a 0–100 Confidence read that reflect genuine neighbour agreement — high only when many close matches concur, honestly near the middle when they don't.
🧲 Structural-Zone Context — a classification matters most where decisions are made: at the levels where price interacts with resting structure. The engine only promotes a read to a signal when price is inside a structural zone — within an ATR band of VWAP or of the most recent confirmed swing pivot. Away from structure the model still reports its read on the dashboard, but it holds its fire, keeping orbs anchored to the moments that carry context rather than scattering them mid-range.
🎚️ Conviction Controls — a compact set of dials sets how serious a read must be before it prints: the Minimum Confidence to signal, the number of Neighbours (k) that vote, the Prior Strength that shrinks weak agreement toward neutral, the Probability Sharpness that scales the confidence spread, the Distance Temperature that softens or sharpens neighbour weighting, the minimum sample count before any signal is allowed, and a cooldown. Tighten them for fewer, cleaner classifications; loosen them for more activity. Together with the zone gate, this is your main control over conviction versus frequency.
🧭 No-Lookahead Discipline — a read is not allowed to cheat. Training labels are resolved purely from bars that have already closed, the live bar is only ever compared against fully-resolved neighbours, and signals confirm on the closed candle. Until the library holds enough resolved samples the panel shows TRAINING and stays silent, and a cooldown stops a single chaotic session from stacking overlapping orbs. The hit-rate tracker is held to the same standard — every prediction whose horizon resolves is counted, correct or not, with nothing dropped to flatter the number.
⭐ 0–100 Confidence Read — every classification carries a numeric Reversal Probability, a Confidence score, and the count of neighbours that actually contributed. Treat Confidence as a relative cleanliness and agreement read for ranking and thinning signals — it describes how textbook the current situation is versus the model's memory, not a guaranteed outcome. The confidence threshold restricts what is displayed and alerted, while the dashboard keeps reporting the live read in the background even when no signal fires.
📊 Live Statistics Dashboard — a non-intrusive panel tracks, in real time on your chart: model status (TRAINING or LIVE) with the current training-pool size, the order-flow source in use, each of the five features as a live z-score, the current Prediction (continuation / reversal / neutral), the Reversal Probability, the Confidence, the number of neighbours used, whether price is currently inside a structural zone, and a rolling Hit-Rate computed over every resolved prediction. The hit-rate counts winners and misses in full, so the number is built live from the real signals on your current symbol and timeframe — not printed here in advance.
🎨 Clean Themed Visuals — four coherent palettes (Aurora default, plus Neon, Plasma, and Solar) shade the probability ribbon, the class-tinted candles, the signal orbs and their chips, and the dashboard to one look, so direction and quality read at a glance on a dark chart. A background ribbon graduates between the continuation and reversal colours by probability; confirmed signals print a sized circular orb with a clean, non-overlapping chip showing direction, probability, and the neighbour/confidence read. Signal dot size is adjustable, and the chip offset scales with it so labels never collide with the orb.
🔔 Detailed Alerts — fires on a continuation signal, on a reversal signal, and on any high-confidence classification, formatted for manual or automated use. The confidence threshold and the in-zone gate restrict alerts to higher-conviction reads.
🔧 Fully Customizable — every component is exposed: the number of neighbours, the outcome horizon, the trend-reference length, the outcome threshold in ATR, and the maximum and minimum training-pool sizes; the distance temperature, prior strength, and probability sharpness that govern calibration; the normalisation window, CVD slope length, and absorption reference of the feature engine; the intrabar resolution and volume weighting of the order-flow reconstruction; the VWAP and swing-pivot zones, pivot length, and zone width; the confidence threshold, in-zone requirement, and cooldown; all four themes and every ribbon, candle-tint, orb, dot-size, neighbour-chip, and dashboard toggle, plus dashboard position and size.
🎯 Why this is different — most "machine learning" indicators are black boxes that restyle an oscillator and claim to call the top, and most kNN scripts publish a confidence that is really just a vote fraction in disguise. This one engineers inspectable order-flow features, matches them with an outlier-robust Lorentzian metric, and then does the part that is usually skipped: it calibrates the probability so confidence reflects real, distance-weighted neighbour agreement instead of a coarse vote artefact. It resolves every training label with no lookahead, gates signals to structural context, and reports a live, honest hit-rate that counts misses in full — so you judge it on your own current data rather than on a marketing figure.
🚀 Where to use it — the engine is symbol-agnostic and built on universal order-flow behaviour, so it can be applied to FX majors and crosses, metals, indices, and crypto on intraday timeframes. It is strongest where lower-timeframe order-flow reconstruction carries information — liquid intraday futures and crypto — and the normalisation and ATR scaling adapt to each instrument automatically. One practical check: if the five features all read 0σ, your chart's symbol is not exposing intrabar data and the model is running on the coarse bar-level fallback — set the Intrabar Resolution explicitly and confirm the features come alive before relying on signals. Because the classifier is symmetric, let the dashboard's hit-rate tell you whether the logic genuinely suits the pair and timeframe before you commit.
🎯 How to trade it
1 Apply it to a liquid symbol on an intraday timeframe and let the panel move from TRAINING to LIVE as the library fills. Read the live Hit-Rate for your symbol and timeframe first — if the logic doesn't suit that market, you'll see it.
2 Wait for an orb — it marks a confirmed close, above your confidence threshold, inside a structural zone, with the direction, probability, and neighbour/confidence read already labelled.
3 Read the dashboard alongside it: the Prediction, the Reversal Probability, the Confidence, and how many of the k neighbours actually agreed.
4 Use the confidence threshold, neighbour count, prior strength, and sharpness to set your tempo — stricter for fewer, cleaner reads; looser for more activity.
5 Combine the classification with your own structure and risk management — it is a read on the next move's character, not an entry-and-exit system on its own.
⚠️ Important — this is a decision-support tool, not a standalone buy/sell system, and it makes no performance guarantees. The probability is calibrated to reflect genuine neighbour agreement, but the underlying edge varies by market, session, and configuration, and on some symbols and timeframes it will be close to neutral — the displayed probability and the dashboard hit-rate are historical and descriptive, not a forecast. Order-flow features are reconstructed from lower-timeframe data and are estimates, not true tick prints; where intrabar data is unavailable the model falls back to a coarser delta. Signals confirm on the closed bar, so always wait for the orb on a closed candle. Because the classifier is symmetric and contrarian-capable, a strong one-way trend or a regime shift can run straight through a high-confidence read — combine it with your own analysis, and test it on your market before trading it live. Indicator

BTC RSI Indicator [3Commas]BTC RSI Indicator
🔷 What it does:
This is a signal-only indicator that mirrors a long-only DCA workflow on BTC / USDT. It tracks a single virtual position: a base entry opens when 4h RSI(14) drops below 28; if price keeps falling, five averaging orders add to the virtual position at fixed deviations from the base entry, each larger than the last; the position is then closed at a fixed take-profit above the blended average entry. The indicator computes running average entry, deployed capital, open PnL, and lifetime realized PnL from honest fill-by-fill bookkeeping, and emits a webhook-ready JSON alert payload on the base order, every safety order, and the close.
Single entry filter: 4h RSI(14) below 28 (deep oversold).
Five averaging orders at fixed deviations (−2%, −5%, −9.5%, −16%, −25%) with 1.8× size scaling per rung.
Fixed take-profit on the blended average entry; no trailing, no stop loss.
Honest virtual bookkeeping: avg entry, deployed capital, Open PnL, and cumulative realized PnL displayed live on the chart.
🔷 Who is it for:
Swing traders accumulating BTC on deep RSI flushes who want a chart-driven signal source.
Bot operators who want base / safety-order / close webhook JSON ready to drive a DCA Bot.
Traders comfortable with martingale-style averaging who size their capital to the worst-case ladder fill.
Traders who want strategy-tester-equivalent insight (live realized / unrealized PnL) without running a backtest engine.
🔷 How does it work:
Base Entry: On each closed 4h bar the indicator reads RSI(14). When RSI falls below 28 and there is no open virtual position, it marks a virtual base order at the close price and dispatches the entry webhook.
Averaging Orders: Once in a virtual position, the indicator watches price relative to the original base entry. The five safety orders are armed at fixed deviations from that base entry — not cumulatively — at −2%, −5%, −9.5%, −16%, and −25%. As each threshold is crossed on bar close, the corresponding safety order is recorded and its webhook fires. Order sizes scale 1.8× per rung ($900 → $1,620 → $2,916 → $5,249 → $9,448 from a $500 base), pulling the blended average entry down toward the latest fill.
Honest Virtual Bookkeeping: Total cost and qty are updated incrementally on every event, so the avg entry, deployed capital, and Open PnL displayed in the status table reflect the actual broker-equivalent position state — no shortcut, no synthetic averaging.
Take Profit & Lifetime PnL: When price closes at or above the take-profit level (a fixed percentage above the average entry), the virtual position is closed, its round-trip profit is added to a persistent realized-PnL counter, and the close webhook fires. The status table displays both Open PnL (current unrealized state) and cumulative realized PnL, so live performance is visible directly on the chart.
Capital Bounds: Total virtual deployed capital cannot exceed the base order plus the five safety orders. Once all five are filled, no further adds occur — the position simply waits for the take-profit.
🔷 Why it's unique:
Deep-Oversold-Only Entries: A single, strict RSI(14) < 28 filter on 4h keeps the signal quiet in normal conditions and only fires after a meaningful flush.
Fixed-Deviation Martingale Ladder: Safety orders are placed at fixed percentages from the base entry with deliberate 1.8× size scaling — a transparent, fully-specified averaging schedule rather than an opaque adaptive grid.
Full Webhook Chain: Base order, each safety order, and the close all emit dedicated JSON payloads. One PulseWire alert with "Any alert() function call" drives a 3Commas DCA Bot end-to-end.
Live PnL Tracking: Open PnL and cumulative realized PnL are displayed live on the chart — the indicator gives strategy-tester-equivalent insight without running a backtest.
🔷 Considerations Before Using the Indicator:
Martingale Tail Risk: Order sizes scale 1.8× per rung, so the deepest fills are by far the largest. If BTC trends hard below the −25% AO5 level without recovering to take-profit, the virtual position sits fully loaded with no further adds and no stop — Open PnL can grow deeply negative until price reverts.
No Stop Loss: There is no exit signal on adverse moves. Risk is bounded only by the fixed ladder allocation (base + five AOs ≈ $20,633 at default sizing). If a hard exchange-side stop is required, configure it on the bot directly.
Match Sizing to Your Bot: The avg-entry and PnL display becomes meaningful only when the indicator's base/AO sizing matches your real DCA Bot configuration.
Cross Detection Granularity: Base, safety-order, and take-profit events are evaluated on bar close. A bar that spikes through a level and returns within the same bar may be missed by design — this matches realistic polling behavior and avoids over-signaling on intra-bar wicks.
Live vs Historical State: The virtual position is rebuilt from chart history each time the indicator is recompiled. If the indicator is added mid-deployment or the live bot diverges from the signal stream (manual interventions, partial fills), the indicator state may not match the live bot. Toggle the indicator off and on to reset.
Backtesting Note: This is an indicator, not a strategy. There is no built-in P&L tester — but the live realized-PnL counter in the status table gives a running approximation. For full metrics over the reference ~30-month sample (62 closed trades, 70.97% win rate, 3.79% max drawdown, profit factor 4.028, +3.08% net return over January 1, 2024 – June 29, 2026), use the companion strategy version on identical parameters. Note the 62-trade sample is below the ~100-trade floor for statistical confidence — treat those metrics as indicative.
🔷 How to Use It:
🔸 Add the indicator to a 4h BTC / USDT chart.
🔸 Confirm the RSI level (28), the five AO deviations and sizes, and the take-profit percentage match your bot's configuration. Match the base/AO sizing so the avg-entry and PnL display stays meaningful.
🔸 In the DCA Bot Webhook group, paste the Bot ID, Email Token, and Pair (QUOTE_BASE format, e.g., USDT_BTC).
🔸 Create an alert on the indicator with "Any alert() function call". Paste the DCA Bot's webhook URL into the alert's Webhook field. The base order, each safety order, and the close will each emit a dedicated JSON payload formatted for direct DCA Bot consumption.
🔷 INDICATOR SETTINGS
Base Order Size: Virtual capital committed on the first (base) entry.
AO Deviations: Fixed percentage distances from the base entry where each safety order fires.
AO Sizes: Virtual capital per safety order (1.8× scaling by default).
RSI Timeframe / Length / Level: Oversold filter for the base entry (default 4h, 14, below 28).
Take Profit (%): Distance above average entry where the full position closes.
DCA Bot Webhook: Bot ID, Email Token, and Pair fields injected into every alert payload.
Visualization: Toggle the AO ladder, fill labels, avg/TP lines, and status table (shows status, AOs filled, base/avg entry, TP target, deployed capital, open PnL, RSI, and cumulative realized PnL).
Brand Watermark: Configurable text, position, size, and transparency.
👨🏻💻💭 We hope this tool helps enhance your trading. Your feedback is invaluable, so feel free to share any suggestions for improvements or new features you'd like to see implemented.
__
The information and publications within the 3Commas PulseWire account are not meant to be and do not constitute financial, investment, trading, or other types of advice or recommendations supplied or endorsed by 3Commas and any of the parties acting on behalf of 3Commas, including its employees, contractors, ambassadors, etc. Indicator

BTC RSI Strategy [3Commas]BTC RSI Strategy
🔷 What it does:
This is a long-only DCA (Dollar-Cost Averaging) strategy for BTC / USDT that opens a position only in deep-oversold conditions and then averages down on a fixed safety-order ladder. A base order fires when 4h RSI(14) drops below 28; if price keeps falling, five averaging orders add to the position at fixed deviations from the base entry, each larger than the last. The full position is closed at a fixed take-profit above the blended average entry. There is no trailing exit and no stop loss — the position is structurally bounded by the five-order ladder.
- Single entry filter: 4h RSI(14) below 28 (deep oversold).
- Five averaging orders at fixed deviations (−2%, −5%, −9.5%, −16%, −25%) with 1.8× size scaling per rung.
- Fixed take-profit on the blended average entry; no trailing, no stop loss.
- Every fill and close emits a webhook-ready JSON alert payload for a DCA Bot.
🔷 Who is it for:
- Swing traders accumulating BTC on deep RSI flushes rather than chasing momentum.
- Bot operators who want a chart-driven signal source with base / safety-order / close webhook JSON ready to drive a DCA Bot.
- Traders comfortable with martingale-style averaging who size their capital to the worst-case ladder fill.
- Range / mean-reversion traders who prefer mechanical oversold entries over discretionary timing.
🔷 How does it work:
Entry (Base Order): On each closed 4h bar the strategy reads RSI(14). When RSI falls below 28 and there is no open position, it opens the base order at market (or limit, optionally) and dispatches the entry webhook.
Averaging Orders: Once in a position, the strategy watches price relative to the original base entry. The five safety orders are armed at fixed deviations from that base entry — not cumulatively — at −2%, −5%, −9.5%, −16%, and −25%. As each threshold is crossed on bar close, the corresponding averaging order fires. Order sizes scale 1.8× per rung ($900 → $1,620 → $2,916 → $5,249 → $9,448 from a $500 base), pulling the blended average entry down toward the latest fill.
Exit (Take Profit): While in a position, the strategy computes a take-profit price a fixed percentage above the current average entry. When price closes at or above that level, the entire position is closed at market and the close webhook fires. There is no trailing and no stop loss.
Capital Bounds: Total deployed capital cannot exceed the base order plus the five safety orders. Once all five averaging orders are filled, no further adds occur — the position simply waits for the take-profit. This ladder cap is the strategy's primary risk control.
🔷 Why it's unique:
- Deep-Oversold-Only Entries: A single, strict RSI(14) < 28 filter on 4h keeps the strategy out of the market in normal conditions and only commits capital after a meaningful flush.
- Fixed-Deviation Martingale Ladder: Safety orders are placed at fixed percentages from the base entry with deliberate 1.8× size scaling, so each rung has progressively more influence on the average — a transparent, fully-specified averaging schedule rather than an opaque adaptive grid.
- Full Webhook Chain: Base order, each safety order, and the close all emit dedicated JSON payloads. The strategy can drive a 3Commas DCA Bot end-to-end with no glue layer.
- On-Chart Transparency: The AO ladder, average entry, and take-profit target are plotted live, and the status table reports RSI, AOs filled, base/average entry, TP target, and max deployable capital — so the position state is always visible.
🔷 Considerations Before Using the Strategy:
Trade Volume — Below the Statistical Floor: The reference backtest produced 62 closed trades over ~30 months. This is below the ~100-trade threshold often used as a floor for statistical relevance, so treat the win rate and profit factor as indicative rather than conclusive. The strict RSI < 28 filter is what keeps the trade count low — and BTC is less volatile than smaller alts, so deep flushes below the entry threshold are relatively rare.
Martingale Tail Risk: Order sizes scale 1.8× per rung, so the deepest fills are by far the largest. If BTC trends hard below the −25% AO5 level without recovering to take-profit, the position sits fully loaded with no further adds and no stop — unrealized loss can grow until price reverts. The 1.8× scaling amplifies both the recovery speed and the downside.
No Stop Loss Justification: There is no exit on adverse moves. Per-order risk is bounded by the fixed ladder allocation; aggregate exposure is capped at base + five AOs (≈ $20,633 on the default $100k account, ~20.6% of equity). Size the base/AO inputs down to match the worst-case exposure you are willing to hold.
Capital Deployment & Drawdown: The reference backtest reached a 3.79% maximum equity drawdown at default sizing — but that depends on the configured ladder fitting within BTC's observed swings. A deeper or more prolonged decline than the test sample would produce a larger drawdown.
Fees: The default commission (0.06% per trade) should be matched to your exchange's actual taker fees. With a fixed 3% take-profit the per-trade edge is modest, so a fee mismatch matters.
Demo Testing: Always demo-test before going live. Past results do not guarantee future performance, particularly for martingale-style averaging strategies whose risk profile is dominated by rare deep drawdowns.
🔷 STRATEGY PROPERTIES
Symbol: BYBIT:BTCUSDT.P (Perpetual) — strategy is portable to any BTC / USDT pair.
Timeframe: 4H (RSI sampled on 4h).
Test Period: January 1, 2024 — June 29, 2026 (~30 months).
Initial Capital: 100,000 USDT.
Base Order Size: 500 USDT.
Averaging Orders: 5, at −2% / −5% / −9.5% / −16% / −25% from base entry.
AO Sizing: 1.8× per rung — 900 / 1,620 / 2,916 / 5,249 / 9,448 USDT.
Max Deployed Capital: ≈ 20,633 USDT (~20.6% of equity, all AOs filled).
Commission: 0.06% per trade.
Slippage: 3 ticks.
Entry Filter: 4h RSI(14) below 28.
Take Profit: 3% above average entry.
Stop Loss: None — ladder allocation is the structural risk cap.
Trailing: None.
Strategy: Long Only.
🔷 STRATEGY RESULTS
⚠️ Remember, past results do not guarantee future performance.
Net Profit: +3,078.29 USDT (+3.08%)
Max Equity Drawdown: 3,852.12 USDT (3.79%)
Total Closed Trades: 62
Percent Profitable: 70.97% (44 / 62)
Profit Factor: 4.028
🔷 How to Use It:
🔸 Adjust Settings: Open the strategy inputs and confirm the RSI level (28), the five AO deviations and sizes, and the take-profit percentage match your risk profile. Scale the base/AO sizes down for lower exposure.
🔸 Results Review: Run a full-period backtest and confirm Max Drawdown stays within your personal risk band — note this configuration reached 3.79%. Keep in mind the 62-trade sample is below the ~100-trade floor for statistical confidence.
🔸 Create alerts to trigger the DCA Bot: Add one alert on the strategy using "Any alert() function call". Paste your DCA Bot's webhook URL into the alert's Webhook field, and fill the Bot ID, Email Token, and Pair inputs on the script. The base order, each safety order, and the close will each emit a dedicated JSON payload.
🔷 INDICATOR SETTINGS
Base Order Size: Capital committed on the first (base) entry.
AO Deviations: Fixed percentage distances from the base entry where each safety order fires.
AO Sizes: Capital per safety order (1.8× scaling by default).
RSI Timeframe / Length / Level: Oversold filter for the base entry (default 4h, 14, below 28).
Take Profit (%): Distance above average entry where the full position closes.
Bot ID / Email Token / Pair: Webhook fields injected into every alert payload.
Visualization: Toggle the AO ladder, fill labels, avg/TP lines, and status table.
Brand Watermark: Configurable text, position, size, and transparency.
👨🏻💻💭 We hope this tool helps enhance your trading. Your feedback is invaluable, so feel free to share any suggestions for improvements or new features you'd like to see implemented.
__
The information and publications within the 3Commas PulseWire account are not meant to be and do not constitute financial, investment, trading, or other types of advice or recommendations supplied or endorsed by 3Commas and any of the parties acting on behalf of 3Commas, including its employees, contractors, ambassadors, etc. Strategy

Pattern Scout Wedges Head ShouldersPattern Scout — Wedges & Head/Shoulders
Pattern Scout automatically detects four classic chart patterns — falling wedges, rising wedges, head & shoulders, and inverse head & shoulders — and draws them directly on your chart as you scroll through history. It is a screening tool meant to surface candidates for you to review, not an automated signal generator.
▮ WHAT IT DOES
The script scans confirmed swing pivots and tests recent highs and lows against the geometric definition of each pattern. When a match is found, it draws the pattern's trendlines (or shoulder/neckline structure) and labels it. It does not repaint: a pattern is only drawn after its pivots are confirmed, so labels stay fixed once printed.
▮ HOW IT WORKS
Swing detection — Highs and lows are found using ta.pivothigh / ta.pivotlow with a configurable strength. A pivot needs N bars on each side to qualify, which is what prevents minor wiggles from registering as structure. This confirmation is also why a pattern appears a few bars after it visually completes — an unavoidable trade-off in any non-repainting swing method.
Wedges — The script takes the two most recent swing highs and the two most recent swing lows, fits a line through each pair, and checks two conditions: (1) both lines slope the same direction (down = falling wedge, up = rising wedge), and (2) the vertical gap between the lines at the end is narrower than at the start by at least the Convergence Ratio. This "narrowing channel" test is what separates a true wedge from a parallel channel. Lines are then clipped at their apex (the point where they mathematically intersect) so each wedge is a closed shape rather than two rays running off-screen.
Head & Shoulders — Looks at three consecutive swing highs. The middle high (the head) must exceed both outer highs (the shoulders), and the two shoulders must be within the Shoulder Symmetry tolerance of each other, measured as a fraction of head height. The neckline is drawn through the two intervening swing lows. Inverse H&S applies the mirror logic to three swing lows.
▮ SETTINGS
Swing strength — Bars required each side to confirm a pivot. Higher values find larger, rarer patterns with more confirmation lag. Start around 5 on intraday charts, 10–15 on daily.
Convergence ratio — How much a wedge must narrow to qualify (end gap ÷ start gap). Lower = stricter. Drop toward 0.4 if you get too many loose wedges.
Shoulder symmetry tolerance — Maximum allowed difference between the two shoulders. Loosen toward 0.08 if H&S rarely fires.
Require neckline break — When on, H&S only flags after price closes beyond the neckline. Fewer false alarms, more lag.
Max patterns kept on chart — Older patterns (lines and labels together) are automatically deleted once this cap is exceeded, keeping the chart readable.
Style — Per-pattern colours with adjustable transparency, plus an optional toggle to mark raw pivots.
▮ HOW TO USE IT
Treat each drawn pattern as a candidate, not a confirmed setup. Patterns are detected from the two most recent swings, so they are the simple two-touch variety rather than multi-touch channels. Always eyeball each one in context — chart-pattern recognition is inherently subjective, and the script will occasionally label structure that your eye would dismiss. Tune the three core knobs (swing strength, convergence ratio, shoulder symmetry) per instrument and timeframe to match your own reading.
Alerts are included for all four pattern types.
▮ LIMITATIONS
- Two-swing geometry only; it will not capture every variation of these patterns.
- Confirmation lag is intrinsic to non-repainting pivots.
- Pattern detection is a starting point for analysis, not a trading recommendation.
This script is provided for educational and analytical purposes. It does not provide financial advice and makes no claim about future price movement or profitability. Always do your own analysis and manage risk accordingly. Indicator

Indicator

Indicator
