Conformal Prediction Bands [forexobroker]Conformal Prediction Bands applies split-conformal inference — a distribution-free framework from Vovk, Shafer, and Lei et al. — to a simple EMA forecaster, giving prediction bands with finite-sample coverage guarantees under exchangeability. A 21-period EMA is the point forecast; the most recent N absolute residuals form the calibration set; the (1-alpha)-quantile of those residuals is the band half-width q. The result is upper and lower bands that, under standard assumptions, contain the next close (1-alpha) of the time. The unique angle is replacing standard-deviation bands (Bollinger, Keltner) with a quantile-based, assumption-light interval drawn from a peer-reviewed statistical framework.
🔶 ALGORITHM
1. Base forecast yhat = ta.ema(close, base EMA length default 21).
2. Each confirmed bar appends |close - yhat| to a rolling calibration set of size N (default 200).
3. The calibration set is sorted; q is the (1-alpha)*100 percentile via linear interpolation.
4. Bands: upper = yhat + q, lower = yhat - q. The band half-width q is symmetric by construction.
5. The slope of yhat over the last several bars (default 3) is computed as the trend filter.
6. Entry on a confirmed band breakout in the slope direction; cooldown and position state flip-prevention stop double-firing.
7. Empirical coverage is displayed in the dashboard so the user can monitor whether realised coverage matches the target.
🔶 SIGNAL LOGIC
- Buy: close > upper band AND slope of yhat over slope length is positive AND calibration set has at least 20 samples AND session filter passes AND position is not already long AND cooldown bars elapsed AND barstate.isconfirmed.
- Sell: close < lower band AND slope of yhat is negative AND calibration set has at least 20 samples AND session filter passes AND position is not already short AND cooldown bars elapsed AND barstate.isconfirmed.
The band break is the trigger, the slope is the trend filter, the calibration size gate avoids early-history false signals.
🔶 INPUTS
- Conformal Calculation group: base EMA length default 21, calibration size N default 200, alpha default 0.1 (90% bands).
- Signal Logic group: trend slope bars default 3, cooldown bars default 15.
- Filters group: session restriction (default 0000-2400).
- Visual group: dashboard, 3-layer glow, band fill toggle, midline color, band color, buy and sell colors.
🔶 ALERTS
CPB Buy, CPB Sell, CPB Any Signal, CPB Above Band, CPB Below Band, CPB Upper Cross, CPB Lower Cross, CPB Bands Widening, CPB Bands Tightening, CPB Inside Bands, CPB Webhook JSON.
🔶 LIMITATIONS
- Conformal coverage guarantees assume exchangeability of residuals; in trending or regime-shifting markets residuals are correlated and empirical coverage can drift below the target.
- The calibration set is a rolling window, not held-out i.i.d. data, so this is a streaming approximation of split-conformal inference rather than a strict implementation.
- The base predictor is a simple EMA; a poor base forecast inflates residuals and widens the bands, weakening sensitivity to genuine breakouts.
- The bands are symmetric by construction; for instruments with strong return asymmetry (e.g. crypto with rare large jumps) the upper and lower coverage can differ in practice.
- Calibration sizes below roughly 50 produce noisy quantiles and the script gates entries at 20 to avoid early-history false signals; expect no entries until calibration is filled.
Indicator

Kalman Trend Velocity [Probalist Essentials]Kalman Trend Velocity tracks the speed of price movement through a real two-state Kalman filter. The velocity estimate comes with its own uncertainty from the filter's covariance matrix — so the indicator can tell you not just which way the trend is moving, but whether that movement is statistically distinguishable from noise. A trend only counts as significant when the velocity minus its own sigma clears zero, shown as the significance shading between the band and the zero line.
This is a momentum tool for traders who want a trend-speed read that respects uncertainty. It suits trend-following entries (wait for significance), exit reads (significance lost = trend may be done), and regime filtering (noise zone = stand aside). The probability panel shows what actually happened after past significance crosses on the chart you're running it on — empirical counting, not theory.
🟡 WHY THIS VERSION
Most 'Kalman' indicators on TV are just EMA variants wearing a different label. This one runs an actual two-state state-space filter: position and velocity estimated together, with a full 2×2 covariance matrix that shrinks when the filter is confident and widens when it's surprised. The velocity's sigma changes bar-to-bar — the band breathes. That's the headline.
The killer extra is the significance zone: the shaded area between the uncertainty band and zero. When velLow > 0 (bull) or velHigh < 0 (bear), the trend is statistically there. When the band straddles zero, it's noise — and the indicator says so plainly. Then there's the probability panel: it counts what happened after every past significance cross on your specific chart and timeframe, shows the win rate, the median move, and the 1-sigma spread. Not a promise. Just what the data said.
🟡 HOW IT WORKS
The filter models price as following a constant-velocity law: position advances by velocity each bar, and velocity persists until the market forces a revision. Two sources of uncertainty feed the model: process noise Q (how much velocity can change per bar) and measurement noise R (how noisy the price reading is). Each bar the filter makes a prediction, then corrects it against the actual close weighted by the Kalman gain — a ratio derived from the model's own uncertainty estimates.
The covariance matrix P carries the filter's self-assessed confidence. After many calm, trending bars the velocity variance p22 shrinks — the filter trusts its model. After a surprise price move the gain jumps and p22 expands — the filter reverts to following the data. The uncertainty band (velocity ± k·sqrt(p22)) visualises this: tight in sustained trends, wide in choppy conditions. The significance cross fires when the LOWER edge of that band clears zero on the bullish side (or the UPPER edge on the bearish side) — meaning even the pessimistic end of the velocity estimate says the trend is real. The filter operates on log-price (×100), which makes the velocity state a percent-per-bar reading and keeps the noise parameters meaningful on any price scale.
🟡 KEY FEATURES
Real 2-state Kalman filter (position + velocity) — not an EMA. Covariance matrix updates every confirmed bar.
Velocity uncertainty band (± k·σ_v from filter covariance p22) that widens in noise and tightens in trends.
Significance shading: the zone between the uncertainty band and zero is filled in accent colour only when the trend clears the noise floor.
Kalman gain K shown in readout — a low K means the filter trusts its own momentum; a high K means it's learning fast.
Probability panel: kernel-smoothed distribution of forward returns after past significance crosses on the loaded chart. Bull and bear sides tracked separately.
Wilson-score evidence tiers: five verdict levels from 'recent + long-run backed' to 'no edge here — treat as noise', with an edge clock showing how fresh the current regime is.
Weighted signal dots with self-calibrating tiers (60th/90th percentile of past signal strength), hover tooltips showing the Read verdict at fire time and the actual outcome once it resolves.
Probalist heat wave: velocity colour cycles hot/amber/mint/cyan/cold through the official ramp based on velocity magnitude. Glow toggle for visual intensity.
Family signature — the uncertainty band IS the data: the layers around the velocity wave are the filter's own error estimate, widening in chaos and tightening in clean trends (not decoration)
Fixed signal lanes: bull dots below the wave, bear dots above — every spaced signal carries its read-at-fire, verdict and completed outcome in the hover tooltip
Scale-invariant by construction: the filter runs on log-price, so velocity reads as %/bar and the same Q/R defaults behave identically on every symbol — from sub-cent coins to BTC
🟡 HOW TO USE
Wait for significance: the bullish filter is velocity − σ_v > 0, the bearish filter is velocity + σ_v < 0. The shaded zone confirms it visually — use it as a directional filter for entries rather than acting on every velocity tick.
Noise zone (no shading, background faint white): the band straddles zero — velocity exists but the filter can't distinguish it from noise. Most false breakouts happen here. Consider standing aside.
Check the readout for the probability verdict before acting on a cross. 'Recent + long-run backed' means the chart's own history supported follow-through at this setup. 'No edge' means it didn't — useful context even if you still trade it.
Kalman gain K in the readout row: below ~0.05 the filter is in confident-trend mode; above ~0.3 it's reacting strongly to each bar. High gain + significance cross = the filter just woke up to a new trend.
Adjust Q and R to fit the instrument: raise Q for volatile assets that change trend speed quickly; raise R for noisy pairs where you want the filter to discount individual bars.
Costs honesty: the median forward return on short timeframes (5m, 15m) is typically small — often 0.05–0.15% over 10 bars. That does not survive round-trip costs on most venues. The probability read is about direction consistency, not net profit. Use it as a filter alongside a structure read, not as a standalone entry signal.
Weigh the median move against your round-trip costs — a backed signal with a tiny median doesn't survive fees and spread on most venues; the edge read is about direction, not net profit
Tune Q (process noise) and R (measurement noise) to your market: higher Q = faster, twitchier filter; higher R = smoother, slower — the K-gain readout shows how much the filter is trusting new bars right now
🟡 PAIRS WELL WITH
Kalman velocity tells you trend speed and whether it's statistically real — it doesn't tell you where you are in a structure or whether volume backs the move. A higher-timeframe trend filter (a daily MA slope or a weekly Kalman reading) aligns the direction bias before you act on a significance cross on a shorter chart. A volume read (relative volume or OBV direction) confirms whether the velocity move has participation behind it — velocity without volume is often a low-conviction drift. Key support and resistance levels give the natural targets and reversal zones that the oscillator can't see. The indicator explicitly does not model regime shifts, multi-timeframe confluence scoring, or volatility-adjusted position sizing — those sit in other tools.
Kalman Trend Velocity gives you a trend-speed read that knows its own uncertainty. The significance shading makes the noise/signal distinction visible at a glance. The probability panel adds the chart's own empirical record — not a model, just honest counting. Together they give a cleaner picture of when the trend is real and what the chart's history said about it.
Open source under MPL-2.0. The probability layer describes past signals on your chart — it is a measurement, not a prediction, and nothing here is financial advice. Indicator

