Mine Shaft + Drift + Ore Pocket Detector (Gap+Touch)Mine Shaft + Drift + Ore Pocket Detector (Gap+Touch) — Full Description (v1.6.1, Pine v6)
*Experimental - *Test Phase*
1) What this indicator is intended to do
This indicator attempts to algorithmically discover “mine shaft” price structure on a chart by:
Collecting structural anchor points (gaps and optionally pivots),
Generating candidate trend “rails” (centerline + parallel upper/lower borders) from pairs of anchors,
Fitting an optimal channel width around each candidate centerline,
Scoring candidates based on how well price action conforms to the channel (touches + containment),
Selecting and rendering:
the main shaft channel (primary),
additional drifts (secondary shafts per direction),
And then detecting Ore Pockets: time locations where multiple selected lines intersect (time confluence / intersection clustering).
The conceptual model is:
A shaft = a best-fit channel that price respects over time (the “main tunnel”).
Drifts = alternate channels close in quality to the main shaft (secondary tunnels).
Ore pockets = future/past time coordinates where multiple channels’ centerlines intersect densely (confluence in time, not necessarily in price).
2) What it is doing right now (current behavior)
In its current form, the script does a bounded, performance-limited scan:
It stores a limited number of anchor points in arrays.
It only considers a bounded number of recent anchors per direction.
It constructs candidate lines from anchor pairs and evaluates channel fitness using sampled bars.
On the last bar, it selects top candidates per direction and draws:
a “main” channel per mode (single best overall, or separate up/down),
plus optional drift channels,
plus ore pocket markers.
It is producing meaningful channels and drifts, but it is currently more likely to lock onto a strong “local” shaft than the one macro shaft spanning the entire market structure.
3) Core mechanics (how the script finds shafts)
3.1 Anchor generation (what points it uses)
Anchors are the “support points” used to build candidate shaft centerlines.
Two anchor families are supported:
A) Gap anchors (from your selected gap mode)
These attempt to capture “displacement events” and their boundaries/mids.
B) Pivot anchors (optional structural anchors)
These use pivots to inject macro structure points that are not strictly gap-based.
All anchors are stored as:
anchorX: bar_index of anchor
anchorY: price of anchor
anchorD: direction flag (+1 for up, -1 for down)
Anchors are capped by maxAnchors with FIFO trimming.
3.2 Candidate generation (how it produces centerlines)
For each direction (+1 and -1):
Collect “recent” anchors of that direction within lookbackBars (bounded to maxDirAnchors).
For each pair of anchors (x1,y1) and (x2,y2) that satisfy:
spacing within ,
slope sign consistent with direction,
Construct the line equation:
slope m and intercept b
Fit a channel width w around that line (via width mode).
Score it (touches + inside count minus width penalty).
Keep the top K rails (K = driftCount+1 typically).
3.3 Scoring model (what “best” means right now)
For a candidate centerline:
At sampled bars (stride sampling), compute:
channel top = y(x) + w
channel bot = y(x) - w
Evaluate:
Inside: candle range fits within the channel ± tolerance
Touches: high near top border, low near bottom border (within tolerance)
Score formula:
score = insideCount * insideWeight
+ touchCount * touchWeight
- (w / ATR) * widthPenalty
So:
Higher inside and touch counts increase score
Wider channels are penalized (in ATR units) to avoid “cheating” via enormous width
3.4 Width fitting (how the channel thickness is chosen)
Width is either:
Fit (scan widths): scans widths between a min width and a max deviation cap and selects the best scoring width.
Fixed ATR Envelope: uses a fixed width derived from ATR (currently hard-coded to a 2.0 ATR envelope in your present draft).
Fixed Max Deviation: width is max observed deviation from line in sampled window.
This matters because “macro shaft” detection is strongly influenced by whether the width-fitting is allowed to expand enough to contain large historical moves, without being penalized into losing to a smaller local shaft.
3.5 Rendering (what gets drawn)
For any selected rail, it draws:
Upper border line (top rail)
Lower border line (bottom rail)
Optional centerline (main only)
Optional fill between borders (main only)
Label at current bar with touches and inside count
Drifts render similarly but without main-only features (depending on flags).
3.6 Ore Pocket detection (time confluence)
Ore pockets are not “price zones” directly.
They are computed as follows:
Collect selected centerlines (m,b) for:
the main selected shaft(s),
and all drift centerlines (both directions if present)
For each pair of selected lines, compute intersection x-coordinate:
x* = (b2 - b1) / (m1 - m2)
Only keep intersections within:
Cluster intersections by time proximity (clusterBars)
Mark the strongest clusters (highest counts) as “Ore Pocket” vertical dotted lines with labels.
Interpretation:
A dense cluster indicates many selected rails converge around a similar time coordinate.
It is a “time confluence” hypothesis point.
4) Full settings reference (what each setting is for)
01) Gap Anchors
Gap Mode
FVG (3-candle)
Uses a classic 3-candle fair value gap pattern:
Up gap if low > high
Down gap if high < low
Anchors are derived from the gap boundaries.
Candle Gap (open-close)
Gap based on open vs close of the same bar with a tick threshold.
Candle Gap (open-prev close)
Gap based on open vs close with a tick threshold.
Gap Threshold (ticks)
Only used for the candle gap modes.
Controls the minimum gap size required to register an anchor.
Anchor Price
Boundary: anchors at one gap boundary (more “structural edge”)
Mid: anchors at midpoint of the gap (more “center of displacement”)
Include Pivot Anchors (structure)
When enabled, adds pivots as additional anchors to stabilize macro detection.
Pivot Length
Pivot sensitivity (how many bars left/right define a pivot).
Larger values = fewer, more structural pivots.
02) Channel Fit + Touch Scoring
Lookback Bars
The historical window used to:
filter which anchors are considered “recent enough”
evaluate channel fitness (sampled evaluation)
Larger lookback tends to favor macro shafts, but also increases computational risk (mitigated by evalBars and stride).
ATR Length
ATR period used for tolerance and width penalty scaling.
Tolerance (ATR mult)
Defines how close price must be to a rail to count as “touch” and how strict the “inside channel” containment is.
Higher tolerance = easier to score high on touch/inside.
Min Border Touches (keep rail)
Minimum number of border touches required before a candidate is even eligible.
Score: Inside Weight
Weight of inside count in score.
Score: Border Touch Weight
Weight of border touches in score.
This is a strong driver of “shaft-like” behavior.
Score: Width Penalty (in ATRs)
Penalizes wide channels relative to ATR.
Higher penalty biases toward narrow/local shafts.
03) Performance Controls
Max Stored Anchors (global)
Maximum anchor points kept in memory arrays.
Too low can cause loss of macro structure; too high increases candidate noise.
Max Anchors / Direction (scan)
Hard cap on how many anchors are used in candidate generation per direction.
Critical: this strongly influences whether macro shaft can be found, because if you only keep the most recent anchors, you lose the early-structure anchor points.
Eval Bars (max)
Maximum historical bars actually evaluated for scoring.
Even if lookbackBars is large, evaluation is capped here.
Eval Stride (sample every N bars)
Sampling step for evaluation.
Larger stride = faster but less accurate scoring.
04) Candidate Generation
Min Anchor Spacing (bars)
Minimum distance between the two anchors used to define a candidate line.
Prevents micro-noise lines from being evaluated.
Max Anchor Spacing (bars)
Maximum distance between the two anchors used to define a candidate line.
If this is too low, you cannot generate truly macro candidate lines.
05) Shaft + Drift Display
Main Shaft Mode
Best Overall (Single Shaft): chooses one best rail among Up/Down and draws it as main.
Up Only: show only the best upward rail.
Down Only: show only the best downward rail.
Up + Down: show both main up rail and main down rail simultaneously.
Show Ascending Shaft
Toggles rendering for the “up” main shaft (when mode allows it).
Show Descending Shaft
Toggles rendering for the “down” main shaft (when mode allows it).
Drifts per Direction
Number of additional top-ranked rails to draw per direction (after the best one).
Extend Lines
Right: extend lines to the right only.
Both: extend both left and right.
Fill Main Shaft Channel
Fill between upper and lower borders for main shaft.
Main Shaft Fill Transparency
Transparency level for main fill.
Show Main Shaft Centerline
Draw the dashed centerline for the main shaft.
06) Ore Pocket (Intersection-Time Confluence)
Show Ore Pockets (Time Confluence)
Enables ore pocket discovery and rendering.
Intersection Window Forward (bars)
How far into the future intersections are considered.
Intersection Window Backward (bars)
How far into the past intersections are considered.
Cluster Radius (bars)
How close in time intersections must be to merge into a cluster.
Min Intersections per Cluster
Minimum cluster count required before a pocket is shown.
Max Pocket Markers
Limit how many pocket clusters are drawn.
07) Visual Controls
Show Gap Anchors
Displays the gap anchor dots for debugging.
Show Pivot Anchors
Displays pivot anchor dots for debugging.
5) How to use it (practical workflow)
Step A — Confirm anchor behavior
Turn on Show Gap Anchors.
Choose your Gap Mode.
Verify you are seeing anchors where you expect (displacement boundaries).
If anchors are sparse:
Reduce gap threshold (ticks) for candle-gap modes
Enable pivots to inject structure
Increase lookbackBars and maxAnchors so early anchors are not dropped
Step B — Get stable main shaft candidate discovery
Enable Include Pivot Anchors with a medium pivotLen.
Use Fit (scan widths) initially.
Increase Max Anchors / Direction (scan) so you’re not only using recent anchors.
Increase Max Anchor Spacing so macro pairs are eligible.
If you keep getting only local shafts:
That is usually because the candidate pool does not include enough old anchors, or the maxSpacing prevents long-span lines.
Step C — Tune scoring so the “whole-structure” shaft wins
If the script picks a small local channel instead of the macro channel:
Increase insideWeight relative to touchWeight (macro channels tend to contain longer structure even with fewer perfect “touches”)
Reduce widthPenalty, because macro channels may need to be wider to accommodate historical volatility
Increase lookbackBars and evalBars to make “whole-structure fit” matter
Step D — Drifts as secondary shafts
Once main shaft is good:
Increase Drifts per Direction
Validate that drifts represent meaningful alternate sub-shafts rather than noisy duplicates.
If drifts look too similar:
This is expected if many candidates differ only slightly; future refinements should diversify drift selection (see “what still needs done”).
Step E — Ore pockets interpretation
Ore pockets indicate time confluence of multiple rails.
Use them as:
“Time windows to watch”
Not as deterministic price levels
Tune:
clusterBars (cluster tightness)
minClusterSize (signal strength)
6) What still needs done (explicit backlog)
The macro “main mining shaft channel” spanning the entire market structure, and
Smaller shafts/drifts nested inside the macro structure.
To accomplish that, the current algorithm needs additional architecture. Concretely:
A) True multi-scale / hierarchical discovery (primary missing feature)
Right now: one pass, one lookback, one score objective.
Still Needed:
Macro pass: discover a primary shaft using a very long evaluation window and anchor set.
Micro pass(es): discover drifts/secondary shafts using:
residuals (distance from macro centerline),
or segmented time windows (regime partitions),
or anchor subsets constrained to local regions.
This is the single biggest reason we are not consistently getting the full-structure shaft.
B) Anchor retention strategy for macro detection
Right now:
anchors are FIFO capped and direction scanning uses “recent anchors only.”
To reliably find 10-year shafts we need:
an option to store/retain representative anchors across the entire history, not only the most recent ones.
Examples of necessary improvements:
“Stratified anchor sampling” across time (keep some old anchors even when maxAnchors is hit)
“Macro anchor bank” (separate storage for pivots or major gaps)
C) Candidate generation constraints must support macro lines
If we want a shaft spanning the whole structure:
maxSpacing must allow it
the candidate pool must contain anchors far apart in time
So the algorithm needs:
better selection of anchor pairs for long-span candidates (e.g., include earliest/oldest anchors + newest anchors deliberately, not accidentally)
D) Drift diversification
Right now drifts are “next best by score,” which often yields near-duplicates.
We want:
“diverse” secondary shafts:
enforce minimum angular difference,
enforce minimum offset difference,
or penalize candidates too similar to the already-selected shaft.
E) Width fitting logic for macro channels
Macro channels often require:
either a higher width cap,
or a different penalty profile.
Current width penalty is simple and can bias against macro channels.
Needed:
width penalty that scales by timescale or by total evaluated bars,
or separate macro/micro scoring.
F) Ore pocket semantics enhancement (optional but aligned)
Currently pockets are time intersections only.
If you want “pocket zones,” improvements could include:
projecting intersection price and drawing a zone box,
clustering in (time, price) space instead of only time,
adding “importance” weighting based on which lines intersect (macro line intersections weighted higher).
7) Known limitations (current version)
Heavy compute only runs on last bar (good for performance), but means:
changes in anchors/parameters can reselect rails abruptly
Candidate set is bounded; macro shaft can be missed if not in pool
Drift selection can be redundant
Ore pockets are time clusters, not price clusters
אינדיקטורים ואסטרטגיות
btall//@version=5
strategy("AR | AlphaEdge Pro (No-Repaint) v1.0",
overlay=true,
initial_capital=100000,
commission_type=strategy.commission.percent,
commission_value=0.04,
slippage=1,
pyramiding=0,
calc_on_order_fills=true,
calc_on_every_tick=false,
process_orders_on_close=true)
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// Inputs
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
grp1 = "Trend + Signals"
useHTF = input.bool(true, "Use Higher TF Trend Filter", group=grp1)
htf = input.timeframe("240", "Higher Timeframe", group=grp1)
htfEmaLen = input.int(200, "HTF EMA Length", minval=1, group=grp1)
emaFastLen = input.int(21, "Fast EMA", minval=1, group=grp1)
emaSlowLen = input.int(55, "Slow EMA", minval=1, group=grp1)
stAtrLen = input.int(10, "Supertrend ATR Length", minval=1, group=grp1)
stFactor = input.float(3.0, "Supertrend Factor", minval=0.1, step=0.1, group=grp1)
rsiLen = input.int(14, "RSI Length", minval=1, group=grp1)
rsiBull = input.int(52, "RSI Bull Threshold", minval=1, maxval=99, group=grp1)
rsiBear = input.int(48, "RSI Bear Threshold", minval=1, maxval=99, group=grp1)
useVolFilter = input.bool(true, "Use Volume Filter", group=grp1)
volLen = input.int(20, "Volume SMA Length", minval=1, group=grp1)
volMult = input.float(1.2, "Volume Multiplier", minval=0.1, step=0.1, group=grp1)
grp2 = "Risk Management (ATR)"
atrLen = input.int(14, "ATR Length", minval=1, group=grp2)
slAtrMult = input.float(1.6, "Stop = ATR x", minval=0.1, step=0.1, group=grp2)
rr = input.float(2.0, "Risk:Reward (TP)", minval=0.1, step=0.1, group=grp2)
useRiskPct = input.bool(true, "Dynamic Position Size by Risk %", group=grp2)
riskPct = input.float(1.0, "Risk % of Equity per Trade", minval=0.05, step=0.05, group=grp2)
maxPosPct = input.float(20.0, "Max Position % of Equity Cap", minval=1.0, step=1.0, group=grp2)
grp3 = "Breakeven + Session"
useBE = input.bool(true, "Move Stop to Breakeven", group=grp3)
beTriggerATR = input.float(1.0, "Trigger After +ATR x", minval=0.1, step=0.1, group=grp3)
beOffsetATR = input.float(0.05, "BE Offset (ATR x)", minval=0.0, step=0.01, group=grp3)
useSession = input.bool(false, "Trade Only in Session", group=grp3)
sess = input.session("1000-1500", "Session (exchange time)", group=grp3)
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// Helper / Filters
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
inSession = not useSession or not na(time(timeframe.period, sess))
emaFast = ta.ema(close, emaFastLen)
emaSlow = ta.ema(close, emaSlowLen)
rsi = ta.rsi(close, rsiLen)
atr = ta.atr(atrLen)
volOk = not useVolFilter or (volume > ta.sma(volume, volLen) * volMult)
// Supertrend
= ta.supertrend(stFactor, stAtrLen) // stDir: 1 bullish, -1 bearish (TradingView behavior)
stBull = stDir == 1
stBear = stDir == -1
// HTF trend (lookahead_off to reduce repaint risk on historical vs realtime behavior)
htfEma = request.security(syminfo.tickerid, htf, ta.ema(close, htfEmaLen), barmerge.gaps_off, barmerge.lookahead_off)
htfBull = close >= htfEma
htfBear = close <= htfEma
trendOkLong = not useHTF or htfBull
trendOkShort = not useHTF or htfBear
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// Entry Conditions (confirmed bar to avoid “intrabar” surprises)
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
longSignal = barstate.isconfirmed and inSession and trendOkLong and stBull and close > emaFast and emaFast > emaSlow and rsi >= rsiBull and volOk
shortSignal = barstate.isconfirmed and inSession and trendOkShort and stBear and close < emaFast and emaFast < emaSlow and rsi <= rsiBear and volOk
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// Position sizing by ATR stop distance (approx; works best on stocks/spot)
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
f_posQty(_stopDist) =>
// Risk capital = equity * riskPct%
riskCapital = strategy.equity * (riskPct / 100.0)
// Qty to risk roughly riskCapital if stop hits
rawQty = _stopDist > 0 ? (riskCapital / _stopDist) : 0.0
// Cap position size by maxPosPct% of equity
maxPositionValue = strategy.equity * (maxPosPct / 100.0)
maxQty = close > 0 ? (maxPositionValue / close) : rawQty
qty = math.max(0.0, math.min(rawQty, maxQty))
qty
stopDist = atr * slAtrMult
qty = useRiskPct ? f_posQty(stopDist) : na
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// Entries
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
if (longSignal and strategy.position_size <= 0)
strategy.entry("L", strategy.long, qty=useRiskPct ? qty : na)
if (shortSignal and strategy.position_size >= 0)
strategy.entry("S", strategy.short, qty=useRiskPct ? qty : na)
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// Exits (ATR SL/TP + optional Breakeven)
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
isLong = strategy.position_size > 0
isShort = strategy.position_size < 0
entry = strategy.position_avg_price
longSL = entry - stopDist
longTP = entry + stopDist * rr
shortSL = entry + stopDist
shortTP = entry - stopDist * rr
// Breakeven logic
beTrig = atr * beTriggerATR
beOff = atr * beOffsetATR
if isLong and useBE
// if price moved in our favor enough -> raise stop to entry (+offset)
if (close - entry) >= beTrig
longSL := math.max(longSL, entry + beOff)
if isShort and useBE
if (entry - close) >= beTrig
shortSL := math.min(shortSL, entry - beOff)
// Submit exits every bar so they update dynamically
strategy.exit("XL", from_entry="L", stop=longSL, limit=longTP, when=isLong)
strategy.exit("XS", from_entry="S", stop=shortSL, limit=shortTP, when=isShort)
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// Visuals + Alerts
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
plot(emaFast, "EMA Fast", linewidth=2)
plot(emaSlow, "EMA Slow", linewidth=2)
plot(stLine, "Supertrend", linewidth=2)
plot(useHTF ? htfEma : na, "HTF EMA", linewidth=2)
plotshape(longSignal, title="Long Signal", style=shape.triangleup, location=location.belowbar, size=size.tiny, text="L")
plotshape(shortSignal, title="Short Signal", style=shape.triangledown, location=location.abovebar, size=size.tiny, text="S")
alertcondition(longSignal, title="AlphaEdge Long", message="AlphaEdge LONG on {{ticker}} @ {{close}}")
alertcondition(shortSignal, title="AlphaEdge Short", message="AlphaEdge SHORT on {{ticker}} @ {{close}}")
Bollinger Bands with 3SD Volume SegmentationPurpose
This script provides a structured way to analyze how real traded volume distributes across the different volatility zones defined by Bollinger Bands with three standard deviations, it reveals where activity concentrates, how pressure shifts between buyers and sellers, and how market participation behaves as price moves through expanding or contracting volatility regimes. The tool turns the bands into a mechanical segmentation system that exposes the microstructure hidden inside each volatility layer.
How it works
The script calculates Bollinger Bands at one, two, and three standard deviations, then assigns every bar’s volume to the correct volatility zone based on where price closed, it reconstructs buy and sell volume from candle behavior, computes delta as the difference between them, and aggregates these values over the chosen lookback window. Each zone displays total volume, delta, and a dominance percentage that expresses how strongly buyers or sellers controlled that region, all updated dynamically on the most recent bar. For example, if the Mid–U1 zone shows 28,450 contracts with a –2,728 delta and –9.59% dominance, that indicates mild seller control in a normally balanced rotation area, while the L1–Mid zone showing 10,606 contracts, +1,816 delta, and 17.12% dominance signals buyers absorbing pressure and defending the pullback.
Rationale
Volatility zones behave like natural boundaries where liquidity concentrates, where traders commit, hesitate, or get trapped, and where expansions or reversals often originate, so segmenting volume and delta by these zones provides a clearer picture of intent and pressure than raw volume alone. By quantifying how much buying or selling occurred in each volatility layer, the script helps identify continuation, absorption, exhaustion, and imbalance, giving traders a mechanical, objective map of market behavior rather than relying on subjective interpretation.
BOS, CHoCH and CISD [theEccentricTrader]█ OVERVIEW
This open-source indicator plots Break of Structure (BOS), Change of Character (CHoCH) and Change in State of Delivery (CISD) events directly on the chart and provides optional alerts for each condition.
All conditions are built around my primitive swing logic and are confirmed at candle close to avoid repainting.
The script is designed as a research tool, not a trading strategy. It does not generate entries, exits, targets or risk management rules. Its purpose is to make objectively defined market structure events visible, reproducible and testable across markets and timeframes.
█ CONCEPTS
Green and Red Candles
A green candle is defined as a candle that closes at or above its open.
A red candle is defined as a candle that closes below its open.
Swing Highs and Swing Lows
A swing high is defined as a green candle, or a series of consecutive green candles, followed by a single red candle that completes the swing and forms the peak.
A swing low is defined as a red candle, or a series of consecutive red candles, followed by a single green candle that completes the swing and forms the trough.
Peak and Trough Prices
The peak price of a complete swing high is either the high of the red candle that completes the swing or the high of the preceding green candle, depending on which is higher.
The trough price of a complete swing low is either the low of the green candle that completes the swing or the low of the preceding red candle, depending on which is lower.
Basic Uptrends and Downtrends
Basic uptrends, henceforth referred to as uptrends, are formed when the most recent trough is higher than the preceding trough.
Basic downtrends, henceforth referred to as downtrends, are formed when the most recent peak is lower than the preceding peak.
Break of Structure (BOS)
A BOS occurs when price continues in the direction of the prevailing trend by breaking beyond the most recent peak or trough price. BOS implies trend continuation through structural expansion.
BOS Up occurs during an uptrend when price closes above the most recent peak.
BOS Down occurs during a downtrend when price closes below the most recent trough.
Change of Character (CHoCH)
A CHoCH occurs during an uptrend or downtrend when price breaks the most recent peak or trough price in the opposite direction to the prevailing trend, without fully reversing the higher-level trend structure. CHoCH implies early structural weakness or internal rotation rather than confirmed trend reversal.
CHoCH Up occurs during a downtrend when price closes above the most recent peak but remains below the preceding peak.
CHoCH Down occurs during an uptrend when price closes below the most recent trough but remains above the preceding trough.
Change in State of Delivery (CISD)
A CISD occurs when price breaks the most recent peak or trough price. CISD isolates pure structural displacement, independent of trend classification.
CISD Up occurs when price closes above the most recent peak without regard for trend state.
CISD Down occurs when price closes below the most recent trough without regard for trend state.
█ VISUAL OUTPUTS
Labels
Labels are plotted at the candle where each condition is confirmed.
Users can change the label colours and sizes via indicator Settings/Inputs/LABELS.
Event Lines
Horizontal dashed lines mark the peak or trough that was broken.
Trend Lines
Trend lines are drawn to contextualise trend direction for appropriate structural events.
█ ALERTS
Optional alerts are provided for all conditions. By default, all alerts are set to false.
Users can apply alerts via Indicator Settings/Inputs/ALERTS.
SMC One Candle + AMD Bias (CT Focus)This indicator is a specialized Smart Money Concepts (SMC) tool designed for QQQ on the 5-minute chart. It fuses Tony Trades' "One Candle Rule" execution with the AMD (Accumulation, Manipulation, Distribution) cycle logic found in your previous CRT Pro V2 script.
The primary goal of this indicator is to identify high-probability entries during the Purge Window (9:00 AM – 11:30 AM CT) by detecting when price manipulates morning liquidity before expanding in the direction of the daily bias.
## Core Components
### 1. Master Candle Range (Accumulation)
Timeframe: 05:00 AM – 09:00 AM CT.
Function: It automatically plots the Master High (CRH) and Master Low (CRL). This represents the "Accumulation" phase where orders are built up before the New York open.
### 2. The One Candle Zone (Execution)
Timeframe: 08:35 AM CT (The 5-minute candle immediately following the high-volatility open).
Function: It creates a blue "Value Zone" based on Tony Trades’ logic. This zone acts as the ultimate filter—price must reclaim or break this zone to confirm that the "Manipulation" phase is over and the "Distribution" has begun.
### 3. Multi-Timeframe Daily Bias
Calculation: It tracks the midpoint (Equilibrium) of the previous day's range.
Premium/Discount:
Bullish (Discount): Price is trading above the daily midpoint.
Bearish (Premium): Price is trading below the daily midpoint.
Logic: Signals are filtered by this bias to ensure you are always trading with the higher-timeframe flow.
## Signal Logic Descriptions
### SMC Long (Bullish Distribution)
A Long signal is generated when:
Bias: The Daily Bias is Bullish.
Manipulation: Price has ideally swept the Master Low (CRL) during the open.
The Trigger: A 5-minute candle closes above the 08:35 AM "One Candle" High.
Confirmation: This suggests shorts are trapped and Smart Money is distributing price toward the Previous Day High (PDH).
### SMC Short (Bearish Distribution)
A Short signal is generated when:
Bias: The Daily Bias is Bearish.
Manipulation: Price has ideally swept the Master High (CRH).
The Trigger: A 5-minute candle closes below the 08:35 AM "One Candle" Low.
Confirmation: This confirms a rejection of the opening range, signaling a move toward the Previous Day Low (PDL) or the current Low of Day.
## Visual Guide
Blue Box: The One Candle Zone (Tony Trades' "Line in the Sand").
Gray Stepline: The Master Candle Range (0500–0900 CT).
Yellow Background: The Purge Window (0900–1130 CT), where your logic dictates the highest probability of a successful trade.
Labels: Real-time Daily Bias updates in the top right corner.
FVG w/ Correlated ConfirmationThis Pine Script indicator detects Fair Value Gaps (FVGs) on your chart—price gaps between candles where no trading occurred, often signaling potential support or resistance zones. It highlights bullish FVGs (gap ups) and bearish FVGs (gap downs) as colored boxes directly on the chart. The indicator also optionally confirms these FVGs by checking if a correlated asset (e.g., NASDAQ:NDX) shows a similar FVG, increasing confidence. Midpoint lines inside the boxes can be displayed to mark the center of the gap.
Boxes are anchored to the exact candles where the FVG forms and extend rightwards by a user-defined number of bars, remaining fixed and not sliding as new bars form. Correlated FVGs add an extra layer of confirmation from related markets, improving reliability and reducing false signals.
MA Labels (Fully Custom, Padded)On screen reminder of whatever you want. I use it remember what MA line colors are.
HVN Boundary Assist FRVP + ATR Tempo Auto TF Defaults (LOCKED)This indicator is a structure-assist tool, not a signal generator. It is designed to standardize High-Volume Node (HVN) boundary placement and evaluation when using TradingView’s Fixed Range Volume Profile (FRVP) on weekly and monthly timeframes.
The script does not attempt to discover HVNs automatically. The trader selects the HVN visually using FRVP and inputs the HVN center (effective VPOC). From there, the script applies consistent, rules-based logic to define boundaries, track interaction, and prevent lower-timeframe levels from conflicting with higher-timeframe structure.
What the indicator does
1. Standardizes HVN boundary placement
Using the active timeframe’s ATR, the indicator identifies the first candle that regains tempo on each side of the HVN center.
A valid boundary requires:
A bar range ≥ a fixed fraction of ATR
A close that breaks prior rotational overlap
The close of that candle becomes the candidate HVN high or low. Wicks are ignored for structure.
2. Automatically adapts to timeframe
The indicator enforces locked system defaults:
Weekly: 0.33 ATR expansion, 10-bar overlap lookback
Monthly: 0.25 ATR expansion, 8-bar overlap lookback
These values adjust automatically based on chart timeframe, eliminating discretionary tuning.
3. Tracks retests without redefining structure
HVN interaction is tracked via wick touches within a tight ATR-based tolerance.
Retests are informational only and never move boundaries. This captures recognition and rejection behavior without violating close-based structure rules.
4. Ranks HVN strength (0–3)
Each HVN is scored using:
Tightness relative to ATR
Relative volume confirmation
Presence of at least one retest
This produces a simple, comparable strength ranking without overfitting.
5. Enforces clean monthly → weekly nesting
An optional monthly gate restricts weekly logic to operate only inside a defined monthly HVN.
If conflicts arise, monthly structure always overrides weekly, preventing level overlap and structural ambiguity.
What the indicator does NOT do
It does not read FRVP data (TradingView limitation)
It does not auto-detect HVNs
It does not generate trade signals
It exists to remove subjectivity and inconsistency from HVN boundary placement and evaluation.
Intended use
Apply FRVP and visually identify the HVN
Enter the HVN center price into the indicator
Let the script define precise boundaries and interaction metrics
Use monthly HVNs as structural rails and weekly HVNs for execution
Design philosophy
Structure is defined by closes and volatility, not wicks
Retests measure recognition, not acceptance
Higher timeframe structure always dominates
This tool enforces those rules mechanically so the trader doesn’t have to.
Group 2: Weekly Regime ClassifierThis indicator classifies the weekly market regime inside monthly value so you know whether to rotate, wait, prepare for expansion, or stand aside before looking for daily trades.
Purpose: Decide whether the market is rotating, compressing, attempting to escape value, or should be avoided entirely.
What this script does
This script analyzes weekly price behavior in the context of your manually defined monthly value area. Its job is to classify the current weekly regime so you know which type of trade logic is even allowed, before you look at daily setups.
It answers one question:
“What kind of environment am I dealing with right now?”
It does not generate trades. It does not choose entries or exits. It tells you whether conditions favor:
value rotation,
expansion attempts,
waiting, or
standing aside due to instability.
How it works (in simple terms)
The script always evaluates weekly candles, even if you apply it to a daily chart.
It uses four ideas:
1. Monthly value containment
All weekly analysis is framed by your monthly VAH and VAL.
If weekly closes are outside monthly value, that matters.
If weekly closes are inside monthly value, that matters differently.
The monthly levels are manual inputs and never auto-calculated.
2. Weekly alternation (instability check)
The script checks the last 6 weekly candles:
If most candles flip direction back and forth, the environment is unstable.
This is labeled “Neutral – heavy alternation”.
In this state, trades should be skipped unless conditions are perfect.
This acts as a sector-level permission filter.
3. Weekly regime classification
Based on quantified rules, the script assigns one regime:
ROTATING (Roadmap A default)
Price is staying inside monthly value and weekly ranges are normal.
This favors mean-reversion and value-to-value trades.
COMPRESSING (Wait)
Weekly ranges and volume are shrinking while price remains inside value.
This signals energy building, but no trade yet.
ESCAPING (Roadmap B on deck)
Weekly closes cluster near one edge of monthly value and show progress toward breaking out.
This sets up possible expansion trades, pending daily confirmation.
WAIT / NEUTRAL
Conditions do not clearly support rotation or expansion.
No bias is assumed.
4. Edge proximity and progress
The script also reports whether price is:
near monthly VAH,
near monthly VAL,
or not near an edge.
For escaping regimes, it checks that price is actually moving closer to the edge, not drifting sideways.
What you see on the chart
Optional background shading by regime (informational only)
Optional monthly and weekly level lines (display only)
A dashboard showing:
current weekly regime,
alternation status,
edge proximity,
weekly RangeRatio,
weekly VolumeRatio,
flip count,
freshness of weekly levels
Nothing on the chart triggers trades or alerts.
How you’re meant to use it
Run this after Group 1
Group 1 answers: Can I trade at all?
Group 2 answers: What type of trading makes sense?
Use the regime to choose a roadmap
ROTATING → value rotation logic (Roadmap A)
ESCAPING → watch for expansion logic (Roadmap B)
COMPRESSING → wait
NEUTRAL → skip unless exceptional
Only then drop to the daily chart
Daily execution rules apply only if the weekly regime allows them.
What this script deliberately does NOT do
No entries
No exits
No targets
No stop logic
No automatic level calculation
No intraday analysis
It does not tell you what to trade.
It tells you what kind of environment you’re in.
Auto-DCF and Margin of Safety SetupDescription
Overview This indicator provides a dual-layered approach to stock valuation by combining a Discounted Cash Flow (DCF) model with Technical Momentum filters. It is designed for investors who seek to align fundamental "Fair Value" with high-probability technical entry points.
How It Works The script automates the valuation process by fetching real-time financial data directly from TradingView’s database.
Fundamental Valuation (DCF):
FCF Projections: It retrieves Free Cash Flow (TTM) and Total Shares Outstanding to calculate FCF per share.
Growth & Discounting: It projects FCF forward for 10 years based on your "Expected Annual Growth Rate" and discounts those values back to the present using the "Discount Rate" (WACC).
Terminal Value: A terminal value is calculated using a exit multiple (P/FCF) at Year 10 to account for the company's value beyond the projection period.
Intrinsic Value: The sum of all discounted cash flows and the terminal value represents the Intrinsic (Fair) Value, plotted as gray circles.
Margin of Safety (MoS):
A "Buy Limit" line (green) is plotted at a user-defined percentage below the Intrinsic Value. This represents the "Margin of Safety" popularized by Benjamin Graham to account for errors in estimation.
Technical Filters (The "Buy Setup"):
A visual Buy Zone appears only when three conditions align:
Value: Price is trading below the Margin of Safety.
Momentum: The RSI is in "Oversold" territory (default < 35).
Price Action: The stock is in a "Deep Pullback" (defined as a 15% drop from its 50-bar high).
How to Use
Settings: You must adjust the Growth Rate and Discount Rate based on the specific company’s historical performance and risk profile.
Visuals: When a setup occurs, the script draws a green box, a technical Stop Loss (based on a buffer below the low), and a Tech Target (a 50% retracement of the recent drop).
Limitations: This script requires request.financial data. It is intended for Stocks only. If no financial data is available for a ticker (e.g., Crypto or Forex), an error label will appear.
Disclaimer This script is for educational purposes only and does not constitute financial advice. DCF models are highly sensitive to input variables; small changes in growth or discount rates can significantly alter the Fair Value.
Moonboys BTC Liquidation Heatmap═════════════════════════════════════════════════════════════
MoonBoys BTC LIQUIDATION HEATMAP
═════════════════════════════════════════════════════════════
Visualize high-probability liquidation zones across Bitcoin futures markets using multi-exchange data and algorithmic pivot detection.
═══ OVERVIEW ═══
This indicator tracks where leveraged positions cluster and highlights areas where cascading liquidations are likely to occur. By combining Open Interest data from major exchanges with volume-weighted pivot analysis, it shows you where the market's leverage is stacked before price gets there.
Perfect for:
• Anticipating volatility zones
• Identifying potential reversal areas
• Avoiding stop-hunt regions
• Confirming breakout/breakdown levels
═══ KEY FEATURES ═══
🎨 HEAT-MAPPED LIQUIDATION ZONES
└─ Green zones = Long liquidations (below price)
└─ Purple zones = Short liquidations (above price)
└─ Color intensity = Volume significance
⚡ SMART SIGNIFICANCE DETECTION
└─ Top 30% of levels automatically highlighted
└─ Lightning bolt icon (⚡) marks critical zones
└─ Enhanced with borders, brighter colors, and bold labels
└─ Weak levels stay subtle to reduce noise
📊 MULTI-EXCHANGE DATA
└─ Binance Futures Open Interest
└─ Bybit Futures Open Interest
└─ Coinbase Spot Volume
└─ Toggle exchanges individually
🕐 MULTI-TIMEFRAME COMPATIBLE
└─ Works on all timeframes: 1m to Monthly
└─ Auto-adjusts filters and aggregation per timeframe
└─ Consistent performance across different chart scales
🎯 CLEAN VISUAL DESIGN
└─ Labels positioned right of chart (off candles)
└─ Connector lines show which label belongs to which zone
└─ Hit levels fade automatically
└─ Only active zones are labeled
═══ HOW TO READ IT ═══
┌─────────────────────────────────────────────────────────┐
│ ZONE TYPE │ MEANING │
├─────────────────────────────────────────────────────────┤
│ 🟢 Green (below) │ Long liquidation cluster │
│ │ → Potential bounce/support zone │
├─────────────────────────────────────────────────────────┤
│ 🟣 Purple (above)│ Short liquidation cluster │
│ │ → Potential rejection/resistance │
├─────────────────────────────────────────────────────────┤
│ ⚡ With icon │ Top 30% most significant levels │
│ │ → Higher probability of reaction │
└─────────────────────────────────────────────────────────┘
═══ TRADING APPLICATIONS ═══
📈 TREND CONTINUATION
→ Price rejects from liquidation zone = trend strength
→ Watch for bounces at green zones in uptrends
→ Watch for rejections at purple zones in downtrends
🔄 REVERSAL SETUPS
→ Price diving into dense liquidation clusters
→ Heavy volume + liquidation zone = potential turning point
→ Combine with momentum divergence for confirmation
⚠️ RISK MANAGEMENT
→ Avoid entries near untouched significant levels
→ High probability of stop hunts and slippage
→ Wait for price to sweep and confirm before entry
🧩 CONFLUENCE TRADING
→ Layer with support/resistance
→ Combine with volume profile nodes
→ Use alongside order flow indicators
→ Validate with moving averages or trend tools
═══ SETTINGS GUIDE ═══
📡 DATA FEEDS
├─ Binance Futures OI: Toggle Binance data
├─ Bybit Futures OI: Toggle Bybit data
└─ Coinbase Spot Vol: Toggle Coinbase data
🔍 LIQUIDATION DETECTION
├─ Lookback Bars (100-2000): Historical scan range
├─ Pivot Width (1-20): Detection sensitivity
│ └─ Higher = fewer, stronger levels
├─ Target Leverage Tier: Distance from pivot
│ ├─ 25x-50x: 2-4% zones
│ ├─ 50x-100x: 0.8-2% zones (default)
│ └─ 100x+: 0.3-0.8% zones
├─ Min Activity Filter: Remove weak signals
└─ Extend Levels (0-200): Project zones forward
🎨 VISUAL OPTIONS
├─ Long/Short Colors: Customize zone colors
├─ Heat Contrast (0.1-3.0): Intensity scaling
├─ Significance Threshold (0.3-0.95): Top % to highlight
├─ Touched Transparency: Fade amount for hit levels
└─ Label Offset: Distance from chart edge
═══ HOW IT WORKS ═══
1. PIVOT IDENTIFICATION
Scans historical data for swing highs/lows using pivot detection
2. VOLUME AGGREGATION
Combines Open Interest + Volume at each pivot point
Creates weighted metric for liquidation probability
3. ZONE PROJECTION
Calculates liquidation bands based on selected leverage tier
Projects zones where stop losses are likely stacked
4. SIGNIFICANCE RANKING
Normalizes all levels against historical range
Top percentile gets enhanced visual treatment
5. REAL-TIME TRACKING
Monitors price interaction with each zone
Active zones extend forward | Hit zones fade and lock
Memory management removes outdated levels
═══ BEST PRACTICES ═══
✅ DO:
• Use on high-liquidity BTC pairs (BTCUSDT, BTCUSD)
• Combine with volume and order flow analysis
• Look for confluences with key technical levels
• Use higher timeframes for more reliable zones
• Adjust leverage tier based on market volatility
❌ DON'T:
• Trade liquidation zones blindly without confirmation
• Ignore broader market context and trend direction
• Overtrade every single level that appears
• Use as sole entry/exit criteria
• Forget proper position sizing and risk management
═══ TECHNICAL NOTES ═══
• Built with Pine Script v6
• Max 500 boxes, 100 labels for optimal performance
• Auto-scales for different timeframe data availability
• Uses request.security() for multi-exchange aggregation
• Dynamic memory management prevents chart lag
═══ DISCLAIMER ═══
This indicator visualizes potential liquidation zones based on historical volume and open interest data. It does NOT:
• Predict future price movements with certainty
• Guarantee reversals or continuations
• Provide buy/sell signals
• Replace proper risk management
Liquidation zones show where leverage is concentrated — not where price will definitely react. Always use this tool as part of a comprehensive trading strategy alongside technical analysis, risk management, and market context.
📚 EDUCATIONAL USE ONLY | NOT FINANCIAL ADVICE
═══ RESOURCES ═══
Pine Script Documentation
→ www.tradingview.com
Understanding Liquidations
→ academy.binance.com
Open Interest Data
→ www.coinglass.com
Leverage Trading Education
→ www.investopedia.com
═══════════════════════════════════════════════════════════
Built for the Bitcoin trading community 🚀
Because knowing where the leverage sits is half the battle 💎
═══════════════════════════════════════════════════════════
Adaptive Elliott Wave: Forecast + Dashboard (V.2)Title: Adaptive Elliott Wave: Forecast + Dashboard
Description:
Overview
The Adaptive Elliott Wave: Forecast + Dashboard is a technical analysis tool designed to visualize potential Elliott Wave structures using a dynamic, multi-factor approach. Unlike static wave scripts, this indicator adapts its projections based on real-time trend context (Weighted Moving Averages) and momentum shifts (RSI). It is built to help traders identify the most likely path—Impulse or Correction—based on current market conditions.
How It Works
The script uses a combination of pivot-point detection and trend filtering to project future wave paths.
Pivot Logic: The indicator identifies significant Highs and Lows using a sensitivity setting. These pivots form the "anchors" for the Elliott Wave count.
Adaptive Engine: The "Auto-Detect" mode analyzes the relationship between the 50/200 WMA (Trend) and RSI (Momentum).
In a Bull Trend: If RSI is oversold, the script anticipates a bullish "Impulse" wave. If RSI is overbought, it prepares for a "Correction."
In a Bear Trend: The logic reverses to project rallies or downward impulses.
Projections: It calculates Fibonacci-based targets for waves 1-5 (Impulse) or A-B-C/W-X-Y (Correction) and renders them as "ghost lines" that move with the price.
Macro Outlook: For long-term context, the script includes a Macro Projection feature that uses higher-period pivots to show the possible 1-year direction.
Key Features
Target Table: A real-time dashboard showing exact Fibonacci target prices and the percentage distance from the current price.
Corrective Channels: Automatically draws channels for wave corrections to help identify potential breakout or breakdown zones.
Bullish/Bearish Extensions: Shows immediate volatility-based extensions beyond the last confirmed pivot.
RSI Signals: Visual markers on the chart indicate overbought/oversold conditions that feed into the adaptive logic.
How to Use
Identify the Phase: Use the "AI STATUS" in the dashboard to see if the script is currently projecting an Impulse (Trend move) or a Correction (Counter-trend).
Confirm with WMA: Use the 50 (Blue) and 200 (Orange) WMAs to confirm the macro trend before following a projection.
Monitor Fib Targets: Watch for price reactions at the projected labels. If price breaks a target significantly, the wave count may need to be re-evaluated (re-pivot).
Customize Sensitivity: For scalping, lower the "Short-Term Sensitivity." For swing trading, increase it.
Disclaimer
This script is for educational purposes only. Elliott Wave Theory is subjective, and projections are mathematical estimates based on historical volatility. Past performance does not guarantee future results. Always use proper risk management.
Settings Guide
Forecast Mode: Choose between "Auto-Detect" (Dynamic) or manually force an Impulse/Correction count.
Macro Sensitivity: Controls how far back the script looks to generate the purple 1-year projection.
Link Correction to Extension: A unique feature that starts the forecast from a potential extension target rather than the current live price.
Elliott Wave: Pro Forecast + Dashboard (with RSI Divergence)Elliott Wave: Pro Forecast + Dashboard (with RSI Divergence)
This indicator provides a dynamic, real-time projection of Elliott Wave structures, helping traders identify potential trend exhaustion and reversal targets. By combining historical pivot analysis with Fibonacci extensions, it forecasts both short-term "extensions" and long-term "macro" moves.
🚀 Key Features
Automated Elliott Wave Projections: Automatically plots potential 5-wave impulse moves (bullish) and 3-wave corrective moves (ABC - bearish) based on current market volatility.
RSI Divergence Integration (⚡): The script scans for discrepancies between price and momentum. If a reversal is projected while a Bullish or Bearish divergence exists, a lightning bolt icon appears, signaling a high-probability setup.
Dual-Horizon Forecasting:
Short-Term Extension: Projects the immediate continuation of the current trend.
1-Year Macro Projection: A "Big Picture" mode that uses high-sensitivity pivots to forecast long-term structural shifts.
Dynamic Data Dashboard: An on-chart table calculates exact Fibonacci price targets and the percentage distance from the current price, allowing for precise risk/reward planning.
Invalidation Logic: Clearly marks the "Invalidation Line." If price breaches this level, the current wave count is considered void.
🛠️ How to Read the Chart
Historical Waves (Green/Teal): Shows the confirmed pivots that the script is using as a baseline.
Extensions (Orange): The immediate predicted path if the current momentum continues.
Reversals (Blue): The projected Elliott Wave path if the current pivot holds.
Look for the ⚡ symbol near the Invalidation line; this indicates RSI Divergence, suggesting the reversal has strong momentum backing it.
Macro Projection (Purple): Designed for swing traders and investors to see where the asset could be in a year based on larger cycle pivots.
⚙️ Settings & Customization
Sensitivity: Adjust the "Short-Term" and "Macro" sensitivity to filter out market noise or capture smaller intraday cycles.
Scenario Linking: You can choose to have the Reversal projection start after the Extension target is hit, or have them run independently.
Visual Toggles: Enable/Disable the target table, Fibonacci grid levels, and chart labels to keep your workspace clean.
Disclaimer: This indicator is a mathematical projection based on historical volatility and Elliott Wave rules. It is a tool for technical analysis and does not guarantee future results. Always use proper stop-loss management.
Trend Pro + No Wick Alert[tommy]no wick ema confirmation for notifications just something simple if you want to trade imbalence
QQQ 5m/15m Options Confluence (4-of-4) - HemanthaBuilt on confluences
it has confluences built on divergence
both bullish and bearish
also takes into account vwap and volume ,5 and 15 minute indicator
Group 0HVN Boundary Assist FRVP + ATR Tempo Auto TF DefaultsThis indicator is a structure-assist tool, not a signal generator. It is designed to standardize High-Volume Node (HVN) boundary placement and evaluation when using TradingView’s Fixed Range Volume Profile (FRVP) on weekly and monthly timeframes.
The script does not attempt to discover HVNs automatically. The trader selects the HVN visually using FRVP and inputs the HVN center (effective VPOC). From there, the script applies consistent, rules-based logic to define boundaries, track interaction, and prevent lower-timeframe levels from conflicting with higher-timeframe structure.
What the indicator does
1. Standardizes HVN boundary placement
Using the active timeframe’s ATR, the indicator identifies the first candle that regains tempo on each side of the HVN center.
A valid boundary requires:
A bar range ≥ a fixed fraction of ATR
A close that breaks prior rotational overlap
The close of that candle becomes the candidate HVN high or low. Wicks are ignored for structure.
2. Automatically adapts to timeframe
The indicator enforces locked system defaults:
Weekly: 0.33 ATR expansion, 10-bar overlap lookback
Monthly: 0.25 ATR expansion, 8-bar overlap lookback
These values adjust automatically based on chart timeframe, eliminating discretionary tuning.
3. Tracks retests without redefining structure
HVN interaction is tracked via wick touches within a tight ATR-based tolerance.
Retests are informational only and never move boundaries. This captures recognition and rejection behavior without violating close-based structure rules.
4. Ranks HVN strength (0–3)
Each HVN is scored using:
Tightness relative to ATR
Relative volume confirmation
Presence of at least one retest
This produces a simple, comparable strength ranking without overfitting.
5. Enforces clean monthly → weekly nesting
An optional monthly gate restricts weekly logic to operate only inside a defined monthly HVN.
If conflicts arise, monthly structure always overrides weekly, preventing level overlap and structural ambiguity.
What the indicator does NOT do
It does not read FRVP data (TradingView limitation)
It does not auto-detect HVNs
It does not generate trade signals
It exists to remove subjectivity and inconsistency from HVN boundary placement and evaluation.
Intended use
Apply FRVP and visually identify the HVN
Enter the HVN center price into the indicator
Let the script define precise boundaries and interaction metrics
Use monthly HVNs as structural rails and weekly HVNs for execution
Design philosophy
Structure is defined by closes and volatility, not wicks
Retests measure recognition, not acceptance
Higher timeframe structure always dominates
This tool enforces those rules mechanically so the trader doesn’t have to.
Global Net Liquidity LaggedShows net liquidity and allows the user to move it forward or backward to visualize its effect on the charted subject
Global Net Liquidity LaggedShows net liquidity and allows the user to move it forward or backward to visualize its effect on the charted subject
Daily Alpha vs XBIDaily alpha of stock versus sector benchmark. In this case we looked at the biotech sector but you can replace it with whatever benchmark that fits the type of stocks that you are analyzing. Simply we take the delta between stock performance in the chosen time frame versus the index. Simple but effective!
Daily Move Percentile + StdDevDaily Move Percentile + Standard Deviation
Quantifies how unusual today's price move is relative to historical norms, combining percentile ranking with standard deviation analysis. Designed for volatile assets like biotech where contextualizing moves against typical volatility is essential.
How it works:
Calculates daily percentage change
Ranks today's move against the historical distribution (percentile)
Measures how many standard deviations from the mean (z-score)
Displays average volatility so you can contextualize whether a move is normal for this specific stock
Color coding:
Teal: 95th+ percentile up move — rare upside
Red: 95th+ percentile down move — rare downside
Lime: 80th-95th percentile up move — notable upside
Orange: 80th-95th percentile down move — notable downside
Gray: Normal volatility — nothing unusual
Information table (top right):
Today's move (%)
Percentile rank (how unusual)
Standard deviations (z-score)
Average volatility (typical daily move for this stock)
1 Std Dev (baseline volatility measure)
Use cases:
Identify statistically significant moves worth investigating
Contextualize moves against stock-specific volatility (a -5% day means different things for different stocks)
Spot potential mean-reversion setups after extreme moves
Monitor portfolio names for unusual activity
Recommended settings:
30-60 day lookback for volatile biotech
252 day lookback for stable, large-cap names
7M Multi-Factor Momentum ScoreboardThe 7M Scoreboard is more than just a collection of indicators; it is a Real-Time Scoring Engine designed for momentum traders and quant-focused analysts. While many scripts simply "mash up" indicators, the 7M Dashboard provides a weighted analytical framework that filters market noise into a single, actionable 7M Score.
It evaluates seven distinct dimensions of market health: Price Action, Relative Volume (Time-specific and Daily), Capital Structure (Float), and Multi-timeframe Trend alignment (VWAP, VWMA, MACD).
Make sure to enable Extended Trading Hours in the TradingView settings.
What makes it original?
The core innovation lies in the 7M Scoring & Alerting logic. Instead of a trader manually checking eight different parameters, the script performs a logical "Pass/Fail" assessment on every bar.
Dynamic Time-Anchored Change: Unlike standard change percentages, this script allows you to anchor the "Starting Price" to the Pre-market (4:00 AM), Regular Open (9:30 AM), or Post-market (4:00 PM).
Relative Volume (RVOL) at Time: It compares the current 5-minute volume not just to recent bars, but to the historical average for that specific time of day, filtering out the standard "lunchtime lull."
Capital Structure Integration: It incorporates a "Float" filter, essential for identifying low-float momentum vs. heavy-cap institutional moves.
How it works
The script calculates a total score out of 9 points based on the following criteria:
Momentum: Is price change > X percent from your chosen time anchor?
Liquidity: Is the 5-minute volume > X million?
Relative Strength: Is Daily RVOL and Time-specific RVOL > X?
Trend Alignment: Is price above VWAP and the 20-period VWMA?
Momentum Convergence: Is the MACD histogram positive?
Volatility Health: Is RSI between 30 and 70 (avoiding extreme over-extension)?
Step-by-Step Guide to Use
Set your Market Type: Open the settings and choose your Price Change Anchor.
Use Pre-Market if you trade the morning "Gap and Go."
Use Regular Open if you are a day-trader focused on the 9:30 AM bell.
Configure Thresholds: Set your Min % Move (e.g., 1.5%) and Min 5m Vol.
Monitor the 7M Score: Look at the bottom row.
Score < 5: High-risk, no clear momentum.
Score 7+: High-probability "7M Pass" setup.
Alerts (Great with TV's Watchlist Alerts)
Right-click the chart and "Add Alert." Select the 7M Dashboard and choose the "🚀 7M PASS" condition to be notified the moment a ticker hits your momentum criteria.
Recommended Settings for Different Assets
Small-Cap Momentum Pre-Market - 4.0% (Change) - 500k (5m Vol) - 50M (Float)
Mega-Cap / Tech Regular - 1.0% (Change) - 1.5M (5m Vol) - 30,000M (Float)
Crypto Intraday Regular - 2.5% (Change) - 1M (5m Vol) - 10,000M (Foat)
Technical Details
Pine Script Version: v6
Visuals: Features a high-contrast UI with adaptive text sizing for the final 7M Score.
Alerting: Includes an optimized alert() function for real-time momentum detection.
Disclaimer
The "7M Multi-Factor Momentum Scoreboard" is a technical analysis tool provided for educational and informational purposes only. Nothing contained in this script, its outputs, or the 7M Score constitutes financial, investment, or trading advice. Trading stocks, futures, and cryptocurrencies involves significant risk of loss and is not suitable for every investor.
No Guarantees: Past performance as displayed by historical indicators is not indicative of future results.
Model Limitations: The 7M Score is based on mathematical calculations of price and volume; it does not account for fundamental news, earnings surprises, or broader macroeconomic shifts.
Personal Responsibility: You are solely responsible for your own trading decisions. Always perform your own due diligence and consult with a licensed financial advisor before putting capital at risk.
INVESTIFY Free Intraday Indicator📌 INVESTIFY Free Intraday Indicator – Description
INVESTIFY Free Intraday Indicator is designed to help traders identify clear market direction and avoid overtrading.
This indicator focuses on trend-based confirmation, not random signals.
It provides limited and high-quality BUY / SELL signals — only when the market shows a clear directional move.
🔍 What this indicator does:
Identifies Bullish & Bearish market bias
Gives only one BUY or SELL per trend
Avoids signal spamming in sideways markets
Helps traders stay disciplined and patient
🎯 Best use case:
Intraday trading
Directional confirmation
Trend-following traders
Beginners who want clean structure
Works on all markets (Forex, Indices, Crypto, Commodities)
⚠️ Important Notes:
This is a FREE version for learning and confirmation
No targets or stop-loss are shown
Best used along with price action & discipline
Avoid overtrading — quality over quantity
Trade the direction, not the noise.
🔐 Want more precision?
The paid INVESTIFY Pro version includes:
Advanced entries
SL & risk structure
Session filtering
Re-entry logic
Smart money confirmations
📩 DM to get access






