Anchored VWAP Magnetized [Probalist Essentials]Anchored VWAP Magnetized tracks volume-weighted average price from a chosen anchor point — session open, week start, month start, or a specific date — with ±1σ and ±2σ standard-deviation bands drawn around it. Price gravitates back toward VWAP over time; the deviation bands show how far it has stretched from that fair value.
The script is for any trader who uses VWAP as a reference — intraday, swing, or positional. The outer band is the headline: a confirmed close beyond ±2σ is the primary fade signal, and the script tracks what actually happened after those touches on your specific chart and timeframe, showing the result as a distribution.
🟡 WHY THIS VERSION
The deviation bands and the probability read together are what make this version worth keeping. Most AVWAP scripts just draw the line. This one shows where the outer band was breached historically, measures how far price moved back toward VWAP after each touch, and gives you a distribution — median, win rate, recent form — so you can see whether fading the outer band has actually worked on the thing you're trading. The heat-coloured wave tells you at a glance where price stands relative to the bands. Alerts fire on confirmed closes only, so no ghost signals. And the recent-form read watches for regime shifts — a strategy that worked for six months might have cooled, and the edge clock tells you how fresh the current read is.
🟡 HOW IT WORKS
VWAP from an anchor is a running weighted average: each bar contributes (typical_price × volume) to the cumulative sum, divided by cumulative volume. The deviation uses the computational variance formula — E − E ² — which avoids a second pass over the data and stays accurate as the anchor window grows. Both accumulators reset whenever the anchor condition fires (new session, week, month, or custom date). The bands are simply VWAP ± N × deviation, where N defaults to 1 and 2. The primary signal is a confirmed close beyond the outer band, treated as a fade signal: when price stretches that far from volume-weighted fair value, the historical tendency on most instruments is mean reversion. The probability layer records the forward %-return (in signal direction) for every past touch, computes a kernel-smoothed density, and shows the result as a bell curve anchored to the right of the chart.
🟡 KEY FEATURES
Session / week / month / custom-date anchor with one selector — the killer extra
±1σ and ±2σ standard-deviation bands from the same anchor-reset accumulation
Heat-coloured AVWAP wave — orange/amber when price runs above, blue when below
Outer-band-touch fade signal with 3-tier strength dots and hover tooltips
Magnet-regime detection: when BOTH fade directions are backed by recent form, the Read names it — a ranging market where price gets pulled back to the VWAP from both sides
Probability distribution: kernel-smoothed bell curve of past outer-band-touch outcomes, per direction
Separate bull / bear outcome arrays — no dilution of a one-sided edge
Recent-form Wilson verdict and edge clock — flags regime shifts
Compact mini-readout anchored to chart (scrolls with history, not screen-docked)
Forward projection cone from the last signal, scaled to price space
Evidence-gated alerts that fire only when the chart's own history backed follow-through
🟡 HOW TO USE
Use the AVWAP line as dynamic fair value: price above it = bullish bias, below = bearish. The heat colour gives the read instantly.
The ±1σ bands define the typical range for the anchor period. Most price action stays inside them; a touch is a stretch, not a signal by itself.
A confirmed close beyond the ±2σ band is the fade signal — bearish bias when above, bullish when below. The dot size encodes how far beyond the band the close landed; larger dots = deeper excursion.
Check the mini-readout before acting. If the stats show 'no edge in history here — treat as noise', the band touch has not reliably led to mean reversion on this chart. If it shows recent form backs it, the recent regime has been supportive of fades.
The probability read is descriptive — it counts past outcomes on this chart and timeframe. It is not a prediction. A median of +0.3% on a 15-minute chart may not survive round-trip costs on most venues; the read is about directional bias, not net P&L.
Use the anchor dropdown to match your trading frame: Session for intraday, Week for swing, Month for positional. Custom anchor lets you pin to a specific structural event (earnings, news, key pivot).
Set alerts on the evidence-gated variants ('history-backed') rather than the raw band touch — they fire only when the recent regime has supported follow-through.
When the Read shows the magnet regime (both fades backed), trade the bands and distrust breakouts — the chart's own record says price has been snapping back to the VWAP from both sides
Weigh the median move against your round-trip costs — a backed fade with a tiny median (say +0.06% on a 15-minute chart) doesn't survive fees and spread on most venues; the edge read is about direction, not net profit
🟡 PAIRS WELL WITH
AVWAP works well alongside a trend filter — a simple MA slope or Supertrend tells you whether fades are against a strong trend (lower probability) or in a ranging / mean-reverting environment (higher probability). A momentum oscillator like RSI adds confluence on the signal bar: an outer-band touch with RSI already oversold/overbought is a tighter read than a touch alone. For intraday use, the session VWAP from the exchange feed can run alongside as a second reference for where the day's institutional activity is anchored. Key horizontal S/R levels are a natural complement — a band touch that coincides with a known support or resistance zone is a stronger candidate for a fade than one in open air.
Anchored VWAP Magnetized gives you the classic tool — volume-weighted fair value from the anchor you choose, with deviation bands showing the stretch — plus an honest count of what past band touches actually led to on your chart. The wave colour, the distribution panel, and the edge clock together turn a standard reference line into a read you can interrogate.
Open source under MPL-2.0. The probability layer describes past signals on your chart — it is a measurement, not a prediction, and nothing here is financial advice.
Indicator

COT-Trader Seasonality - Indexed Geometric PathCOT-Trader Seasonality is a visual research indicator designed to study seasonal tendencies in futures, commodities, indices and other markets.
The script focuses on one specific question:
How has a market typically behaved throughout the calendar year when historical years are compared on a normalized basis?
Instead of averaging raw historical prices, the indicator indexes each historical year to a base value of 100 at the first available trading day of that year. This makes different years comparable across changing price regimes.
This is especially useful for markets such as commodities and futures, where long-term price levels can change significantly over time.
Methodology
The indicator uses an Indexed Geometric Seasonal Path approach:
1. Each historical year is indexed to 100 at its first available trading day.
2. Each following trading day is converted into a relative factor versus that year’s starting value.
3. For each calendar day, the geometric mean of the indexed historical factors is calculated.
4. The resulting seasonal curves are plotted on a synthetic January-to-December seasonal scale.
The geometric approach is used because price development is multiplicative. A 10% gain followed by a 10% loss does not return a market to its original level. Working with relative factors is therefore more appropriate than directly averaging absolute historical prices.
Displayed Curves
The indicator can display:
• 10Y Main Seasonal Curve
• 5Y Seasonal Curve
• 15Y Seasonal Curve
• 20Y Seasonal Curve
• Current Year / YTD indexed path
• Previous Year indexed path
• Synthetic seasonal month scale
The 10Y curve is the main reference curve. The 5Y, 15Y and 20Y curves are included as comparison views to help evaluate whether shorter-term seasonal tendencies differ from longer-term historical behavior.
The current year line stops at the latest available data point. It is not extended into the future.
How to Use
This indicator can be used to:
• compare the current year against historical seasonal tendencies
• identify periods where several seasonal curves move in a similar direction
• compare shorter-term and longer-term seasonal behavior
• study whether the current year is behaving normally or as an outlier
• support broader market research together with positioning, fundamentals, volatility and risk analysis
The month labels shown in the indicator are a synthetic seasonal month scale. They are not the same as the chart’s real time axis.
What This Indicator Does Not Do
This script does not generate buy or sell signals.
It does not predict future prices.
It does not automatically identify the best seasonal trading window.
It does not include stop-loss, take-profit, position sizing or strategy backtesting logic.
It is intended as a visual research tool, not as a standalone trading system.
Limitations
Seasonality describes historical tendencies, not certainties. Markets can deviate significantly from historical seasonal patterns due to macroeconomic conditions, weather, supply-demand shocks, positioning, volatility, futures contract rolls or other market-specific factors.
For futures and continuous contracts, historical data quality and roll methodology can influence the visual result.
The indicator should be used as one part of a broader analytical process.
Initial public release.
Features:
• Indexed geometric seasonal path calculation
• Fixed 10Y main seasonal curve
• 5Y, 15Y and 20Y comparison curves
• Current year / YTD indexed path
• Previous year indexed path
• Synthetic January-to-December seasonal month scale
• Built-in legend and methodology table
This indicator is designed for visual seasonal research and does not generate trading signals. Indicator

JEC Mix01 + Trend Tracker// ══════════════════════════════════════════════
// 이 스크립트는 두 가지 독립적인 분석 모듈을
// 하나의 인디케이터로 통합한 복합 도구입니다.
// 각 모듈은 서로 다른 시간축 데이터를 참조하며
// 최종 시각화 및 알람 출력에서 결합됩니다.
// ══════════════════════════════════════════════
// ── 모듈 A ──────────────────────────────────
// 두 종류의 이동평균을 사용해 단기 방향성을 판단합니다.
// 빠른 선과 느린 선의 위치 관계로 현재 추세를 분류하며,
// 장기 기준선과의 관계를 추가로 확인해 신뢰도를 높입니다.
// 기준선은 사용자가 선택한 방식(SMA/EMA)으로 계산되며,
// 상위 타임프레임 데이터를 참조할 수 있어 리페인팅 없이
// 안정적인 값을 반환합니다.
// 기준선 주변에 일정 범위의 완충 구간이 설정되며,
// 가격이 이 구간 안에 있을 경우 방향성 없음으로 처리합니다.
// 방향성은 세 가지 상태(상승/하락/중립)로 압축되며
// 이후 모든 진입 및 청산 판단의 기반이 됩니다.
// 손절 기준선은 진입 시점의 가격에서 파생된 동적 수치로,
// 포지션 방향에 따라 위 또는 아래에 위치합니다.
// 가격이 이 선을 이탈하면 해당 포지션은 강제 청산됩니다.
// 손절선의 구체적인 산출 방식은 입력 파라미터에 종속됩니다.
// 캔들 색상은 현재 방향성 상태를 반영하며,
// 상승/하락 여부 및 강도에 따라 색조가 달라집니다.
// 골든크로스/데드크로스 감지 기능은 옵션으로 제공됩니다.
// ── 모듈 B ──────────────────────────────────
// 별도의 단기 타임프레임(5분봉) 데이터를 참조하여
// 현재 차트 위에 추세선을 표시합니다.
// 추세선은 가격의 변동성을 반영한 동적 밴드를 기준으로
// 방향이 결정되며, 스무딩 처리를 거쳐 출력됩니다.
// 현재 가격과 추세선의 거리에 따라 색상 농도가 달라지며,
// 멀수록 진하게, 가까울수록 연하게 표시됩니다.
// SAR(Stop and Reverse) 지표를 보조적으로 활용하며,
// 단순히 SAR 값을 표시하는 것이 아니라
// 특정 캔들 조건이 충족될 때만 활성화되는 필터가 적용됩니다.
// 추세 방향과 캔들 방향이 일치하는 시점부터만
// SAR이 화면에 나타나며, 그 이전에는 숨김 처리됩니다.
// ── 시그널 ───────────────────────────────────
// 진입과 청산 상태는 별도의 변수로 관리되며
// 중복 진입이 발생하지 않도록 이전 상태를 확인합니다.
// 롱/숏 진입 조건은 모듈 B의 상태값에 종속되며
// 바 확정 시점에만 평가됩니다.
// 청산은 추세 반전 또는 SAR 방향 전환 시 발생하며,
// 수익 청산과 손실 청산을 구분해 라벨로 표시합니다.
// 진입 시그널은 캔들 위/아래 삼각형으로 표시되며,
// 수익 청산은 💰, 손실 청산은 💥 라벨로 나타납니다.
// ── 알람 ─────────────────────────────────────
// 네 가지 조건(롱진입/숏진입/익절/손절)에 대해
// 각각 독립적인 알람 조건이 설정되어 있습니다.
// 거래량이 없거나 가격 데이터가 없는 종목(상폐 등)은
// 알람 대상에서 자동으로 제외됩니다. Indicator

Gap Fill TrackerGap Fill Tracker
The Gap Fill Tracker is an overlay indicator that automatically detects, tracks, and measures the fill rate of price gaps — defined as the difference between the previous candle's close and the current candle's open. It counts a gap as filled when price reaches the 50% midpoint of the gap range, and provides a live statistics panel including total gaps detected, fill rate percentage, open gaps, and the average time gaps take to fill expressed in human-readable time units adapted to the current chart timeframe.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
WHAT IS A GAP?
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
A gap occurs when a candle opens at a different price than the previous candle's close, leaving an unfilled zone on the chart. Bullish gaps open above the prior close. Bearish gaps open below the prior close. Gaps can occur on any timeframe and any instrument, and they represent price imbalances — zones where no trading occurred, which the market tends to revisit.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
FILL CONDITION
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
A gap is considered filled when price touches the 50% midpoint of the gap range — not necessarily the full extent. This is a more conservative and statistically accurate measure than requiring a full gap fill, as it captures the point at which the market has revisited the center of the imbalance. The midpoint is marked on the chart as a dashed line through the middle of each open gap zone.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
COMPONENTS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1. Gap Zones (boxes)
Each detected gap is visualized as a colored rectangle spanning from the gap's lower boundary to its upper boundary, starting at the bar where the gap occurred and extending to the right. Bullish gaps are displayed in teal. Bearish gaps are displayed in pink. Zones disappear silently when the fill condition is met — no confirmation markers are left on the chart, keeping it clean.
2. Midpoint Line (dashed)
A dashed horizontal line runs through the center of each open gap zone, marking the exact price level that constitutes a fill. This is the target level the indicator monitors.
3. Gap Labels
Small labels mark the bar where each gap was detected, indicating direction (GAP ↑ for bullish, GAP ↓ for bearish).
4. Statistics Table (top right)
A compact panel displays four key metrics updated in real time:
- Detected: total number of gaps found in the chart's history
- Filled: number of gaps that reached the 50% midpoint, with fill rate percentage
- Open: number of gaps still unfilled, with open rate percentage
- Avg fill time: average time gaps take to reach the 50% midpoint, expressed automatically in minutes, hours, days, or weeks depending on the chart timeframe
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
SETTINGS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
• Minimum gap (%): The minimum size of a gap expressed as a percentage of the prior close, to filter out micro-gaps caused by spread or rounding. Default is 0.5%. Lower values detect more gaps; higher values focus only on significant gaps.
• Max open gaps visible: Controls how many of the most recent unfilled gaps are displayed on the chart. Older open gaps continue to count in the statistics but are hidden visually to keep the chart readable. Default is 10.
• Show open zones: Toggle the visual display of open gap zones on or off. Statistics continue to update regardless.
• Bull/Bear gap colors: Customize the colors for bullish and bearish gap zones independently.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
HOW TO INTERPRET IT
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
FILL RATE
The fill rate shown in the statistics panel tells you what percentage of historical gaps on this instrument and timeframe have been filled. A fill rate above 95% confirms that gap fills are a near-certain statistical event for this market. A lower fill rate suggests that the instrument or timeframe has structural tendencies that prevent consistent gap fills — for example, strongly trending markets on higher timeframes.
OPEN GAPS
Each visible zone on the chart represents an active price target — a level where the market has a strong statistical tendency to return. The more open gaps accumulated above or below current price, the stronger the magnetic pull toward those levels.
MIDPOINT LINE
The dashed line through each zone is the exact fill target. Price touching this level — even with a wick — constitutes a fill and removes the zone from the chart.
AVERAGE FILL TIME
This is the most operationally useful metric. It tells you how long gaps on this instrument and timeframe typically take to fill, expressed in real time units. If the average fill time on a 4-hour chart is 1.1 weeks, that means most gaps are filled within approximately 1 to 2 weeks of forming. This information can be used to time entries — rather than entering immediately after a gap forms, waiting until price approaches the average fill window increases the probability of catching the fill move at the right moment.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
HOW TO USE IT
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1. CHECK THE FILL RATE FIRST
Load the indicator on your instrument and timeframe of choice. Check the fill rate in the statistics panel. If it is above 95%, gap fills are a reliable statistical edge on that market. If it is significantly lower, adjust the minimum gap size or consider a different timeframe.
2. IDENTIFY OPEN GAPS AS PRICE TARGETS
The visible zones on the chart are active price targets. Open gaps above current price are upside targets. Open gaps below current price are downside targets. The midpoint line is the specific price level to watch.
3. USE THE AVERAGE FILL TIME FOR ENTRY TIMING
Note the average fill time displayed in the table. After a gap forms, use this as a reference for when to start looking for an entry toward the fill. If the average fill time is 1 week on a daily chart, the highest probability entry window is typically in the days surrounding that average, not immediately after the gap opens.
4. MANAGE THE TRADE
The target is the midpoint of the gap. Once price touches the midpoint, the zone disappears automatically. Position sizing, stop placement, and exit management are left to the trader's discretion and should be based on their own risk framework.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
NOTES
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
• Works on any instrument and any timeframe. Fill rates and average fill times vary by market and timeframe — always verify the statistics panel before trading.
• The average fill time automatically adapts to the chart's timeframe: it displays in minutes on intraday charts, hours on hourly charts, days on daily charts, and weeks on weekly charts.
• Filled gaps disappear silently without leaving markers on the chart, ensuring a clean visual at all times.
• The statistics counter covers the full available chart history, not just the visible bars on screen.
• For instruments that trade 24/5 (forex) or 24/7 (crypto), the average fill time reflects calendar time based on bar count times timeframe minutes. For instruments with trading sessions (equities, futures), the actual calendar time will be longer since no bars are generated outside market hours. Indicator

Indicator

Stock: Snowflake Analysis [invincible3]Stock: Snowflake Analysis
Stock: Snowflake Analysis is a visual fundamental-analysis radar indicator designed for stock traders and investors who want a quick, structured view of a company’s financial quality. The indicator converts multiple PulseWire financial metrics into normalized 0–100 scores and displays them as a six-axis snowflake/radar chart directly on the price chart.
The purpose of the indicator is to help users quickly evaluate a stock from several key perspectives: dividend quality, growth, inventory efficiency, financial stability, valuation, and future outlook. Each metric is transformed into a score, then plotted visually so the user can immediately see where a company is strong or weak. The current script uses six core categories: Dividend, Growth, Inventory, Stability, Valuation, and Future, and it draws the final score as a radar/snowflake polygon.
Main Concept
The indicator works by pulling available stock financial data from PulseWire using request.financial(). These values are then normalized into scores from 0 to 100.
A score near 100 means the company is strong in that category.
A score near 50 means the company is neutral or average.
A score near 0 means the company is weak in that category.
The final snowflake shape gives a quick visual overview:
A large, balanced snowflake suggests broad financial strength.
A small or uneven snowflake suggests weakness or imbalance.
A stretched shape shows that the company is strong in some areas but weak in others.
Six Core Financial Categories
1. Dividend Score
The Dividend axis evaluates whether the stock provides attractive and sustainable shareholder distributions.
It uses:
Dividend yield
Dividend payout ratio
The dividend yield is scored positively when it is higher, while the payout ratio is scored negatively if it becomes too high. A very high payout ratio may suggest that the dividend is less sustainable.
A strong Dividend score usually means the company has a decent yield without excessive payout pressure.
2. Growth Score
The Growth axis measures how well the company is expanding.
It uses:
Revenue growth
EPS growth
Gross margin
The score rewards companies with improving sales, stronger earnings, and healthier gross margins. A company with strong revenue growth but weak margins may receive a mixed score, while a company with both growth and profitability receives a stronger score.
This category is especially useful for identifying companies with improving business momentum.
3. Inventory Score
The Inventory axis evaluates operating efficiency, especially for businesses where inventory management matters.
It uses:
Inventory turnover
Inventory-to-revenue ratio
Higher inventory turnover is considered positive because it suggests that the company sells its inventory efficiently. A lower inventory-to-revenue ratio is also considered positive because it indicates that inventory is not becoming too heavy relative to sales.
This score is more useful for retail, manufacturing, consumer goods, and industrial companies. It is less meaningful for banks, software companies, or service businesses.
4. Stability Score
The Stability axis measures balance-sheet strength.
It uses:
Current ratio
Debt-to-equity ratio
A higher current ratio generally suggests better short-term liquidity, while a lower debt-to-equity ratio suggests lower financial leverage.
A strong Stability score means the company appears financially safer and less dependent on debt. A weak score may suggest liquidity pressure or excessive leverage.
5. Valuation Score
The Valuation axis evaluates whether the stock appears reasonably priced relative to earnings.
It uses:
Earnings yield
Price-to-earnings ratio
Earnings yield is calculated as:
Earnings Yield = EPS / Price × 100
A higher earnings yield is better. A lower P/E ratio is also better, up to a reasonable threshold. This category rewards companies that generate meaningful earnings relative to their current share price.
A high Valuation score may suggest the stock is cheaper relative to earnings, while a low score may suggest the stock is expensive or earnings are weak.
6. Future Score
The Future axis attempts to measure forward-looking quality.
It uses:
Sustainable growth rate
Forward P/E ratio
A higher sustainable growth rate improves the score, while a very high forward P/E lowers the score. This category tries to balance future growth potential with future valuation risk.
A strong Future score suggests the stock may have a reasonable combination of expected growth and forward valuation.
Final Score
The center score is calculated as the average of the six category scores:
Final Score = Average of Dividend, Growth, Inventory, Stability, Valuation, and Future
This final score is displayed in the center of the radar chart.
The score color changes dynamically using the indicator’s heatmap color theme:
Low scores appear in purple tones.
Mid scores appear in teal tones.
High scores appear in green/yellow tones.
This makes it easier to visually identify weak, neutral, and strong readings.
Visual Design
The indicator displays a clean snowflake/radar chart directly on the price chart. Each axis represents one financial category.
Visual components include:
Hexagonal grid rings
Axis lines
Category labels
Score markers
Filled snowflake polygon
Dynamic color based on total score
Optional historical comparison snowflake
The snowflake is placed to the right side of the latest bar using the Right Offset setting, so it does not cover the current candles.
Historical Comparison
The indicator includes an optional Historical Snowflake feature.
When enabled, it compares the current snowflake with a previous score profile based on the selected historical lookback.
For example:
Historical Lookback = 252 bars
This can be used as an approximate one-year comparison on daily charts.
The historical snowflake helps users see whether the company’s fundamental profile has improved, weakened, or remained stable over time.
Stock-Only Protection
This indicator is designed for stock symbols only because financial metrics such as dividend yield, payout ratio, EPS, revenue growth, and debt-to-equity are stock/company-specific data.
For non-stock symbols such as:
Gold
Forex pairs
Crypto
Indices
Commodities
the script does not draw the snowflake. Instead, it displays a warning message explaining that financial metrics are not available for those instruments.
This prevents misleading neutral scores from appearing on symbols where company financial data does not exist.
Input Settings
Radar Layout
Right Offset Bars
Moves the snowflake to the right side of the latest candle.
Scale Lookback
Controls the price range used to vertically scale the snowflake on the chart. This does not affect the financial scores.
Width
Controls the horizontal size of the radar.
Height %
Controls the vertical size of the radar relative to the recent price range.
Label Distance
Controls how far the category labels are placed from the radar center.
Visual Styling
Show Grid Rings
Turns the hexagonal background rings on or off.
Show Axis Lines
Turns the center-to-axis guide lines on or off.
Show Axis Labels
Shows or hides the category names and scores.
Show Score Markers
Shows or hides circular markers at each snowflake point.
Dynamic Colors
When enabled, the snowflake color changes based on the total average score.
Marker Size
Controls the size of the score markers.
Historical Comparison
Show Historical Snowflake
Displays a previous score profile for comparison.
Historical Lookback Bars
Defines how far back the comparison should be calculated.
How to Interpret the Snowflake
A strong stock usually shows:
A broad and balanced snowflake
High Growth and Stability scores
Reasonable Valuation score
Improving Future score
A risky or weak stock may show:
A compressed snowflake
Very low Stability
Weak Growth
Expensive Valuation
Poor Future score
An unbalanced company may show a stretched snowflake. For example, a high Growth score but low Stability and Valuation scores may indicate a fast-growing but financially risky or expensive company.
Best Use Cases
This indicator is useful for:
Quick stock screening
Comparing companies visually
Identifying financial strengths and weaknesses
Monitoring changes in a company’s financial profile
Combining fundamentals with technical analysis
Long-term investing and swing-trading research
It is especially helpful when comparing stocks within the same sector.
Important Notes
The indicator uses a generic scoring model. Different sectors naturally have different financial structures.
For example:
Banks do not use inventory metrics in the same way as retail companies.
Utilities often carry higher debt.
Technology companies may have low dividend scores but strong growth.
Retail and manufacturing companies rely more heavily on inventory efficiency.
Because of this, the scores should be interpreted with sector context.
Limitations
This indicator should not be used as a standalone buy or sell signal.
Financial data can be delayed, unavailable, or inconsistent depending on the symbol and exchange. When a financial metric is missing, the script uses a neutral internal fallback value to keep the radar visually stable.
The indicator is best used as a summary and comparison tool, not as a complete valuation model.
Disclaimer
Snowflake Analysis is an educational and research tool. It is not financial advice. Users should always combine this indicator with their own analysis, sector research, risk management, and broader market context before making trading or investment decisions. Indicator

FLEE MTF Context & RangeThis indicator is a multi-timeframe market context tool. Its job is to help you quickly understand what the market is doing across multiple timeframes and what range price is currently trading inside.
It shows a context table in the top-right corner of the chart. That table tells you the trend direction for the 4H, 1H, 15M, and 5M timeframes. Each timeframe will show whether price is bullish, bearish, or neutral.
At the top of the table, it also shows the Daily overall bias. The daily bias is the main direction of the market, so you can quickly see whether the bigger picture is leaning bullish or bearish before taking trades on the lower timeframes.
The indicator also identifies the current range price is moving inside. When price is consolidating or trading between a high and a low, the indicator draws a transparent box around that range. The top of the box marks the range high, and the bottom marks the range low.
Inside the range box, the indicator draws a dotted 50% median line. This helps you see whether price is trading in the upper half or lower half of the range. The median can help with bias, entries, and understanding whether price is closer to premium or discount.
The indicator updates as the market moves. When a new range forms, the old range can disappear or stay depending on the settings. You can customize the colors, transparency, labels, timeframe options, and how sensitive the range detection is.
In simple words: this indicator tells you the trend on the higher and lower timeframes, gives you the daily bias, and visually marks the current price range with a 50% line so you can make cleaner trading decisions. Indicator

HMM Regime Filter | Market State
The HMM Regime Filter is a genuine Hidden Markov Model running live in Pine. Instead of trying to predict the next candle, it answers a more useful question: what state is the market in right now? It treats the market as always occupying one of three hidden regimes, Trend Up, Range, or Trend Down, and every bar it updates the probability of each one using Bayesian forward filtering. The result is a flowing probability ribbon that shows you, at a glance, not just which regime is most likely but how confident the model is about it.
This is built to be a context layer, not a trigger. Most tools tell you to buy or sell. This one tells you which kind of market you are in, so you know which of your other tools to trust. Trend-following logic tends to work when the model reads Trend Up or Trend Down. Mean-reversion and fade logic tend to work when it reads Range. Knowing the regime first is often the difference between a setup that works and the same setup in the wrong environment.
How it works under the hood. Each bar the filter combines two things: the probability of staying in or moving between regimes (the transition model), and how well current price behavior matches each regime (the evidence, modeled with Gaussian emissions that scale to the instrument automatically). The transition model is deliberately structured so that trends decay through Range rather than flipping directly from up to down, which matches how real markets usually turn.
Built for stability, not flicker. A raw regime model on a fast chart will strobe between states on every noisy bar. This one handles that three ways. Stickiness sets how strongly the model prefers to stay in its current regime, so it demands consistent evidence before switching. A confirmation rule means a new regime has to lead for several consecutive bars before it becomes official. And a dominance threshold means that when no regime is clearly ahead, the indicator reports uncertain rather than forcing a coin-flip winner. The dashboard shows how long the current regime has held, so the stability is visible at a glance.
What you see on the chart:
A glowing probability ribbon where the three regime streams flow and trade dominance. Each stream brightens as its probability rises and dims when it falls, so a decisive trend floods the pane with one color while an uncertain market sits muted and even.
Price bars colored by the confirmed regime, so the state carries onto your main chart.
A state chip at the right edge showing the current regime, its probability, and how many bars it has held.
A dashboard with live probabilities for all three states, the held-for count, and the stickiness setting.
Settings worth knowing:
Stickiness is the main stability dial. Higher values produce calmer, more persistent regimes.
Confirmation bars sets how many bars a new regime must lead before it counts.
Dominance threshold sets how confident the model must be before it commits, versus showing uncertain.
Observation smoothing calms the input on noisy timeframes.
A note on timeframes. Regimes are a higher-timeframe idea. The filter is usable anywhere, but it often reads best when computed on or tuned for 15 minute or hourly structure and then used as background context while you execute on a faster chart.
Honest disclaimer. Regimes are descriptive, not predictive. This tells you the state you are most likely in, not what price will do next, and it is not a guarantee of any outcome. Calmer settings look more trustworthy but report changes a little later. That lag is the honest cost of stability, not a flaw to be tuned away. The model updates on confirmed bar closes and does not repaint. Use it as one input in your own process, alongside your own risk management.
User Guide
Getting started
Add the indicator to any chart and it opens in its own pane below price. Give it a moment, since the model uses a scaling window to calibrate to the instrument, so the first stretch of bars is warm-up and the regime reads uncertain until it has enough history. The tallest, brightest stream in the ribbon is the most likely regime, and the chip at the right edge names the confirmed regime, its probability, and how long it has held. Your price bars are colored by the confirmed regime by default, so the state shows on your main chart. Treat it as context: before taking a setup, glance at the regime to know what kind of market you are in.
What the pane shows
The probability ribbon is three stacked streams that always sum to the full height of the pane, teal for Trend Up at the bottom, the Range color in the middle, pink for Trend Down at the top, with each stream's thickness being that regime's probability. Brightness equals confidence: each stream lights up as its probability rises and fades as it falls, so a one-sided market produces one bright flooded color while a genuinely undecided market shows three muted, roughly equal streams. The seams between streams are lit, the dark background and faint 25/50/75 grid lines make the streams pop, and the floating state chip shows the current regime, its probability, and the number of bars it has held.
Reading the dashboard (top right of the pane)
Regime is the current confirmed state. Held for is how many bars it has been official, where a large number means a stable regime and a number that keeps resetting means choppy or transitional conditions. P(up), P(range), and P(down) are the live probabilities, and these are the true model numbers rather than the visually smoothed ribbon, so they are the ones to trust. Stickiness shows your main stability setting for reference.
Every setting explained
Model group. Observation smoothing is the smoothing applied to the normalized return before it reaches the model; higher calms noisy fast timeframes, lower feeds it faster information. Scaling window is the lookback that calibrates the model to the instrument, which is what makes the same settings behave consistently across symbols; longer is steadier and slower to adapt. Regime separation is how far apart the up and down state means sit, in standard deviations; larger makes it more demanding about what counts as a trend so it sits in Range more, smaller makes it call trends more readily.
Stability group. Stickiness is the probability of staying in the current regime each bar and the single most important dial; higher needs more consistent evidence to switch, which kills flicker. Confirmation bars is how many consecutive bars a new regime must lead before it becomes official; the ribbon probabilities still update live, this only governs when the official state, bar coloring, and chip change. Dominance threshold is how far ahead the leader must be before the model commits; if nothing clears it the state reads uncertain. Raise to be more conservative, lower to commit sooner.
Display group. Toggles for the ribbon, the dark background, the regime pane tint, price bar coloring, and the dashboard, plus the three regime colors. Ribbon smoothing is purely visual so the streams flow like liquid, and it does not change the regime logic or the dashboard numbers.
Tuning recipes
Calm context layer (recommended): stickiness 0.97 to 0.985, confirmation bars 3 to 5, dominance around 0.50. Stable regimes that change only when the market genuinely shifts. More responsive read: stickiness 0.92 to 0.95, confirmation bars 2 to 3, lower observation smoothing, which catches turns earlier at the cost of more false flips. If it still flickers, raise stickiness first, then confirmation bars, then observation smoothing, and consider that the timeframe itself may be too fast. If it spends too much time in Range or uncertain, lower regime separation and lower the dominance threshold.
Using it with other tools
The highest-value use is as a gate on your other signals. In Trend Up or Trend Down, favor trend-following logic like pullbacks, breakouts, and momentum continuation. In Range, favor mean-reversion logic like fading the edges, and be skeptical of breakouts. In uncertain, consider standing aside or sizing down, since the model is telling you it cannot read the market cleanly. If you run other engines, only trust a trend tool when the regime agrees, and lean on mean-reversion tools when it reads Range.
Alerts
Three alerts fire on confirmed regime changes (Trend Up, Trend Down, Range). Because they key off the confirmed regime rather than raw probabilities, they are far less noisy and inherit your stickiness and confirmation settings, so calmer settings produce fewer, more meaningful alerts.
How to evaluate it
Scroll back and check whether the colored regimes line up with what you would call trends and ranges by eye. Watch the Held for counter, since healthy regimes persist for a meaningful number of bars and constant resets mean your settings are too reactive for the timeframe. Best test: apply it as a filter to a strategy you already use. The question is not whether the regime predicts price, it is whether your existing setups perform better when you only take them in the matching regime.
Troubleshooting
Stuck on uncertain usually means warm-up or too high a dominance threshold. Flicker is fixed by raising stickiness, then confirmation bars, then observation smoothing, or moving up a timeframe. Feeling slow to call a turn is the stability tradeoff, and there is no setting that is both instant and stable. If the ribbon and dashboard differ slightly, the ribbon is visually smoothed and the dashboard shows the true probabilities, so trust the dashboard.
Honest notes
Regimes are descriptive, not predictive. The model updates on confirmed bar closes and does not repaint, which also means the live forming bar does not move the probabilities until it closes. It uses sensibly scaled fixed emission parameters rather than fully learning its transition matrix online, a deliberate choice for stability. No indicator guarantees an outcome; use it as one input alongside your own analysis and risk management. Indicator

Indicator

SeasonalTrader Pro - Seasonality CompanionSeasonality Companion is a separate panel-based script for analyzing seasonal market structure. It shows whether a market has historically tended to behave positively, negatively, neutrally, or inconsistently around the current calendar date.
The script does not generate entries, exits, price targets, stops, alerts, or strategy orders. Its role is to provide seasonal context and make recurring historical behavior easier to evaluate.
It is intended to complement a separate seasonal zone and quality indicator. Final zone validation, tradeability, and risk assessment remain outside the scope of this companion script.
Core idea
Seasonality is often misread because a rising average curve alone does not tell much about how stable or useful that effect actually is. This script separates several questions:
- What does the average seasonal path of the year look like?
- How far does the current year deviate from that path?
- What happened historically from the current seasonal date over the next 5 to 60 Daily bars?
- Is a long-term seasonal effect also confirmed by recent years?
- Is the seasonal structure robust, or is it strongly influenced by outlier years?
- Is there local seasonal pressure around the current date?
The calculation is Daily-based. On supported intraday charts, the seasonal analysis remains anchored to the last confirmed Daily bar. Intraday bars do not change the seasonal statistics.
Classic Annual Curve
The Classic Annual Curve builds a synthetic seasonal path from January to December.
For each calendar day, the script calculates the historical average Daily return for that month/day slot. These average Daily returns are then accumulated or compounded from the beginning of the year.
The curve does not show where price has to move. It shows how the market has behaved on average throughout the calendar year over the selected lookback.
The additional Current Year path shows whether the current year is trading above, below, or close to this average seasonal structure.
Robust Seasonal Curve
The Robust mode does not use the average of individual Daily returns. Instead, it works with normalized historical yearly paths.
From these paths, the script calculates a median path and percentile bands. The bands show how much the historical years differ from each other. A narrow band suggests a more consistent seasonal structure. A wide band shows that historical paths varied significantly.
The percentile bands are historical dispersion areas. They are not future price ranges.
Tactical Profile
The Tactical Profile shows a local window around the current seasonal date. It checks whether the corresponding windows in prior years showed more positive, negative, or mixed Daily pressure.
The classification Long, Short, Range, or None describes local seasonal pressure only:
- Long means positive seasonal pressure
- Short means negative seasonal pressure
- Range means weak or neutral directional structure
- None means insufficient clarity or insufficient data
These states are not trading instructions. They only help describe the local seasonal environment.
Forward statistics
The Forward Stats table measures what historically happened from the current seasonal date over fixed future horizons.
Example:
30D does not mean the past 30 days.
30D means the historical return from the current seasonal date to +30 Daily bars in prior years.
For each horizon, the table shows the average, median, positive sample share, and available sample count. The median is especially useful because it is less sensitive to individual outlier years than the average.
Stability and Reliability
The script distinguishes between the requested lookback and the number of actually available samples. Especially with CFD symbols or shorter broker histories, a 25-year lookback may result in far fewer valid samples.
Reliability classifies this sample coverage as Good, Limited, or Weak.
The Stability row compares the full-lookback 30D forward effect with the recent 30D forward effect:
30D Δ: Full / Recent
Full uses the complete lookback.
Recent uses only the more recent years.
If both values differ significantly, the seasonal effect is less stable. This may indicate that an older seasonal structure is no longer clearly confirmed by more recent market behavior.
Turning points
Seasonal Peaks and Troughs mark filtered local highs and lows of the active seasonal curve. They show where the historical seasonal path structurally turned.
These markers are not reversal signals. They only help identify whether a seasonal phase has historically been near its beginning, middle, or a potential turning area.
Interpretation
The script is intended to make seasonal structure visible and comparable. It does not replace market analysis, risk management, or an assessment of the current market regime.
Seasonal patterns can be distorted by macro events, structural market changes, liquidity conditions, data source differences, symbol history, or different Daily close definitions.
For robust seasonal analysis, instruments with long and consistent historical data are generally preferable to symbols with short or reconstructed data histories. Indicator

EMA Distance Zone Move MatrixThis indicator answers one of the most practical questions in trading: "When price is X% away from the EMA, how likely is it to move at least Y% from that point?"
It builds a live probability matrix from historical data — no repainting, no predictions — just raw statistics from how price has actually behaved.
How It Works
The indicator measures the percentage distance between price and a selected EMA at every bar. It then groups historical bars into user-defined zones (e.g. "price is 3–5% above EMA") and tracks how often price made a significant move after entering each zone.
Example read:
If the 3 to 5% zone shows ▲≥5%: 62.3% — that means 62.3% of the time, after price entered that zone, it subsequently rallied at least 5% from the entry price within the tracking window.
Settings
EMA
EMA Length — period of the EMA (default: 20)
EMA Timeframe — use the chart timeframe or any higher timeframe
Lookback Bars — how many historical bars to analyse (default: 1000)
Bars to Track — how many bars after zone entry to watch for the move (default: 50)
From Zones (Rows) — 8 zones, each with:
Enable/disable toggle
Lo% and Hi% — the EMA distance band (supports negative values for below-EMA zones)
Label — custom name shown in the table row
Move Thresholds (Columns) — 10 thresholds, each with:
Enable/disable toggle
Direction — ▲ Up (price rises), ▼ Down (price falls), ↕ Either (either direction)
≥ % — minimum move size to count as a hit
Display
Show % or raw count
Heatmap color mode
Table position and text size
The Matrix Table
Rows = FROM zones (where price was when it entered)
Columns = move thresholds (how far it moved after)
Last column = total number of visits to that zone
Each cell shows the probability (%) or count of times price achieved that move after entering that zone.
Color coding (heatmap mode):
Red — highest probability (≥75% of max)
Orange — high (50–75%)
Yellow — moderate (25–50%)
Teal — low (below 25%)
Gray — zero / no data
Column headers are color-coded by direction:
Teal = Up move ▲
Red = Down move ▼
Purple = Either direction ↕
The footer row shows the currently active zone and the indicator settings summary.
Chart Background
The chart background is lightly shaded to show which zone price is currently in — making it easy to spot your current EMA distance zone at a glance without looking at the table.
Use Cases
Find which EMA distance zones historically lead to strong reversals or continuations
Identify asymmetric zones where up-move probability is much higher than down
Compare behavior at oversold vs overbought EMA distances
Build mean-reversion or momentum setups backed by historical statistics
Use with any EMA (20, 50, 100, 200) on any timeframe
Notes
overlay=true — draws directly on the main chart, no separate pane needed
A move is counted once per zone visit per threshold (first time it's hit within the tracking window)
Works on any instrument: stocks, crypto, forex, futures, indices
The matrix updates live on every bar — no need to refresh
Use a lookback of at least 500 bars for statistically meaningful results
Ensure the chart timeframe has enough history to cover the lookback window
Settings Quick Start (recommended defaults):
Zones: -10 to -5 · -5 to -3 · -3 to 0 · 0 to 3 · 3 to 5 · 5 to 10
Moves: ▲≥1% · ▲≥2% · ▲≥5% · ▲≥10% · ▼≥1% · ▼≥2% · ▼≥5% · ▼≥10%
Lookback: 1000 · Track window: 50 bars Indicator

Regression Trend Reversal Signals & Forecasts [AlgoAlpha]🟠 OVERVIEW
Regression Trend Reversal Signals & Forecasts combines multiple regression methods into a single trend and reversal framework. It allows traders to choose between Linear Regression, Theil-Sen Regression, LOESS smoothing, Nadaraya-Watson smoothing, Polynomial Regression, and a Kalman Filter to estimate the underlying price path.
The selected regression line acts as the center of a dynamic channel. The channel width is based on the standard deviation of the distance between price and the regression line, allowing it to adapt to changing market conditions.
The script also identifies potential reversal conditions when price extends beyond the channel and then shows signs of rejection. In addition, it can project the current regression slope forward to provide a simple forecast of the current trend path.
🟠 CONCEPTS
Regression Line — A statistical estimate of the underlying price trend. Different methods can be selected, ranging from straight-line regressions to adaptive smoothing techniques.
Theil-Sen Regression — A robust regression method that uses median slopes from all point pairs, reducing the influence of outlier price spikes.
LOESS Regression — A locally weighted regression that fits nearby observations more heavily than distant observations to create a smooth trend curve.
Nadaraya-Watson Smoothing — A kernel-weighted averaging method that estimates trend by assigning larger weights to recent observations.
Kalman Filter — A recursive estimation method that continuously updates the trend estimate as new prices arrive.
Polynomial Regression — A curved regression model that can capture non-linear trend structures using higher-order polynomial functions.
Regression Deviation Bands — Channel boundaries calculated from the standard deviation of price relative to the regression line.
Regression Slope — The rate of change of the regression estimate used to determine trend direction and forecast projections.
🟠 FEATURES
Regression Channel — Dynamic bands expand and contract based on how far price deviates from the regression line.
Trend Flip Signals — Generates directional markers when the regression trend changes from rising to falling or from falling to rising.
Reversal Signals — Marks potential bullish and bearish reversals when price extends beyond the channel and begins rejecting those extremes.
Forecast Projection — Extends the current regression slope into future bars and optionally displays projected channel boundaries.
🟠 HOW TO USE
Select a regression method that matches the market behavior you want to analyze. Linear and Theil-Sen are suited to directional trends, while LOESS, Nadaraya-Watson, and Kalman provide smoother adaptive estimates.
Use the regression line as the primary trend reference. Rising regression values indicate strengthening conditions, while falling values indicate weakening conditions.
Monitor the channel boundaries for extended price movement away from the regression estimate.
Watch for bullish reversal markers below the lower band after downside extensions and bearish reversal markers above the upper band after upside extensions.
Use trend flip signals as confirmation that the regression slope has changed direction.
Compare price location within the channel to gauge whether price is trading near trend equilibrium or at an extreme deviation.
Use the forecast projection as a continuation estimate of the current regression slope rather than a prediction of future market behavior.
🟠 CONCLUSION
Regression Reversal Signals combines multiple regression techniques, adaptive deviation channels, reversal detection, and forward projections into a single framework. By allowing traders to switch between several trend estimation methods, it provides different perspectives on trend structure and price deviation. The indicator helps identify trend direction, potential reversals, and areas where price has moved unusually far from its estimated path. Indicator

Indicator

RSI Reforged [Probalist Essentials]RSI Reforged
RSI Reforged is the Relative Strength Index done properly for modern trading. It keeps the canonical Wilder formula intact and adds three things that actually change how you use it: adaptive OB/OS bands that move with market volatility instead of sitting at fixed 70/30, auto-labelled regular and hidden divergence on confirmed price pivots, and a forward-return distribution that shows what has historically followed each signal on your specific chart.
It is for momentum traders who want a clean, honest RSI — one that flags the readings that matter without clutter, fires alerts you can act on without worrying about repaint, and shows you the empirical track record of its own signals right on the chart.
🟡 WHY THIS VERSION
The fixed 70/30 bands lie. In a trending market RSI rarely touches 70 before the next leg; in a tight range it hits it constantly. The adaptive bands — mean ± stdev of RSI itself over a rolling window — sit where the actual extremes are for the current regime, so you get fewer false signals in trends and more useful ones in ranges. On top of that, every regular and hidden divergence is labelled automatically on confirmed pivots, no manual squinting. And the probability panel shows you, from this chart's own history, what the closing price looked like 10 bars after a band exit — the win rate, the median move, the spread. It is a description, not a promise, but it is honest in a way most RSI tools are not.
🟡 HOW IT WORKS
The RSI is canonical Wilder (RMA smoothing), optionally EMA-smoothed. The bands are the rolling mean of RSI plus/minus a stdev multiple over a configurable lookback, so overbought and oversold adapt to the regime instead of sitting at 70/30 forever. Divergence pairs confirmed price and RSI pivots within a lookback window. The probability read records, for every confirmed band exit, the percent move N bars later (sign-flipped for bearish signals so positive always means "in the signal's direction"), keeps the most recent outcomes per signal direction in separate rolling buffers (pooling both sides would dilute a one-sided edge toward 50/50), and reports the win rate, median and 16th–84th percentile range per side. The bell curve panel runs a Gaussian kernel over those same outcomes (Silverman bandwidth) and draws the smoothed density right of the last bar, with a normal distribution fitted to the sample mean and stdev overlaid in white — where the fill and the white line disagree, the outcomes are skewed or fat-tailed. All of it is descriptive statistics of this chart's own history, not a forecast.
🟡 KEY FEATURES
• Adaptive OB/OS bands: rolling mean ± stdev of RSI replaces the fixed 70/30 — bands sit where the extremes actually are for the current regime
• Regular + hidden divergence, auto-labelled on confirmed pivots (gold = bullish, blue = bearish, dimmed = hidden)
• Weighted signal dots: band exits render as gold/blue dots — a deeper stretch beyond the band draws a bigger dot, and the fill shows the evidence at fire time (● history backed it, ◐ mixed, ○ no edge measured); hover any dot for its read and outcome
• Probability read: every band exit's forward return (default 10 bars) is recorded separately per direction; the mini-readout shows win rate, median and the 16–84% range with n for bull and bear exits side by side
• The bell curve: a kernel-smoothed distribution of those outcomes for the side of the most recent signal, docked top-right of the last bar, running blue → gold through the Probalist heat ramp, with the fitted Gaussian as a white reference line
• Projection cone from the most recent signal spanning the historical 16–84% band
• Live marker: the still-open signal's running return shown inside the distribution, explicitly labelled live
• Heat gradient wave with a 3-layer glow (one toggle kills all of it for a minimal look)
• Optional display-only higher-timeframe RSI reference line
• Complete alert set, all fired on confirmed bars only — nothing repaints by default
• Read row: one plain-language line applying the stats to the current state — the signal, its age, and whether this chart's history backed it (backed / mixed / no edge)
• Evidence-gated alerts: besides the full alert set, history-backed variants that only fire when the chart's own record supported follow-through at that moment
🟡 HOW TO USE
• Watch the band exits: RSI leaving the oversold band upward (gold dot below) reads as bullish bias; leaving the overbought band downward (blue dot above) as bearish bias
• Bigger dots = deeper excursions before the exit — historically the heavier version of the signal
• Check the readout before acting on a signal: the win rate, median move and 16–84% range tell you what this signal actually did on THIS chart and timeframe — and n tells you how much that's worth
• The bell curve makes the same point visually: a wide, flat curve means noisy outcomes; a tight curve shifted past zero means the signal has had follow-through here
• Divergence labels are confluence, not standalone entries — strongest when they land at a band extreme
• Treat the whole probability layer as a description of history, not a prediction
• Optional: enable the HTF line for higher-timeframe context (display only — it gates nothing)
🟡 PAIRS WELL WITH
RSI Reforged is a momentum tool — it tells you where the oscillator stands and where divergences are forming, but it does not tell you whether the trend is with you or where support and resistance sit. Pair it with a trend-following tool (a moving average or Supertrend) to filter band exits in the direction of the dominant trend, since OS readings in a downtrend are often continuation setups, not reversals. A volume indicator helps confirm whether a divergence has conviction behind it — a divergence on light volume is weaker than one where the volume profile is also shifting. For higher-timeframe context the built-in HTF line is a start, but a dedicated HTF bias indicator can help avoid fading a strong higher-timeframe trend. Key price levels (support, resistance, prior highs/lows) are worth having on the chart too — a band exit into a clean level reads differently from one in open space.
RSI Reforged gives you the classic oscillator with the two upgrades that matter most in practice: bands that fit the current regime and divergence that labels itself on confirmed pivots. The probability panel adds a layer of honest self-assessment — you can see exactly how the signal has performed on your chart without relying on backtested promises. It is a momentum read, not a trading system, and it is built to be trusted.
Open source under MPL-2.0. The probability layer describes past signals on your chart — it is a measurement, not a prediction, and nothing here is financial advice.
Indicator

Indicator

Indicator

Fair Value Gap Fill Probability [PickMyTrade]Fair Value Gap Fill Probability applies a Gaussian Naive Bayes classifier — trained entirely within Pine Script® v6 — to every Fair Value Gap it detects, in order to estimate the posterior probability that each gap will be filled before it expires. Instead of treating all FVGs as equal, it asks a different question: given this gap's order-flow signature, geometry, and the time price has already spent nearby, how likely is it to actually fill?
――――――――――――――――――――――――――――――――――――――
🔷 WHAT IT MEASURES
🔸 Fair Value Gaps
A Fair Value Gap is the three-candle imbalance where an impulsive move leaves a price range untraded. A bullish FVG forms when the high of two bars ago sits below the current low; a bearish FVG forms when the low of two bars ago sits above the current high. Each gap is detected only on confirmed bar closes and is filtered by a minimum size relative to ATR, so noise gaps are ignored.
🔸 Three classifier features
When a gap forms, the classifier records three z-score normalised features that describe its context:
F1 — CVD Momentum : the rate of change of Cumulative Volume Delta at the moment the gap is created, normalised by its rolling mean and standard deviation. This encodes whether aggressive order flow was accelerating or fading as the imbalance formed.
F2 — Gap Geometry : the size of the gap expressed as a multiple of ATR. Larger relative gaps behave differently from small ones, and this feature lets the model separate the two.
F3 — Time-at-Price : the fraction of recent bars whose close fell inside the gap's price band. A zone the market has already revisited carries different fill odds than fresh, untested space.
🔸 Fill vs no-fill outcomes
Every gap is followed until one of two things happens: price trades to the gap's midpoint (a fill ), or the gap survives past the expiry window untouched (a no-fill ). Each resolved gap becomes a labelled training example, so the model learns continuously from the chart's own history.
――――――――――――――――――――――――――――――――――――――
🔷 THE CLASSIFIER
🔸 Welford online learning
Rather than storing arrays of past gaps, the classifier keeps running sufficient statistics — count, mean and variance — for each (feature × outcome) pair using Welford's numerically stable online update. Parameters shift gradually as market conditions change, with no fixed lookback buffer.
🔸 Gaussian likelihood + Bayesian posterior
Each feature is modelled as a Gaussian distribution under both the fill and no-fill classes. The three per-feature likelihoods are multiplied under the Naive Bayes independence assumption, combined with an empirically updated class prior, and normalised via Bayes' theorem to produce P(fill | F1, F2, F3) for the live gap. A warmup gate suppresses probabilities until enough fill and no-fill samples have accumulated, at which point the info table switches to LIVE.
――――――――――――――――――――――――――――――――――――――
🔷 SIGNALS AND DISPLAY
🔸 Probability-shaded zones
Each active FVG is drawn as a translucent zone with a crisp coloured border — blue for bullish, orange for bearish. The fill intensity scales with the posterior across three tiers, so a high-conviction gap reads instantly against a faint, low-probability one. Filled gaps turn grey so mitigation is obvious.
🔸 Live probability labels
Every open gap carries a running " X% fill " label that updates each bar as the classifier re-evaluates it. When a gap clears the high-probability threshold, a bold callout (" Bullish FVG · 81% fill prob ") marks it directly on the chart.
🔸 Info table
The corner table reports the live state — fill samples, no-fill samples, active gaps, CVD flow direction, and a LIVE / WARMUP status flag so you always know whether the model has enough data to be trusted.
――――――――――――――――――――――――――――――――――――――
🔷 INPUTS
ATR Period — basis for the minimum gap-size filter.
Min Gap Size (ATR ×) — gaps smaller than this multiple of ATR are ignored.
Max Active FVGs — cap on simultaneously tracked gaps.
Expire after N bars — unfilled gaps retire as no-fill samples after this many bars.
CVD Momentum Period — lookback for feature F1.
Z-Score Window — normalisation window for all three features.
Warmup Samples Per Class — minimum fill and no-fill samples before probabilities display.
High-Prob Threshold — posterior level that marks a gap as high-conviction.
――――――――――――――――――――――――――――――――――――――
🔷 REQUIREMENTS AND LIMITATIONS
The classifier requires a warmup period before probabilities are valid; on instruments with little history the table will read WARMUP until enough gaps have resolved. The CVD estimator is synthetic — derived from intrabar price position, not true bid/ask data — and is noisier on illiquid symbols. Because all three features are CVD- and geometry-derived, the Naive Bayes independence assumption is only approximately satisfied, so the posteriors are best read as relative confidence scores rather than calibrated frequentist probabilities. Fill rates are also regime- and timeframe-dependent and are historically associated with, not predictive of, future behaviour.
――――――――――――――――――――――――――――――――――――――
Built natively in Pine Script® v6. No external libraries, no data feeds, no fixed lookback arrays. The Gaussian Naive Bayes classifier trains continuously from the chart's own gap history using Welford's online algorithm. Open source — Mozilla Public License 2.0. Indicator

Intraday Bias EngineIntraday Bias Engine
OVERVIEW
A probability-based intraday decision dashboard. After the opening auction it
estimates the highest-probability scenario for the session (bullish, bearish or
sideways), the likely day-type, an expected range and a confidence grade - by
combining several classic intraday models into one read. It is a context and
decision-support tool, not a buy/sell signal generator.
WHAT IT COMBINES
- Opening Range: high/low/mid, width vs the day's ATR, classified Narrow / Normal
/ Wide / Extreme.
- Gap: size and direction vs the previous close, with a transparent gap-fill
estimate (smaller gaps tend to fill more often).
- CPR: pivot, TC, BC, width classification and directional bias.
- VWAP: position, distance and who is in control.
- Market structure: higher-high / higher-low vs lower-high / lower-low.
- Smart-money pressure: a 0-100 score from a volume-delta approximation, relative
volume, range expansion, momentum and VWAP distance.
- Directional probability: a weighted blend of the above, normalised so Bull,
Bear and Sideways always total 100%.
- Day-type, expected range, confidence grade and a basic risk read.
DASHBOARD
A movable panel shows session classification, confidence and grade, Bull/Bear/
Sideways probability meters, the individual engine reads, opening-range and gap
context, the expected range, a no-trade (compression) status and a simple
directional hit-rate over the recent sessions.
ON-CHART
Opening Range, CPR (P/TC/BC), VWAP and expected-range bands are drawn for the
current day only. Compression conditions are highlighted as a faint no-trade zone.
HOW TO USE
1. Use an intraday timeframe on a symbol with reliable volume.
2. The read finalises after the opening-range window closes.
3. Favour setups that agree with the dominant probability and a higher confidence
grade; stand aside when the no-trade zone is active.
4. Treat the levels and probabilities as context for your own plan and risk
management.
NOTES
- Daily anchors use confirmed prior sessions; current-day levels draw forward
only and do not repaint historical bars. The live read updates as the day
develops, which is expected for an intraday model.
- The gap-fill figure and the directional hit-rate are simple estimates, not
performance guarantees.
- This script is for research and education only and is not financial advice. Indicator

Unified Session V3.6 - Extended (Gold Edition)Session & Initial Balance Mapping: Visually highlights the Asian (extended to 10:00), London, and New York trading windows with shaded boxes. It also plots the Initial Balance (IB) range for the first 15 minutes of each session.
Anchored VWAPs: Calculates and plots independent Volume Weighted Average Price (VWAP) lines anchored to the start of each major session.
Key Benchmark Levels: Automatically draws critical daily and weekly liquidity levels, including Previous Day High/Low/Close, Daily Open, Daily Equilibrium (midpoint), and Previous Week High/Low.
Intraday Timeline Alerts: Places visual markers on the chart 5 minutes ahead of major Gold-specific market events (e.g., London Breakout, Comex Open, Algo Dominance window) with tooltip reminders of typical market behavior.
Seasonal & Statistical Edge: Automatically prints a daily label at the Asia Open detailing Gold's historical performance bias for the current month (e.g., January's strong bullishness) and the specific day of the week. Indicator

Lucky Risk CalculatorLucky Risk Calculator
Know your risk before you pull the trigger — every single time.
Lucky Risk Calculator is a clean, no-nonsense risk management tool built for futures traders. Whether you're trading MNQ, NQ, MES, ES, or any other futures contract, it automatically detects the point value of your instrument and gives you instant dollar risk and profit targets right on your chart — no spreadsheets, no mental math mid-trade.
---
What It Does
Enter your stop distance and number of contracts, and the table instantly shows you:
- **Dollar risk** per contract and for your full position
- **Profit target distance** based on your R:R ratio
- **Dollar profit** at target per contract and full position
- **Auto point value detection** — works on any futures symbol without manual setup
---
How To Use
1. Set your **Stop Distance** (in points) based on where your stop loss is placed
2. Set your **Contracts** — risk and profit scale automatically
3. Set your **R:R Target** — the calculator shows exactly what hitting that target is worth in dollars
4. Move the table to wherever it fits best on your chart
---
Works With
MNQ · NQ · MES · ES · MYM · YM · M2K · RTY — and any other futures contract on PulseWire. Point values are pulled automatically from the symbol, so you never have to touch a setting when switching instruments.
---
Why I Built This
As a futures scalper, I needed to know my exact dollar risk the moment I defined my stop — not after the trade. This tool keeps risk front and center so you trade with discipline, not guesses.
*Trade smart. Manage risk. Stay lucky.*
— LuckyJo Indicator

AetherEdge - Self-Attention Focus🖊️ Overview
AE-FOCUS uses the Transformer self-attention mechanism to compute "which past moments does NOW most resemble" and forecasts from the outcomes of those analogous states. Each bar is a feature vector; the current query is dotted against past keys, softmax-normalized into attention weights, and the "what happened after" of high-attention past bars is weight-averaged into a forecast. Glowing arcs sweep from NOW back to resonating past bars, brighter where attention is stronger — a visualization unprecedented in Pine.
🔶 Key Features
Self-attention mechanism: genuine query-key-value-softmax structure
4-D feature vector: standardized return, momentum, RSI-deviation, volatility-ratio
Attention-weighted forecast: weight-averages outcomes of analogous past states
Resonance arc rendering: curves from NOW to high-attention bars visualize resonance
Arc brightness/width scales with attention strength
Online forecast hit-rate tracking
Confidence from attention concentration (entropy-based)
Forecast-direction background + BUY/SELL markers
HUD showing resonance target and concentration
Per-event alerts
🧠 Technical Architecture
This implements the self-attention mechanism. Each bar's feature vector is standardized 4-D . With query = current features and key_s = past bar s features, the attention score score(s) = (q · k_s)/√d is computed and normalized α(s) = softmax_s(score/τ) (τ = temperature). value(s) = the realized return in the h bars after bar s (known since s is far enough in the past). forecast = Σ α(s)·value(s) weight-averages the outcomes of analogous states into a predicted return. This is effectively attention-kernel regression over past states similar to the current one. The forecast's hit-rate is tracked online, combined with attention concentration (entropy) and forecast magnitude into confidence. Signals fire when the smoothed forecast crosses threshold.
⚙️ Recommended Settings & Tuning Guide
Attention Lookback (N) 60 is a starting point — the past bars the current query attends over. Outcome Horizon (h) 5 is the value horizon (outcome in the h bars after each past bar) and the forecast horizon. Softmax Temperature (τ) 1.0 is attention sharpness — lower focuses hard on the single closest analog (sharp), higher is more averaged (soft). Feature Normalization Window 100 is the standardization window. Forecast Threshold 0.15 is the firing threshold (normalized return). Arc Threshold 2.5 is how many times the average attention a bar must exceed to get an arc; Arc Height 2.0 is the arc height.
💡 How to Use in Practice
Apply to chart and glowing arcs sweep from NOW to high-attention past bars. The past moments where arcs cluster are those most "resonating" with now. Green arcs mean analogous states rose afterward (bullish forecast); red means they fell (bearish). The HUD's "resonates with" shows how many bars ago resonates most, and "concentration" shows attention concentration (whether a clear analog exists). When concentration is high and forecast hit-rate is high, signal reliability rises. Lowering τ reacts sharply to the single closest analog; raising it gives a smooth forecast averaged over many states.
⚠️ Important Notes
This is single-head attention with fixed (identity/statistical) projections — learned W_Q/W_K/W_V weights and multi-head are outside Pine's limits. It is effectively attention-kernel regression over analogous states, but the query-key-value-softmax structure is the genuine attention mechanism. The forecast is a probabilistic decision based on outcomes of analogous past states, not a certain prediction (past analogies are not guaranteed to repeat). Attention arcs show only the latest bar's resonance and update in real time. All signals are probabilistic decisions based on historical data and do not guarantee future profits.
🚨 Disclaimer
This indicator is provided for educational and informational purposes only and does not constitute financial or investment advice. No signal guarantees future profit, and past performance does not indicate future results. All trading decisions are made at your own risk. Indicator
