Volume 2.0Volume with standard deviations.
Helps to identify moderately high/low volume and very high/low volume.
Low volume indicates less market participation. High volume indicates higher market participation.
It forecasts potential changes of sentiment.
Volume with standard deviations (n=14).
Helps to identify moderately high/low volume and very high/low volume. Low volume indicates less market participation. High volume indicates higher market participation.
It forecasts potential changes of sentiment. This indicator has to be used with others. It is an adjunct tool, but a powerful one.
NB:
My previous version "Volume" violated the Pine Code house rules, so it got shielded from public view. This is my first experience with writing in Pine Code and publishing. I suspect it was because I didn't publish with a clean chart without other indicators added. My apologies in advance if version 2.0 is again another violation, which will then get shielded again. I am only publishing out of good will to share that's all.
Tìm kiếm tập lệnh với "high low"
Volume Profile + Pivot Levels [ChartPrime]⯁ OVERVIEW
Volume Profile + Pivot Levels combines a rolling volume profile with price pivots to surface the most meaningful levels in your selected lookback window. It builds a left-side profile from traded volume, highlights the session’s Point of Control (PoC) , and then filters pivot highs/lows so only those aligned with significant profile volume are promoted to chart levels. Each promoted level extends forward until price retests it—so your chart stays focused on levels that actually matter.
⯁ KEY FEATURES
Rolling Volume Profile (Period & Resolution)
Calculates a profile over the last Period bars (default 200). The profile is discretized into Volume Profile Resolution bins (default 50) between the highest high and lowest low inside the window. Each bin accumulates traded volume and is drawn as a smooth left-side polyline for compact, lightweight rendering.
HL = array.new()
// collect highs/lows over 'start' bars to define profile range
for i = 0 to start - 1
HL.push(high ), HL.push(low )
H = HL.max(), L = HL.min()
bin_size = (H - L) / bins
// accumulate per-bin volume
for i = 0 to bins - 1
for j = 0 to start - 1
if close >= (L + bin_sizei) - bin_size and close < (L + bin_size*(i+1)) + bin_size
Bins += volume
Delta-Aware Coloring
The script tracks up-minus-down volume across all period to compute a net Delta . The profile, PoC line, and PoC label adopt a teal tone when net positive, and maroon when net negative—an immediate read on buyer/seller dominance inside the window.
Point of Control (PoC) + Volume Label
Automatically marks the highest-volume bin as the PoC . A horizontal PoC line extends to the last bar, and a label shows the absolute volume at the PoC. Toggle visibility via PoC input.
Pivot Detection with Volume Filter
Identifies raw pivots using Length (default 10) on both sides of the bar. Each candidate pivot is then validated against the profile: only pivots that land within their bin and meet or exceed the Filter % threshold (percentage of PoC volume) are promoted to chart levels. This removes weak, low-participation pivots.
// pivot promotion when volume% >= pivotFilter
if abs(mid - p.value) <= bin_size and volPercent >= pivotFilter
// draw labeled pivot level
line.new(p.index - pivotLength, p.value, p.index + pivotLength, p.value, width = 2)
Forward-Extending, Self-Stopping Levels
Promoted pivot levels extend forward as dotted rays. As soon as price intersects a level (high/low straddles it), that level stops extending—so your chart doesn’t clutter with stale zones.
Concise Level Labels (Volume + %)
Each promoted pivot prints a compact label at the pivot bar with its bin’s absolute volume and percentage of PoC volume (ordering flips for highs vs. lows for quick read).
Lightweight Visuals
The volume profile is rendered as a smooth polyline rather than dozens of boxes, keeping charts responsive even at higher resolutions.
⯁ SETTINGS
Volume Profile → Period : Lookback window used to compute the profile (max 500).
Volume Profile → Resolution : Number of bins; higher = finer structure.
Volume Profile → PoC : Toggle PoC line and volume label.
Pivots → Display : Show/hide volume-validated pivot levels.
Pivots → Length : Pivot detection left/right bars.
Pivots → Filter % 0–100 : Minimum bin strength (as % of PoC) required to promote a pivot level.
⯁ USAGE
Read PoC direction/color for a quick net-flow bias within your window.
Prioritize promoted pivot levels —they’re backed by meaningful participation.
Watch for first retests of promoted levels; the line will stop extending once tested.
Adjust Period / Resolution to match your timeframe (scalps → higher resolution, shorter period; swings → lower resolution, longer period).
Tighten or loosen Filter % to control how selective the level promotion is.
⯁ WHY IT’S UNIQUE
Instead of plotting every pivot or every profile bar, this tool cross-checks pivots against the profile’s internal volume weighting . You only see levels where price structure and liquidity overlap—clean, data-driven levels that self-retire after interaction, so you can focus on what the market actually defends.
Algo + Trendlines :: Medium PeriodThis indicator helps me to avoid overlooking Trendlines / Algolines. So far it doesn't search explicitly for Algolines (I don't consider volume at all), but it's definitely now already not horribly bad.
These are meant to be used on logarithmic charts btw! The lines would be displayed wrong on linear charts.
The biggest challenge is that there are some technical restrictions in TradingView, f. e. a script stops executing if a for-loop would take longer than 0.5 sec.
So in order to circumvent this and still be able to consider as many candles from the past as possible, I've created multiple versions for different purposes that I use like this:
Algo + Trendlines :: Medium Period : This script looks for "temporary highs / lows" (meaning the bar before and after has lower highs / lows) on the daily chart, connects them and shows the 5 ones that are the closest to the current price (=most relevant). This one is good to find trendlines more thoroughly, but only up to 4 years ago.
Algo + Trendlines :: Long Period : This version looks instead at the weekly charts for "temporary highs / lows" and finds out which days caused these highs / lows and connects them, Taking data from the weekly chart means fewer data points to check whether a trendline is broken, which allows to detect trendlines from up to 12 years ago! Therefore it misses some trendlines. Personally I prefer this one with "Only Confirmed" set to true to really show only the most relevant lines. This means at least 3 candle highs / lows touched the line. These are more likely stronger resistance / support lines compared to those that have been touched only twice.
Very important: sometimes you might see dotted lines that suddenly stop after a few months (after 100 bars to be precise). This indicates you need to zoom further out for TradingView to be able to load the full line. Unfortunately TradingView doesn't render lines if the starting point was too long ago, so this is my workaround. This is also the script's biggest advantage: showing you lines that you might have missed otherwise since the starting bars were outside of the screen, and required you to scroll f. e back to 2015..
One more thing to know:
Weak colored line = only 2 "collision" points with candle highs/lows (= not confirmed)
Usual colored line = 3+ "collision" points (= confirmed)
Make sure to move this indicator above the ticker in the Object Tree, so that it is drawn on top of the ticker's candles!
More infos: www.reddit.com
Algo + Trendlines :: Long PeriodThis indicator helps me to avoid overlooking Trendlines / Algolines. So far it doesn't search explicitly for Algolines (I don't consider volume at all), but it's definitely now already not horribly bad.
These are meant to be used on logarithmic charts btw! The lines would be displayed wrong on linear charts.
The biggest challenge is that there are some technical restrictions in TradingView, f. e. a script stops executing if a for-loop would take longer than 0.5 sec.
So in order to circumvent this and still be able to consider as many candles from the past as possible, I've created multiple versions for different purposes that I use like this:
Algo + Trendlines :: Medium Period : This script looks for "temporary highs / lows" (meaning the bar before and after has lower highs / lows) on the daily chart, connects them and shows the 5 ones that are the closest to the current price (=most relevant). This one is good to find trendlines more thoroughly, but only up to 4 years ago.
Algo + Trendlines :: Long Period : This version looks instead at the weekly charts for "temporary highs / lows" and finds out which days caused these highs / lows and connects them, Taking data from the weekly chart means fewer data points to check whether a trendline is broken, which allows to detect trendlines from up to 12 years ago! Therefore it misses some trendlines. Personally I prefer this one with "Only Confirmed" set to true to really show only the most relevant lines. This means at least 3 candle highs / lows touched the line. These are more likely stronger resistance / support lines compared to those that have been touched only twice.
Very important: sometimes you might see dotted lines that suddenly stop after a few months (after 100 bars to be precise). This indicates you need to zoom further out for TradingView to be able to load the full line. Unfortunately TradingView doesn't render lines if the starting point was too long ago, so this is my workaround. This is also the script's biggest advantage: showing you lines that you might have missed otherwise since the starting bars were outside of the screen, and required you to scroll f. e back to 2015..
One more thing to know:
Weak colored line = only 2 "collision" points with candle highs/lows (= not confirmed)
Usual colored line = 3+ "collision" points (= confirmed)
Make sure to move this indicator above the ticker in the Object Tree, so that it is drawn on top of the ticker's candles!
More infos: www.reddit.com
Fisher (zero-color + simple OB assist)//@version=5
indicator("Fisher (zero-color + simple OB assist)", overlay=false)
// Inputs
length = input.int(10, "Fisher Period", minval=1)
pivotLen = input.int(3, "Structure pivot length (SMC-lite)", minval=1)
showZero = input.bool(true, "Show Zero Line")
colPos = input.color(color.lime, "Color Above 0 (fallback)")
colNeg = input.color(color.red, "Color Below 0 (fallback)")
useOB = input.bool(true, "Color by OB proximity (Demand below = green, Supply above = red)")
showOBMarks = input.bool(true, "Show OB markers")
// Fisher (MT4-style port)
price = (high + low) / 2.0
hh = ta.highest(high, length)
ll = ta.lowest(low, length)
rng = hh - ll
norm = rng != 0 ? (price - ll) / rng : 0.5
var float v = 0.0
var float fish = 0.0
v := 0.33 * 2.0 * (norm - 0.5) + 0.67 * nz(v , 0)
v := math.min(math.max(v, -0.999), 0.999)
fish := 0.5 * math.log((1 + v) / (1 - v)) + 0.5 * nz(fish , 0)
// SMC-lite OB
ph = ta.pivothigh(high, pivotLen, pivotLen)
pl = ta.pivotlow(low, pivotLen, pivotLen)
var float lastSwingHigh = na
var float lastSwingLow = na
if not na(ph)
lastSwingHigh := ph
if not na(pl)
lastSwingLow := pl
bosUp = not na(lastSwingHigh) and close > lastSwingHigh
bosDn = not na(lastSwingLow) and close < lastSwingLow
bearishBar = close < open
bullishBar = close > open
demHigh_new = ta.valuewhen(bearishBar, high, 0)
demLow_new = ta.valuewhen(bearishBar, low, 0)
supHigh_new = ta.valuewhen(bullishBar, high, 0)
supLow_new = ta.valuewhen(bullishBar, low, 0)
// แยกประกาศตัวแปรทีละตัว และใช้ชนิดให้ชัดเจน
var float demHigh = na
var float demLow = na
var float supHigh = na
var float supLow = na
var bool demActive = false
var bool supActive = false
if bosUp and not na(demHigh_new) and not na(demLow_new)
demHigh := demHigh_new
demLow := demLow_new
demActive := true
if bosDn and not na(supHigh_new) and not na(supLow_new)
supHigh := supHigh_new
supLow := supLow_new
supActive := true
// Mitigation (แตะโซน)
if demActive and not na(demHigh) and not na(demLow)
if low <= demHigh
demActive := false
if supActive and not na(supHigh) and not na(supLow)
if high >= supLow
supActive := false
demandBelow = useOB and demActive and not na(demHigh) and demHigh <= close
supplyAbove = useOB and supActive and not na(supLow) and supLow >= close
colDimUp = color.new(colPos, 40)
colDimDown = color.new(colNeg, 40)
barColor = demandBelow ? colPos : supplyAbove ? colNeg : fish > 0 ? colDimUp : colDimDown
// Plots
plot(0, title="Zero", color=showZero ? color.new(color.gray, 70) : color.new(color.gray, 100))
plot(fish, title="Fisher", style=plot.style_columns, color=barColor, linewidth=2)
plotchar(showOBMarks and demandBelow ? fish : na, title="Demand below", char="D", location=location.absolute, color=color.teal, size=size.tiny)
plotchar(showOBMarks and supplyAbove ? fish : na, title="Supply above", char="S", location=location.absolute, color=color.fuchsia, size=size.tiny)
alertcondition(ta.crossover(fish, 0.0), "Fisher Cross Up", "Fisher crosses above 0")
alertcondition(ta.crossunder(fish, 0.0), "Fisher Cross Down", "Fisher crosses below 0")
Cnagda Liquidit Trading SystemCnagda Liquidit Trading System helps spot where price is likely to trap traders and reverse, then gives simple, actionable Level to entry, place SL, and take profits with confidence. It blends imbalance zones, trend bias, order blocks, liquidity pools, high-probability fake Signal, and context-aware candle patterns into one clean workflow.
🟩🟥 Imbalance boxes: “Crowd rushed, gaps left”
What it is: Green/red boxes mark fast, one-sided moves where price “skipped” orders—think FVG-like zones that often get revisited.
Why it helps: Price frequently pulls back to “fill” these zones, creating clean retest entries with logical stops.
⏩How to use:
Green box = potential demand retest; Red box = potential supply retest. Enter on pullback into box, not on first impulse. Put stop on far side of box and aim first targets at recent swing points.
↕️ Swing bias (HH/HL vs LH/LL): “Which way is the road?”
What it is: Higher-highs/higher-lows = up-bias; Lower-highs/lower-lows = down-bias. system plots Buy/Sell OB levels aligned with that bias.
Why it helps: Trading with the broader flow reduces “hero trades” against institutions. Bias gives clearer entries and cleaner drawdowns.
⏩How to use:
Up-bias: look for long on Buy OB retests. Down-bias: look for short on Sell OB retests. Wait for a small rejection/engulfing to confirm before triggering.
🧱Order blocks: “Where big players remember”
What it is: last opposite-colored candle before an impulsive move—these zones often hold memory and reaction. system plots these as Buy/Sell OB lines.
Why it helps: Many breakouts pull back to the origin. Good entries often happen on retest, not on the breakout chase.
⏩ How to use:
Let price return into the OB, show wick rejection, and decent volume. Enter with stop beyond OB; define risk-reward before entry.
📊Volume coloring: “How Volume is move?”
What it is: Bar color reflects relative volume; inside bars are black. The dashboard also shows Volume and “Volume vs Prev.”
Why it helps: Patterns without volume often fade; volume validates strength and intent of moves.
⏩ How to use:
Favor entries where imbalance/OB/liquidity-grab coincide with higher volume. If volume is weak, reduce size or skip.
🧲 BSL/SSL liquidity pools: “Fishing for stops”
What it is: Equal highs cluster stops above (BSL); equal lows cluster stops below (SSL). system plots these and highlights the nearest one (“magnet”).
Why it helps: Price often sweeps these pools to trigger stops before reversing. This is a prime trap-reversal location.
⏩ How to use:
Watch nearest BSL/SSL. If price wicks through and closes back inside, anticipate a reversal. Trade reaction, not first poke. When price closes beyond, consider that pool mitigated and move on.
🟢🔴 Advanced liquidity grab: “Catch fakeout”
What it is: Bullish grab = makes a new low beyond a prior low but closes back above it, with a long lower wick, small body, and higher volume. Bearish is mirror. Labeled automatically.
Why it helps: It exposes trap moves (stop hunts) and often precedes true direction.
⏩ How to use:
Best when it aligns with a nearby imbalance/OB and supportive volume. Enter on reversal candle break or on retest. Stop goes beyond sweep wick.
🧠 Smart candlestick patterns (only in right place)
What it is: Engulfing, Hammer, Shooting Star, Hanging Man, Doji (with high volume), Morning/Evening Star, Piercing—but marked “effective” only if context (swing/trend/location) agrees.
Why it helps: same pattern in the wrong place is noise; in the right place, it’s signal.
⏩ How to use:
Location first (BSL/SSL/OB/imbalance), then pattern. Treat pattern as trigger/confirmation—one fresh label shows to keep chart clean.
🧭 Dashboard: “Context in a glance”
⏩ Reversal Level: current swing anchor—expect turns or reactions nearby; great for alerts and planning.
⏩ Volume vs Prev + Volume: Strength meter for signal candle—higher adds conviction.
⏩ Nearest Pool: next “magnet” area—look for sweeps/rejections there.
🧩Step-by-step trading flow (with mindset)
⏩ Set bias: HH/HL = long bias, LH/LL = short bias. Counter-trend only on clean sweeps with strong confirmation.
⏩ Find magnet: Check Nearest Pool (BSL/SSL). Focus attention there; it saves screen time.
⏩ Wait for event: Look for a sweep/grab label, or sharp rejection at pool/OB/imbalance. Avoid FOMO.
⏩ Add confluence: Stack 2–3 of these—imbalance box, OB, contextual pattern, supportive volume.
⏩Plan entry: Bullish: trigger above reversal candle high or take retest of FVG/OB. Stop below sweep wick/zone. Target at least 1:1.5–1:2.
Bearish: mirror above.
⏩Manage smartly: Take partials, move to breakeven or trail thoughtfully. Don’t drag stops inside zone out of emotion.
🎛️ Parameter tuning (to reduce human error)
⏩ swingLen: Smaller = faster but noisier; larger = cleaner but slower. Backtest first, then go live.
⏩ Tolerance (ATR or percent): ATR tolerance adapts to volatility (good for fast markets and lower TFs). Start around 0.15–0.30. In calm markets, try percent 0.05–0.15%.
⏩ minBarsGap: Start with 3–5 so equal highs/lows are truly equal—reduces false pools.
❌Common mistakes → ✅ Better habits
⏩Chasing every breakout → Wait for sweep/rejection, then confirm.
⏩Ignoring volume → Validate strength; cut size or skip on weak volume.
⏩Losing history of pools → If reviewing/backtesting, keep mitigated pools visible (dashed/faded).
⏩Over-tight tolerance/too small swingLen → Increases false signals; backtest to find balance.
📝 checklist (before entry)
⏩ Is there a nearby BSL/SSL and did a sweep/grab happen there?
⏩ Is there a close imbalance/OB that price can retest?
⏩ Do we have an effective pattern plus supportive volume?
⏩Is the stop beyond the wick/zone and RR ≥ 1:1.5?
•?((¯°·._.• 🎀 𝐻𝒶𝓅𝓅𝓎 𝒯𝓇𝒶𝒹𝒾𝓃𝑔 🎀 •._.·°¯((?•
Daily HOD / LOD Anchored VWAP (24/7 Markets)mart Daily HOD/LOD Anchored VWAP (Auto Detect + Alerts)
This indicator automatically anchors VWAP at the High of Day (HOD) and Low of Day (LOD) for each session/day.
No more manual anchoring — the script tracks intraday highs and lows in real-time and resets cleanly at the start of each trading day or session.
✨ Features
✅ Auto-anchored AVWAP at daily High and Low
✅ Works for stock markets (with fixed sessions) and crypto markets (24/7)
✅ Clean reset every session/day
✅ Separate AVWAP lines for HOD and LOD
✅ Customizable colors & line widths
✅ Alerts included 🚨 (get notified instantly when a new High/Low AVWAP starts)
📈 Use Cases
Spot true intraday support/resistance levels
Track where institutions may be defending positions
Combine with price action, orderflow, or volume profile strategies
Perfect for intraday trading, scalping, and swing entries
⚡ Alerts
New HOD AVWAP → Fires when price makes a fresh high of day, starting a new anchored VWAP.
New LOD AVWAP → Fires when price makes a fresh low of day, starting a new anchored VWAP.
🛠️ Settings
Show/hide HOD or LOD VWAP
Customize line colors and thickness
Works seamlessly across stocks, futures, forex, and crypto
💡 Pro Tip:
AVWAP from the high and low of the day often acts as a magnet for price. Watch how price reacts when revisiting these levels — confluence with other indicators = high-probability setups.
⚠️ Disclaimer:
This script is for educational purposes only. It is not financial advice. Always manage your own risk.
ZV-Resources by ZuperView.comLibrary "zuperview"
ComputeMAValue(maType, series, period)
ComputeMAValue
@description Computes the moving average (MA) value based on the specified MA type.
Parameters:
maType (string) : (string) The type of moving average: "EMA", "SMA", "RMA", "WMA", "HMA", "VWMA", "LinReg".
series (float) : (float) The input price series (typically close).
period (simple int) : (int) The number of periods used for MA calculation.
Returns: (float) The computed MA value or `na` if maType is invalid.
ComputeATRValue(period)
ComputeATRValue
@description Computes the moving average (ATR) value based on the specified ATR type.
Parameters:
period (int) : (int) The number of periods used for MA calculation.
Returns: (float) The computed ATR value or `na` if maType is invalid.
Max(src, period)
Parameters:
src (float)
period (int)
Min(src, period)
Parameters:
src (float)
period (int)
ComputeRSIValue(src, period, smooth)
ComputeRSIValue
@description Computes the moving average (RSI) value based on the specified RSI type.
Parameters:
src (float) : (series) Input series (series float), which can be close (`close`), open (`open`), high (`high`), low (`low`), or any other price-based series.
period (int) : (int) The number of periods used for MA calculation.
smooth (int)
Returns: (float) The computed RSI value or `na` if maType is invalid.
ComputeSMMAValue(src, period)
ComputeSMMAValue
@description Computes the moving average (SMMA) value based on the specified SMMA type.
Parameters:
src (float) : (series) Input series (series float), which can be close (`close`), open (`open`), high (`high`), low (`low`), or any other price-based series.
period (int) : (int) The number of periods used for MA calculation.
Returns: (float) The computed SMMA value or `na` if maType is invalid.
ComputeStochasticValue(src, periodD, periodK, smoothingMethod, smoothingPeriod)
ComputeStochasticValue
@description Computes the moving average (SMMA) value based on the specified SMMA type.
Parameters:
src (float) : (series) Input series (series float), which can be close (`close`), open (`open`), high (`high`), low (`low`), or any other price-based series.
periodD (simple int) : (int) The number of periods used for MA calculation.
periodK (int) : (int) The number of periods used for MA calculation.
smoothingMethod (string) : (string) The type of moving average: "EMA", "SMA", "RMA", "WMA", "HMA", "VWMA", "LinReg".
smoothingPeriod (simple int) : (int) The number of periods used for MA calculation.
Returns: (float) The computed Stochastic(K, D) value or `na` if maType is invalid.
zuperviewResourcesLibrary "zuperview"
ComputeMAValue(maType, series, period)
ComputeMAValue
@description Computes the moving average (MA) value based on the specified MA type.
Parameters:
maType (string) : (string) The type of moving average: "EMA", "SMA", "RMA", "WMA", "HMA", "VWMA", "LinReg".
series (float) : (float) The input price series (typically close).
period (simple int) : (int) The number of periods used for MA calculation.
Returns: (float) The computed MA value or `na` if maType is invalid.
ComputeATRValue(period)
ComputeATRValue
@description Computes the moving average (ATR) value based on the specified ATR type.
Parameters:
period (int) : (int) The number of periods used for MA calculation.
Returns: (float) The computed ATR value or `na` if maType is invalid.
Max(src, period)
Parameters:
src (float)
period (int)
Min(src, period)
Parameters:
src (float)
period (int)
ComputeRSIValue(src, period, smooth)
ComputeRSIValue
@description Computes the moving average (RSI) value based on the specified RSI type.
Parameters:
src (float) : (series) Input series (series float), which can be close (`close`), open (`open`), high (`high`), low (`low`), or any other price-based series.
period (int) : (int) The number of periods used for MA calculation.
smooth (int)
Returns: (float) The computed RSI value or `na` if maType is invalid.
ComputeSMMAValue(src, period)
ComputeSMMAValue
@description Computes the moving average (SMMA) value based on the specified SMMA type.
Parameters:
src (float) : (series) Input series (series float), which can be close (`close`), open (`open`), high (`high`), low (`low`), or any other price-based series.
period (int) : (int) The number of periods used for MA calculation.
Returns: (float) The computed SMMA value or `na` if maType is invalid.
ComputeStochasticValue(src, periodD, periodK, smoothingMethod, smoothingPeriod)
ComputeStochasticValue
@description Computes the moving average (SMMA) value based on the specified SMMA type.
Parameters:
src (float) : (series) Input series (series float), which can be close (`close`), open (`open`), high (`high`), low (`low`), or any other price-based series.
periodD (simple int) : (int) The number of periods used for MA calculation.
periodK (int) : (int) The number of periods used for MA calculation.
smoothingMethod (string) : (string) The type of moving average: "EMA", "SMA", "RMA", "WMA", "HMA", "VWMA", "LinReg".
smoothingPeriod (simple int) : (int) The number of periods used for MA calculation.
Returns: (float) The computed Stochastic(K, D) value or `na` if maType is invalid.
FindSwingsByNeighborhood(arraySwingTop, arraySwingBottom, neighborhood)
Find Swings By Neighborhood
@description Computes the moving average (SMMA) value based on the specified SMMA type.
Parameters:
arraySwingTop (array) : (array): An array to store detected swing highs.
arraySwingBottom (array) : (array): An array to store detected swing lows.
neighborhood (int) : (int): The number of bars to consider when identifying a swing point.
Returns: none
FindSwingsByOffset(arraySwingTop, arraySwingBottom, minSwingLength)
Find Swings By Offset
@description Identifies swing points based on a minimum swing length criteria.
Parameters:
arraySwingTop (array) : (array): An array to store detected swing highs.
arraySwingBottom (array) : (array): An array to store detected swing lows.
minSwingLength (float) : (float): The minimum price movement required to qualify as a swing point.
Returns: none
SwingPoint
Fields:
Key (series int)
IsTop (series bool)
Price (series float)
BarStart (series int)
BarEnd (series int)
TimeStart (series int)
TimeEnd (series int)
Sign (series int)
Label (series label)
Sweep2Trade Pro [CHE]Sweep2Trade Pro \ — Liquidity Sweep → Trend → Confirmation
Sweep2Trade Pro \ helps you catch high-probability reversals or continuations that start with a liquidity sweep, align with the T3 trend, and finalize with a structure confirmation (BOS). It’s designed to reduce noise, time your entries, and keep you out of weak, chop-driven signals.
What’s a “sweep”?
A liquidity sweep happens when price briefly breaks a prior swing high/low (where many stops sit), triggers those stops, and then snaps back. This “stop-hunt” creates liquidity for bigger players and often precedes a sharp move in the opposite direction if the break fails, or fuels continuation if structure actually shifts.
What’s a BOS (Break of Structure)?
A BOS is a price action event where the market takes out a recent swing level in the trend’s direction, signaling continuation and confirming that structure has shifted (bullish BOS through a recent swing high, bearish BOS through a recent swing low).
How the indicator works (at a glance)
1. Regime Filter (T3 + R²)
T3 Moving Average: A smoother, faster-responding moving average that aims to reduce lag while filtering noise, so trend direction changes are clearer.
R² (Coefficient of Determination): Measures how “linear” the recent price path is (0→1). Higher values = stronger, cleaner trend; lower values = more chop. Used here to allow trades only when trend quality exceeds a user-set threshold.
2. Sweep Detection
Bullish sweep: price pokes below a prior swing low and closes back above it.
Bearish sweep: price pokes above a prior swing high and closes back below it.
Lookback length is configurable.
3. Sequence Lock (built-in FSM)
The script manages state in phases so you don’t jump the gun:
Phase 1: Sweep detected → wait for T3 to turn in the corresponding direction.
Phase 2: T3 direction confirmed → show “SWEEP OK” and wait for final confirmation.
Trade Signal: Only fires if confirmation arrives before a timeout.
4. Confirmation Layer
BOS via wick or close (you choose),
Strong close toward the signal (top/bottom quartile of the candle),
Optional “close above/below T3” condition.
These checks help avoid weak sweeps that immediately fade.
5. Alerts & Visuals
“SWEEP OK” markers show when the sweep + T3 direction align.
Final BUY/SELL arrows appear only when the confirmation layer passes.
Ready-made alert conditions for automation.
What you can do with it
Time reversals after sweeps: Enter when a stop-hunt fades and structure confirms.
Ride continuations: Use BOS with the T3 trend to pyramid or re-enter with structure on your side.
Filter chop: Let R² gate entries to periods with cleaner directional drift.
Automate: Use the included alerts with your platform or webhook setup.
Inputs (key settings)
Regime Filter
T3 Length / Volume Factor: Controls smoothness and responsiveness. Smaller length → faster, more sensitive; higher volume factor → smoother curve.
R² Lookback & Threshold: Length of the linear fit window and the minimum “trend quality” required. Higher thresholds mean fewer, cleaner signals.
Sweep / Sequence
Swing Lookback: How far back to define the “reference” high/low for sweeps.
Timeout: Maximum bars allowed between phases to keep signals fresh.
Restart timeout on Phase 2: Optional safety so entries don’t go stale.
Confirmation
BOS Lookback: Micro-pivot window for structure breaks.
Wick vs Close BOS: Conservative traders may prefer close.
Require close above/below T3: Tightens confirmation with trend alignment.
Practical guide (quick start)
1. Timeframe & markets: Works across majors, indices, and crypto. Start with 5m–1h intraday or 1h–4h swing; adjust R² threshold upward on noisier pairs.
2. Entry recipe (Long):
Bullish sweep of a prior low → T3 turns up → BOS/strong close.
Optional: enable “close above T3” for extra confirmation.
3. Entry recipe (Short): Mirror the above.
4. Stops: Common choices are just beyond the sweep wick (tighter) or past the BOS invalidation (safer).
5. Targets: Previous structural levels, measured move, or a T3 trail (exit when price closes back through T3).
6. Avoid low-quality contexts: If R² is very low, market is likely ranging erratically—skip or widen filters.
Tips & best practices
Context first: The same sweep means different things in a strong trend vs. flat regime; that’s why the T3+R² filter exists.
BOS choice: Wick-based BOS is earlier but noisier; close-based BOS is slower but cleaner. Tune per market.
Backtest -> Forward test: Validate settings per symbol/timeframe; then paper trade before going live.
Risk: Fixed fractional risk with asymmetric R\:R (e.g., 1:1.5–1:3) generally performs better than “all-in” discretionary sizing.
Behind the scenes (for the curious)
T3 is a multi-stage EMA construction that produces a smooth curve with reduced lag versus simple/standard EMAs.
R² is the square of correlation (0–1). Here it’s used as a moving gauge of how well price aligns to a linear path—our “trend quality” dial.
Stop-hunts / sweeps are a recognized microstructure phenomenon where clustered stops provide the liquidity that fuels the next move.
Disclaimer
No indicator guarantees profits. Sweep2Trade Pro \ is a decision aid; always combine with solid risk management and your own judgment. Backtest, forward test, and size responsibly.
The content provided, including all code and materials, is strictly for educational and informational purposes only. It is not intended as, and should not be interpreted as, financial advice, a recommendation to buy or sell any financial instrument, or an offer of any financial product or service. All strategies, tools, and examples discussed are provided for illustrative purposes to demonstrate coding techniques and the functionality of Pine Script within a trading context.
Any results from strategies or tools provided are hypothetical, and past performance is not indicative of future results. Trading and investing involve high risk, including the potential loss of principal, and may not be suitable for all individuals. Before making any trading decisions, please consult with a qualified financial professional to understand the risks involved.
By using this script, you acknowledge and agree that any trading decisions are made solely at your discretion and risk.
Enhance your trading precision and confidence 🚀
Happy trading
Chervolino
Pure Price Zone Flow🔎 What this indicator is
It’s a price-action-based zone indicator. Unlike moving average systems, this one relies only on:
1. Swing Highs & Swing Lows → The highest and lowest points within a recent lookback period (like "mini support & resistance").
2. ATR (Average True Range) → A volatility measure that expands the zone, making it more adaptive to different market conditions.
3. Breakouts & Retests → When price breaks above a swing high (bullish) or below a swing low (bearish), the indicator marks it and highlights the new trend.
👉 The goal is to spot clean structure shifts and define clear trend zones where traders can position themselves.
________________________________________
⚙️ How it is calculated
1. Swing High & Swing Low
o We look back len candles (default 20).
o Find the highest high (swingHigh) and the lowest low (swingLow) in that window.
o This forms the price range zone.
2. ATR Expansion
o We calculate ATR over the same len.
o Add/subtract it (multiplied by atrMult) to the zone edges to expand them.
o This ensures the zones breathe with volatility (tight in quiet markets, wide in choppy ones).
3. Mid-Zone
o Simply the average of swingHigh and swingLow.
o If price is above mid → bullish bias.
o If below mid → bearish bias.
o This gives us the trend color for candles.
4. Breakouts
o If the close crosses above swingHigh, we mark a bullish breakout with a label.
o If the close crosses below swingLow, we mark a bearish breakdown.
________________________________________
📊 How it helps traders
This indicator helps by:
1. Identifying Structure Shifts
o Many traders watch swing highs/lows for breakouts or reversals.
o This automates the process and visually confirms when structure is broken.
2. Dynamic Zone Trading
o Instead of fixed support/resistance, the ATR expansion adapts to volatility.
o This avoids false signals in high-volatility conditions.
3. Trend Bias at a Glance
o Candle coloring instantly tells you whether price is in bullish or bearish territory relative to the mid-zone.
4. Breakout Confirmation
o The labels show when a breakout has occurred, so traders can react quickly (e.g., enter with trend, wait for retest, or avoid fading moves).
________________________________________
🌍 Markets it works best in
• Crypto (Bitcoin, Ethereum, etc.): Very effective since crypto is breakout-driven and respects swing levels.
• Forex: Good for volatility-adaptive structure analysis, especially in trending pairs.
• Indices (SPX, NASDAQ, DAX, NIFTY): Useful for breakout trading during session opens or key news events.
• Commodities (Gold, Oil, Silver): Works well to define intraday ranges and breakout levels.
⚠️ Less useful in low-volatility, mean-reverting assets (like some penny stocks or sideways ranges), because breakouts may be rare or fake.
________________________________________
💡 How it adds value
• Strips away unnecessary complexity (no lagging averages).
• Focuses directly on what price is doing structurally.
• Adaptive → works across different markets & timeframes.
• Easy visualization → zones, trend coloring, breakout markers.
• Helps traders trade with the flow of the market, instead of guessing tops/bottoms.
________________________________________
👉 In short:
This indicator turns raw price action into clear, actionable zones.
It highlights when the market shifts from balance to breakout, so traders can align with momentum rather than fighting it.
Advanced Volume Profile Pro Delta + POC + VAH/VAL# Advanced Volume Profile Pro - Delta + POC + VAH/VAL Analysis System
## WHAT THIS SCRIPT DOES
This script creates a comprehensive volume profile analysis system that combines traditional volume-at-price distribution with delta volume calculations, Point of Control (POC) identification, and Value Area (VAH/VAL) analysis. Unlike standard volume indicators that show only total volume over time, this script analyzes volume distribution across price levels and estimates buying vs selling pressure using multiple calculation methods to provide deeper market structure insights.
## WHY THIS COMBINATION IS ORIGINAL AND USEFUL
**The Problem Solved:** Traditional volume indicators show when volume occurs but not where price finds acceptance or rejection. Standalone volume profiles lack directional bias information, while basic delta calculations don't provide structural context. Traders need to understand both volume distribution AND directional sentiment at key price levels.
**The Solution:** This script implements an integrated approach that:
- Maps volume distribution across price levels using configurable row density
- Estimates delta (buying vs selling pressure) using three different methodologies
- Identifies Point of Control (highest volume price level) for key support/resistance
- Calculates Value Area boundaries where 70% of volume traded
- Provides real-time alerts for key level interactions and volume imbalances
**Unique Features:**
1. **Developing POC Visualization**: Real-time tracking of Point of Control migration throughout the session via blue dotted trail, revealing institutional accumulation/distribution patterns before they complete
2. **Multi-Method Delta Calculation**: Price Action-based, Bid/Ask estimation, and Cumulative methods for different market conditions
3. **Adaptive Timeframe System**: Auto-adjusts calculation parameters based on chart timeframe for optimal performance
4. **Flexible Profile Types**: N Bars Back (precise control), Days Back (calendar-based), and Session-based analysis modes
5. **Advanced Imbalance Detection**: Identifies and highlights significant buying/selling imbalances with configurable thresholds
6. **Comprehensive Alert System**: Monitors POC touches, Value Area entry/exit, and major volume imbalances
## HOW THE SCRIPT WORKS TECHNICALLY
### Core Volume Profile Methodology:
**1. Price Level Distribution:**
- Divides price range into user-defined rows (10-50 configurable)
- Calculates row height: `(Highest Price - Lowest Price) / Number of Rows`
- Distributes each bar's volume across price levels it touched proportionally
**2. Delta Volume Calculation Methods:**
**Price Action Method:**
```
Price Range = High - Low
Buy Pressure = (Close - Low) / Price Range
Sell Pressure = (High - Close) / Price Range
Buy Volume = Total Volume × Buy Pressure
Sell Volume = Total Volume × Sell Pressure
Delta = Buy Volume - Sell Volume
```
**Bid/Ask Estimation Method:**
```
Average Price = (High + Low + Close) / 3
Buy Volume = Close > Average ? Volume × 0.6 : Volume × 0.4
Sell Volume = Total Volume - Buy Volume
```
**Cumulative Method:**
```
Buy Volume = Close > Open ? Volume : Volume × 0.3
Sell Volume = Close ≤ Open ? Volume : Volume × 0.3
```
**3. Point of Control (POC) Identification:**
- Scans all price levels to find maximum volume concentration
- POC represents the price level with highest trading activity
- Acts as significant support/resistance level
- **Developing POC Feature**: Tracks POC evolution in real-time via blue dotted trail, showing how institutional interest migrates throughout the session. Upward POC migration indicates accumulation patterns, downward migration suggests distribution, providing early trend signals before price confirmation.
**4. Value Area Calculation:**
- Starts from POC and expands up/down to encompass 70% of total volume
- VAH (Value Area High): Upper boundary of value area
- VAL (Value Area Low): Lower boundary of value area
- Expansion algorithm prioritizes direction with higher volume
**5. Adaptive Range Selection:**
Based on profile type and timeframe optimization:
- **N Bars Back**: Fixed lookback period with performance optimization (20-500 bars)
- **Days Back**: Calendar-based analysis with automatic timeframe adjustment (1-365 days)
- **Session**: Current trading session or custom session times
### Performance Optimization Features:
- **Sampling Algorithm**: Reduces calculation load on large datasets while maintaining accuracy
- **Memory Management**: Clears previous drawings to prevent performance degradation
- **Safety Constraints**: Prevents excessive memory usage with configurable limits
## HOW TO USE THIS SCRIPT
### Initial Setup:
1. **Profile Configuration**: Select profile type based on trading style:
- N Bars Back: Precise control over data range
- Days Back: Intuitive calendar-based analysis
- Session: Real-time session development
2. **Row Density**: Set number of rows (30 default) - more rows = higher resolution, slower performance
3. **Delta Method**: Choose calculation method based on market type:
- Price Action: Best for trending markets
- Bid/Ask Estimate: Good for ranging markets
- Cumulative: Smoothed approach for volatile markets
4. **Visual Settings**: Configure colors, position (left/right), and display options
### Reading the Profile:
**Volume Bars:**
- **Length**: Represents relative volume at that price level
- **Color**: Green = net buying pressure, Red = net selling pressure
- **Intensity**: Darker colors indicate volume imbalances above threshold
**Key Levels:**
- **POC (Blue Line)**: Highest volume price - major support/resistance
- **VAH (Purple Dashed)**: Value Area High - upper boundary of fair value
- **VAL (Orange Dashed)**: Value Area Low - lower boundary of fair value
- **Value Area Fill**: Shaded region showing main trading range
**Developing POC Trail:**
- **Blue Dotted Lines**: Show real-time POC evolution throughout the session
- **Migration Patterns**: Upward trail indicates bullish accumulation, downward trail suggests bearish distribution
- **Early Signals**: POC movement often precedes price movement, providing advance warning of institutional activity
- **Institutional Footprints**: Reveals where smart money concentrated volume before final POC establishment
### Trading Applications:
**Support/Resistance Analysis:**
- POC acts as magnetic price level - expect reactions
- VAH/VAL provide intermediate support/resistance levels
- Profile edges show areas of low volume acceptance
**Developing POC Analysis:**
- **Upward Migration**: POC moving higher = institutional accumulation, bullish bias
- **Downward Migration**: POC moving lower = institutional distribution, bearish bias
- **Stable POC**: Tight clustering = balanced market, range-bound conditions
- **Early Trend Detection**: POC direction change often precedes price breakouts
**Entry Strategies:**
- Buy at VAL with POC as target (in uptrends)
- Sell at VAH with POC as target (in downtrends)
- Breakout plays above/below profile extremes
**Volume Imbalance Trading:**
- Strong buying imbalance (>60% threshold) suggests continued upward pressure
- Strong selling imbalance suggests continued downward pressure
- Imbalances near key levels provide high-probability setups
**Multi-Timeframe Context:**
- Use higher timeframe profiles for major levels
- Lower timeframe profiles for precise entries
- Session profiles for intraday trading structure
## SCRIPT SETTINGS EXPLANATION
### Volume Profile Settings:
- **Profile Type**: Determines data range for calculation
- N Bars Back: Exact number of bars (20-500 range)
- Days Back: Calendar days with timeframe adaptation (1-365 days)
- Session: Trading session-based (intraday focus)
- **Number of Rows**: Profile resolution (10-50 range)
- **Profile Width**: Visual width as chart percentage (10-50%)
- **Value Area %**: Volume percentage for VA calculation (50-90%, 70% standard)
- **Auto-Adjust**: Automatically optimizes for different timeframes
### Delta Volume Settings:
- **Show Delta Volume**: Enable/disable delta calculations
- **Delta Calculation Method**: Choose methodology based on market conditions
- **Highlight Imbalances**: Visual emphasis for significant volume imbalances
- **Imbalance Threshold**: Percentage for imbalance detection (50-90%)
### Session Settings:
- **Session Type**: Daily, Weekly, Monthly, or Custom periods
- **Custom Session Time**: Define specific trading hours
- **Previous Sessions**: Number of historical sessions to display
### Days Back Settings:
- **Lookback Days**: Number of calendar days to analyze (1-365)
- **Automatic Calculation**: Script automatically converts days to bars based on timeframe:
- Intraday: Accounts for 6.5 trading hours per day
- Daily: 1 bar per day
- Weekly/Monthly: Proportional adjustment
### N Bars Back Settings:
- **Lookback Bars**: Exact number of bars to analyze (20-500)
- **Precise Control**: Best for systematic analysis and backtesting
### Visual Customization:
- **Colors**: Bullish (green), Bearish (red), and level colors
- **Profile Position**: Left or Right side of chart
- **Profile Offset**: Distance from current price action
- **Labels**: Show/hide level labels and values
- **Smooth Profile Bars**: Enhanced visual appearance
### Alert Configuration:
- **POC Touch**: Alerts when price interacts with Point of Control
- **VA Entry/Exit**: Alerts for Value Area boundary interactions
- **Major Imbalance**: Alerts for significant volume imbalances
## VISUAL FEATURES
### Profile Display:
- **Horizontal Bars**: Volume distribution across price levels
- **Color Coding**: Delta-based coloring for directional bias
- **Smooth Rendering**: Optional smoothing for cleaner appearance
- **Transparency**: Configurable opacity for chart readability
### Level Lines:
- **POC**: Solid blue line with optional label
- **VAH/VAL**: Dashed colored lines with value displays
- **Extension**: Lines extend across relevant time periods
- **Value Area Fill**: Optional shaded region between VAH/VAL
### Information Table:
- **Current Values**: Real-time POC, VAH, VAL prices
- **VA Range**: Value Area width calculation
- **Positioning**: Multiple table positions available
- **Text Sizing**: Adjustable for different screen sizes
## IMPORTANT USAGE NOTES
**Realistic Expectations:**
- Volume profile analysis provides structural context, not trading signals
- Delta calculations are estimations based on price action, not actual order flow
- Past volume distribution does not guarantee future price behavior
- Combine with other analysis methods for comprehensive market view
**Best Practices:**
- Use appropriate profile types for your trading style:
- Day Trading: Session or Days Back (1-5 days)
- Swing Trading: Days Back (10-30 days) or N Bars Back
- Position Trading: Days Back (60-180 days)
- Consider market context (trending vs ranging conditions)
- Verify key levels with additional technical analysis
- Monitor profile development for changing market structure
**Performance Considerations:**
- Higher row counts increase calculation complexity
- Large lookback periods may affect chart performance
- Auto-adjust feature optimizes for most use cases
- Consider using session profiles for intraday efficiency
**Limitations:**
- Delta calculations are estimations, not actual transaction data
- Profile accuracy depends on available price/volume history
- Effectiveness varies across different instruments and market conditions
- Requires understanding of volume profile concepts for optimal use
**Data Requirements:**
- Requires volume data for accurate calculations
- Works best on liquid instruments with consistent volume
- May be less effective on very low volume or exotic instruments
This script serves as a comprehensive volume analysis tool for traders who need detailed market structure information with integrated directional bias analysis and real-time POC development tracking for informed trading decisions.
BecakFloatingPanelsLibrary "BecakFloatingPanels"
Library for creating floating indicator panels with MACD, RSI, and Stochastic indicators
calculateMacd(source, fastLength, slowLength, signalLength)
Calculate MACD components
Parameters:
source (float) : Price source for calculation
fastLength (simple int) : Fast EMA period
slowLength (simple int) : Slow EMA period
signalLength (simple int) : Signal line period
Returns: MacdData MACD calculation results
calculateRsi(source, length)
Calculate RSI
Parameters:
source (float) : Price source for calculation
length (simple int) : RSI period
Returns: float RSI value
calculateStochastic(source, high, low, kLength, kSmoothing, dSmoothing)
Calculate Stochastic components
Parameters:
source (float) : Price source for calculation
high (float) : High prices
low (float) : Low prices
kLength (int) : %K period
kSmoothing (int) : %K smoothing period
dSmoothing (int) : %D smoothing period
Returns: StochData Stochastic calculation results
calculateStochSignals(stochK, stochD, overboughtLevel, oversoldLevel)
Calculate Stochastic signals
Parameters:
stochK (float) : Stochastic %K series
stochD (float) : Stochastic %D series
overboughtLevel (float) : Overbought threshold
oversoldLevel (float) : Oversold threshold
Returns: StochSignals Signal flags
calculateChartMetrics(high, low, lookbackLength)
Calculate chart range and positioning metrics
Parameters:
high (float) : High prices
low (float) : Low prices
lookbackLength (int) : Lookback period
Returns: ChartMetrics Chart positioning data
calculateMacdRange(macdLine, signalLine, histogram, safeLookback)
Calculate MACD range for normalization
Parameters:
macdLine (float) : MACD line series
signalLine (float) : Signal line series
histogram (float) : Histogram series
safeLookback (int) : Lookback period
Returns: MacdRange MACD range metrics
initVisualArrays()
Initialize visual arrays
Returns: VisualArrays Container with initialized arrays
clearVisuals(visuals)
Clear all visual elements
Parameters:
visuals (VisualArrays) : VisualArrays container
Returns: void
calculatePanelPositions(chartMetrics, oscPlacement, panelHeight, panelSpacing, centerOffset)
Calculate panel positions based on placement option
Parameters:
chartMetrics (ChartMetrics) : Chart metrics object
oscPlacement (string) : Panel placement option
panelHeight (float) : Panel height percentage
panelSpacing (float) : Panel spacing percentage
centerOffset (float) : Center offset percentage
Returns: PanelPositions Panel boundary coordinates
createPanelBackgrounds(visuals, positions, panelLeft, panelRight, showBackground, transparency)
Create panel backgrounds
Parameters:
visuals (VisualArrays) : VisualArrays container
positions (PanelPositions) : PanelPositions object
panelLeft (int) : Left boundary
panelRight (int) : Right boundary
showBackground (bool) : Show background flag
transparency (int) : Background transparency
Returns: void
drawReferenceLines(visuals, positions, chartMetrics, macdRange, dataLeft, dataRight, panelHeight, rsiOverbought, rsiOversold, stochOverbought, stochOversold)
Draw reference lines for all panels
Parameters:
visuals (VisualArrays) : VisualArrays container
positions (PanelPositions) : PanelPositions object
chartMetrics (ChartMetrics) : ChartMetrics object
macdRange (MacdRange) : MacdRange object
dataLeft (int) : Left data boundary
dataRight (int) : Right data boundary
panelHeight (float) : Panel height percentage
rsiOverbought (int) : RSI overbought level
rsiOversold (int) : RSI oversold level
stochOverbought (int) : Stochastic overbought level
stochOversold (int) : Stochastic oversold level
Returns: void
drawMacdIndicator(visuals, macdLine, signalLine, histogram, macdRange, positions, chartMetrics, barIndex, nextBarIndex, barIndexOffset, panelHeight)
Draw MACD indicator
Parameters:
visuals (VisualArrays) : VisualArrays container
macdLine (float) : MACD line series
signalLine (float) : Signal line series
histogram (float) : Histogram series
macdRange (MacdRange) : MacdRange object
positions (PanelPositions) : PanelPositions object
chartMetrics (ChartMetrics) : ChartMetrics object
barIndex (int) : Current bar index
nextBarIndex (int) : Next bar index
barIndexOffset (int) : Horizontal offset
panelHeight (float) : Panel height percentage
Returns: void
drawRsiIndicator(visuals, rsiValue, positions, chartMetrics, barIndex, nextBarIndex, barIndexOffset, panelHeight)
Draw RSI indicator
Parameters:
visuals (VisualArrays) : VisualArrays container
rsiValue (float) : RSI value
positions (PanelPositions) : PanelPositions object
chartMetrics (ChartMetrics) : ChartMetrics object
barIndex (int) : Current bar index
nextBarIndex (int) : Next bar index
barIndexOffset (int) : Horizontal offset
panelHeight (float) : Panel height percentage
Returns: void
drawStochasticIndicator(visuals, stochK, stochD, positions, chartMetrics, barIndex, nextBarIndex, barIndexOffset, panelHeight, stochOverbought, stochOversold)
Draw Stochastic indicator
Parameters:
visuals (VisualArrays) : VisualArrays container
stochK (float) : Stochastic %K series
stochD (float) : Stochastic %D series
positions (PanelPositions) : PanelPositions object
chartMetrics (ChartMetrics) : ChartMetrics object
barIndex (int) : Current bar index
nextBarIndex (int) : Next bar index
barIndexOffset (int) : Horizontal offset
panelHeight (float) : Panel height percentage
stochOverbought (int) : Overbought level
stochOversold (int) : Oversold level
Returns: void
addStochasticSignals(visuals, buySignal, sellSignal, positions, chartMetrics, currentBarIndex, barIndexOffset, panelHeight, signalIndex)
Add Stochastic buy/sell signals
Parameters:
visuals (VisualArrays) : VisualArrays container
buySignal (bool) : Buy signal series
sellSignal (bool) : Sell signal series
positions (PanelPositions) : PanelPositions object
chartMetrics (ChartMetrics) : ChartMetrics object
currentBarIndex (int) : Current bar index
barIndexOffset (int) : Horizontal offset
panelHeight (float) : Panel height percentage
signalIndex (int) : Signal index for lookback
Returns: void
setPanelLabels(macdLabel, rsiLabel, stochLabel, positions, chartMetrics, labelOffset, panelHeight, barIndexOffset)
Set panel title labels
Parameters:
macdLabel (label) : MACD label reference
rsiLabel (label) : RSI label reference
stochLabel (label) : Stochastic label reference
positions (PanelPositions) : PanelPositions object
chartMetrics (ChartMetrics) : ChartMetrics object
labelOffset (int) : Label horizontal offset
panelHeight (float) : Panel height percentage
barIndexOffset (int) : Horizontal offset
Returns: void
showDebugInfo(chartMetrics, debugMode)
Display debug information
Parameters:
chartMetrics (ChartMetrics) : ChartMetrics object
debugMode (bool) : Debug mode flag
Returns: void
ChartMetrics
Chart metrics container
Fields:
visibleHigh (series float) : Highest visible price
visibleLow (series float) : Lowest visible price
chartRange (series float) : Price range of chart
chartCenter (series float) : Center point of chart
MacdData
MACD calculation results
Fields:
macdLine (series float) : Main MACD line
signalLine (series float) : Signal line
histogram (series float) : MACD histogram
MacdRange
MACD range metrics for normalization
Fields:
highest (series float) : Highest MACD value
lowest (series float) : Lowest MACD value
BRange (series float) : Total range
StochData
Stochastic calculation results
Fields:
k_smooth (series float) : Smoothed %K line
d (series float) : %D line
StochSignals
Stochastic signals
Fields:
buySignal (series bool) : Buy signal flag
sellSignal (series bool) : Sell signal flag
PanelPositions
Panel positioning data
Fields:
macdTop (series float) : MACD panel top
macdBottom (series float) : MACD panel bottom
rsiTop (series float) : RSI panel top
rsiBottom (series float) : RSI panel bottom
stochTop (series float) : Stochastic panel top
stochBottom (series float) : Stochastic panel bottom
VisualArrays
Visual elements arrays container
Fields:
macdLines (array) : Array of MACD lines
macdHist (array) : Array of MACD histogram boxes
rsiLines (array) : Array of RSI lines
stochLines (array) : Array of Stochastic lines
stochAreas (array) : Array of Stochastic areas
stochSignals (array) : Array of Stochastic signals
panelBackgrounds (array) : Array of panel backgrounds
Multi-Band Trend LineThis Pine Script creates a versatile technical indicator called "Multi-Band Trend Line" that builds upon the concept of the popular "Follow Line Indicator" by Dreadblitz. While the original Follow Line Indicator uses simple trend detection to place a line at High or Low levels, this enhanced version combines multiple band-based trading strategies with dynamic trend line generation. The indicator supports five different band types and provides more sophisticated buy/sell signals based on price breakouts from various technical analysis bands.
Key Features
Multi-Band Support
The indicator supports five different band types:
- Bollinger Bands: Uses standard deviation to create bands around a moving average
- Keltner Channels: Uses ATR (Average True Range) to create bands around a moving average
- Donchian Channels: Uses the highest high and lowest low over a specified period
- Moving Average Envelopes: Creates bands as a percentage above and below a moving average
- ATR Bands: Uses ATR multiplier to create bands around a moving average
Dynamic Trend Line Generation (Enhanced Follow Line Concept)
- Similar to the Follow Line Indicator, the trend line is placed at High or Low levels based on trend direction
- Key Enhancement: Instead of simple trend detection, this version uses band breakouts to trigger trend changes
- When price breaks above the upper band (bullish signal), the trend line is set to the low (optionally adjusted with ATR) - similar to Follow Line's low placement
- When price breaks below the lower band (bearish signal), the trend line is set to the high (optionally adjusted with ATR) - similar to Follow Line's high placement
- The trend line acts as dynamic support/resistance, following the price action more precisely than the original Follow Line
ATR Filter (Follow Line Enhancement)
- Like the original Follow Line Indicator, an ATR filter can be selected to place the line at a more distance level than the normal mode settled at candles Highs/Lows
- When enabled, it adds/subtracts ATR value to provide more conservative trend line placement
- Helps reduce false signals in volatile markets
- This feature maintains the core philosophy of the Follow Line while adding more precision through band-based triggers
Signal Generation
- Buy Signal: Generated when trend changes from bearish to bullish (trend line starts rising)
- Sell Signal: Generated when trend changes from bullish to bearish (trend line starts falling)
- Signals are displayed as labels on the chart
Visual Elements
- Upper and lower bands are plotted in gray
- Trend line changes color based on direction (green for bullish, red for bearish)
- Background color changes based on trend direction
- Buy/sell signals are marked with labeled shapes
How It Works
Band Calculation: Based on the selected band type, upper and lower boundaries are calculated
Signal Detection: When price closes above the upper band or below the lower band, a breakout signal is generated
Trend Line Update: The trend line is updated based on the breakout direction and previous trend line value
Trend Direction: Determined by comparing current trend line with the previous value
Alert Generation: Buy/sell conditions trigger alerts and visual signals
Use Cases
Enhanced trend following strategies: More precise than basic Follow Line due to band-based triggers
Breakout trading: Multiple band types provide various breakout opportunities
Dynamic support/resistance identification: Combines Follow Line concept with band analysis
Multi-timeframe analysis with different band types: Choose the most suitable band for your timeframe
Reduced false signals: Band confirmation provides better entry/exit points compared to simple trend following
ORB & Sessions [Capitalize Labs]ORB & Sessions Indicator
The ORB & Sessions Indicator provides a structured way to analyze intraday price action by combining two well-established concepts: global trading sessions and Opening Range Breakouts (ORB). It is designed to help traders identify where liquidity forms, when volatility expands, and how price behaves around key session and range levels.
Market Sessions Framework
Displays New York, London, and Asian sessions directly on the chart.
Each session can be shown as a highlighted background zone, or with extended highs and lows for liquidity tracking.
Session highs and lows remain projected forward after the session ends, allowing traders to monitor sweeps, retests, and reactions throughout the day.
Session times are fully customizable and can be aligned with the trader’s own timezone or broker feed.
This structure helps traders place price action into context, whether during quiet Asian trading, London-driven volatility, or New York reversals.
Opening Range Breakouts (ORB)
Supports three independent ORBs, each with configurable session times.
During the defined ORB window, the indicator captures the high and low of the range and plots a live updating box.
Once the ORB closes, the range locks and projects breakout targets (T1 and T2) based on user-defined risk-to-reward multiples.
Alerts are included for breakouts of highs, lows, or target levels.
Traders can use a single ORB or multiple—for example, tracking an Asian ORB into London, or London into New York.
Visualization and Clarity
Color-coded boxes and levels for sessions and ORBs.
Labels such as “Range High” and “Range Low” ensure clarity without clutter.
Flexible display settings allow highlighting full zones, just lines, or minimal markers depending on preference.
Practical Applications
This indicator is useful for:
Liquidity and volatility analysis: Observe where session highs and lows form and how they influence later trading.
Breakout and reversal strategies: Use ORB ranges to define risk and plan target projections.
Time-based research: Explore how different session overlaps or ORBs affect markets like indices, FX, and commodities.
Risk planning: Built-in R-multiple targets provide a consistent framework for evaluating setups.
Why It’s Different
Instead of showing sessions and ORBs separately, this indicator integrates them into one framework. Traders can:
See when and where sessions open and establish range levels.
Define precise ORBs with customizable timing.
Track breakout levels and targets in real time with alerts.
The result is a clear, time-structured view of the trading day, helping traders align setups with session dynamics and opening range behavior.
This indicator does not generate buy or sell signals. It is an analytical and visualization tool, providing structure for traders to better interpret intraday price action.
Gann Box LogicGann Box Logic
Overview
The Gann Box Logic indicator is a precision-based trading tool that combines the principles of Gann analysis with retracement logic to highlight high-probability zones of price action. It plots a structured box on the chart based on the previous day's high and low, overlays Fibonacci-derived retracement levels, and visually marks a critical “neutral zone” between 38.2% and 61.8% retracements.
This zone — shaded for emphasis — is a decision filter for traders:
- It warns against initiating trades in this area (low conviction zone).
- It identifies reversal pull targets when extremes are reached.
Core Principles Behind Gann Box Logic
Logic 1 — The Neutral Zone (38.2% ↔ 61.8%)
- The 38.2% and 61.8% retracement levels are key Fibonacci ratios often associated with consolidation or indecision.
- Price action between these two levels is considered a neutral, low-conviction zone.
- Trading Recommendation:
- Avoid initiating new trades while price remains within this shaded band.
- This zone tends to produce whipsaws and false signals.
- Wait for a decisive break above 61.8% or below 38.2% for clearer momentum.
- Why it matters:
- In Gann’s market structure thinking, the middle range of a swing is often a battleground where neither bulls nor bears are in full control.
- This is the zone where market makers often shake out weak hands before committing to a direction.
Logic 2 — Extremes Seek Balance (0% & 100% Reversal Bias)
- The indicator’s 0% and 100% levels represent the previous day’s low and high respectively.
- First Touch Rule:
- When the price touches 0% (previous low) or 100% (previous high) for the first time in the current session, there is a high probability it will attempt to revert toward the center zone (38.2% ↔ 61.8%).
- Trading Implication:
- If price spikes to an extreme, be alert for reversion trades toward the mid-zone rather than expecting a sustained breakout.
- Momentum traders may still pursue breakout trades, but this bias warns of potential pullbacks.
- Why it works:
- Extreme levels often trigger profit-taking by early entrants and counter-trend entries by mean-reversion traders.
- These forces naturally pull the market back toward equilibrium — often near the 50% level or within the shaded zone.
How the Indicator is Plotted
1. Previous Day High/Low Reference — The script locks onto the prior day’s range to establish the vertical bounds of the box.
2. Retracement Levels — Key Fibonacci levels plotted: 0%, 25%, 38.2%, 50%, 61.8%, 75%, 100%.
3. Box Structure — Outer Border marks the full prior day range, Mid Fill Zone is shaded between 38.2% and 61.8%.
4. VWAP (Optional) — Daily VWAP overlay for intraday bias confirmation.
Practical Usage Guide
- Avoid Trades in Neutral Zone — Stay out of the shaded area unless you’re already in a trade from outside this zone.
- Watch for First Touch Extremes — First touch at 0% or 100% → anticipate a pullback toward the shaded zone.
- Breakout Confirmation — Only commit to breakout trades when price leaves the 38.2–61.8% zone with strong volume and momentum.
- VWAP Confluence — VWAP crossing through the shaded zone often signals a balance day — breakout expectations should be tempered.
Strengths of Gann Box Logic
- Removes noise trades during low-conviction periods.
- Encourages patience and discipline.
- Highlights key market turning points.
- Provides clear visual structure for both new and advanced traders.
Limitations & Warnings
- Not a standalone entry system — best used in conjunction with price action and volume analysis.
- Extreme moves can sometimes trend without reversion, especially during news-driven sessions.
- Works best on intraday timeframes when referencing the previous day’s range.
In Summary
The Gann Box Logic indicator’s philosophy can be boiled down to two golden rules:
1. Do nothing in the middle — Avoid trades between 38.2% and 61.8%.
2. Expect balance from extremes — First touches at 0% or 100% often pull back toward the shaded mid-zone.
This dual approach makes the indicator both a trade filter and a targeting guide, allowing traders to navigate markets with a structured, Gann-inspired framework.
DISCLAIMER
The information provided by this indicator is for educational purposes only and should not be considered financial advice. Trading carries risk, including possible loss of capital. Past performance does not guarantee future results. Always conduct your own research and consult with a qualified financial professional before making trading decisions.
Trishul Tap Signals (v6) — Liquidity Sweep + Imbalanced RetestTrishul Tap Signals — Liquidity Sweep + Imbalanced Retest
Type: Signal-only indicator (non-repainting)
Style: Price-action + Liquidity + Trend-following
Best for: Intraday & Swing Trading — any liquid market (stocks, futures, crypto, FX)
Timeframes: Any (5m–1D recommended)
Concept
The Trishul Tap setup is a liquidity-driven retest play inspired by order-flow and Smart Money Concepts.
It identifies one-sided impulse candles that also sweep liquidity (grab stops above/below a recent swing), then waits for price to retest the origin of that candle to enter in the trend direction.
Think of it as the three points of a trident:
Trend filter — Only signals with the prevailing trend.
Liquidity sweep — Candle takes out a recent swing high/low (stop-hunt).
Imbalanced retest — Price taps the candle’s open/low (bull) or open/high (bear).
Bullish Setup
Trend Filter: Price above EMA(200).
Impulse Candle:
Green close.
Upper wick ≥ (wickRatio × lower wick).
Lower wick ≤ (oppWickMaxFrac × full range).
Liquidity Sweep: Candle’s high exceeds the highest high of the last sweepLookback bars (excluding current).
Tap Entry: Buy signal triggers when price later taps the candle’s low or open (user choice) within expireBars.
Bearish Setup
Trend Filter: Price below EMA(200).
Impulse Candle:
Red close.
Lower wick ≥ (wickRatio × upper wick).
Upper wick ≤ (oppWickMaxFrac × full range).
Liquidity Sweep: Candle’s low breaks the lowest low of the last sweepLookback bars (excluding current).
Tap Entry: Sell signal triggers when price later taps the candle’s high or open (user choice) within expireBars.
Inputs
Trend EMA Length: Default 200.
Sweep Lookback: Number of bars for liquidity sweep check (default 20).
Wick Ratio: Required size ratio of dominant wick to opposite wick (default 2.0).
Opposite Wick Max %: Opposite wick must be ≤ this fraction of the candle’s range (default 25%).
Tap Tolerance (ticks): How close price must come to the level to count as a tap.
Expire Bars: Max bars after setup to allow a valid tap.
One Signal per Level: If ON, a base is “consumed” after first signal.
Plot Tap Levels: Show horizontal lines for active bases.
Show Setup Labels: Mark the origin sweep candle.
Plots & Visuals
EMA Trend Line — trend filter reference.
Tap Levels —
Green = bullish base (origin candle’s low/open).
Red = bearish base (origin candle’s high/open).
Labels — Show where the setup candle formed.
Signals —
BUY: triangle-up below bar at bullish tap.
SELL: triangle-down above bar at bearish tap.
Alerts
Two built-in conditions:
BUY Signal (Trishul Tap) — triggers on bullish tap.
SELL Signal (Trishul Tap) — triggers on bearish tap.
Set via Alerts panel → Condition = this indicator → Choose signal type.
How to Trade It
Use in liquid markets with clean price structure.
Confirm with HTF structure, volume spikes, or other confluence if desired.
Place stop just beyond the tap level (or ATR-based).
Target 1–2R or trail behind structure.
Why It Works
Liquidity sweep traps traders entering late (breakout buyers or panic sellers) and forces them to exit in the opposite direction, fueling your entry.
Wick imbalance confirms directional aggression by one side.
Trend filter keeps you aligned with the market’s dominant flow.
Retest entry lets you enter at a better price with reduced risk.
Non-Repainting
Setups form only on confirmed bar closes.
Signals trigger only on later bars that tap the stored level.
No lookahead functions are used.
Disclaimer
This script is for educational purposes only and does not constitute financial advice. Test thoroughly in a simulator or demo before using in live markets. Trading involves risk.
Engulfing Pattern[SpeculationLab]Overview
This script detects two types of engulfing / outer bar patterns and marks them directly on the chart:
Body Engulfing – The current candle’s body range (open–close) completely covers the entire range (high–low) of the previous candle.
Range Engulfing – The current candle’s full range (high–low, including wicks) completely covers the entire range (high–low) of the previous candle.
Direction logic:
Bull – The previous candle is bearish and the selected engulfing rule is met.
Bear – The previous candle is bullish and the selected engulfing rule is met.
Optional: Require the current candle to have the opposite color of the previous one.
This is an open-source pattern recognition tool for learning, backtesting, and chart review. It is not financial advice.
Key Features
Two detection modes:
body – Body engulfs previous entire range
range – Wicks engulf previous entire range
Direction detection based on the previous candle’s color, with optional opposite-color confirmation
Chart markers: “BULL” /“BEAR” above bars
Alert-ready: built-in conditions for bullish and bearish engulfing patterns
Parameters
Engulfing Type: body / range
body: Current body must fully cover the previous candle’s high–low range
range: Current full range (high–low) must fully cover the previous candle’s high–low range
Require Opposite Previous Candle (default: off):
When enabled, the engulfing pattern must also have the opposite color from the previous candle to trigger
Usage Tips
Engulfing patterns are price action structures; combine with trend, key levels, and volume for context
Signals confirm on bar close (barstate.isconfirmed) to reduce repainting
Can be used with personal risk management rules (stop-loss, take-profit, filters)
Disclaimer
For educational and research purposes only – not financial advice
Past performance of patterns does not guarantee future results
Trading involves risk; always manage it responsibly
This script is open-source – feel free to learn from or modify it, but credit the original source and author (SpeculationLab)
脚本简介
本脚本用于识别两类包裹/外包形态,并在图表上以标记提示:
Body(实体包裹):当前K线的实体区间(开—收)完全覆盖上一根K线的整个区间(上一根的高—低)。
Range(影线外包):当前K线的影线区间(高—低)完全覆盖上一根K线的整个区间(上一根的高—低)。
方向判定:
Bull(多):上一根为阴线且满足所选包裹规则;
Bear(空):上一根为阳线且满足所选包裹规则;
可选项:要求“当前K线颜色与上一根相反”后再确认(见参数)。
本脚本为开源形态识别工具,适合技术分析学习、回测与复盘,不构成任何投资建议。
主要功能
两种识别模式:body(实体包裹上一根整段) / range(影线包裹上一根整段)。
方向识别:按上一根K线颜色判断多空;可选“当前颜色与上一根相反”的二次确认。
图表提示:plotshape 在K线上方标注 “BULL / BEAR”。
提醒支持:内置 Bullish Engulf / Bearish Engulf 提醒条件。
参数说明
Engulfing Type:body / range
body:当前实体须完全覆盖上一根的高—低整段;
range:当前高—低须完全覆盖上一根的高—低整段。
Require Opposite Previous Candle(默认关闭):
开启后,除满足包裹规则外,还需当前K线颜色与上一根相反才触发标记。
使用建议
包裹/外包是价格行为结构,建议结合趋势、关键价位、成交量等因素综合判断。
信号在收盘时确认(barstate.isconfirmed),以减少重绘干扰。
可与个人风格的风险控制规则(止损、止盈、过滤条件)配合使用。
合规与免责声明
本脚本仅用于技术研究与学习,不构成任何形式的投资建议或收益承诺。
历史形态并不代表未来结果,交易有风险,请自行评估并承担责任。
本脚本开源,欢迎学习与二次开发;转载或改用请注明来源与作者(SpeculationLab / 投机实验室)。
Awesome Indicator# Moving Average Ribbon with ADR% - Complete Trading Indicator
## Overview
The **Moving Average Ribbon with ADR%** is a comprehensive technical analysis indicator that combines multiple analytical tools to provide traders with a complete picture of price trends, volatility, relative performance, and position sizing guidance. This multi-faceted indicator is designed for both swing and positional traders looking for data-driven entry and exit signals.
## Key Components
### 1. Moving Average Ribbon System
- **4 Customizable Moving Averages** with default periods: 13, 21, 55, and 189
- **Multiple MA Types**: SMA, EMA, SMMA (RMA), WMA, VWMA
- **Color-coded visualization** for easy trend identification
- **Flexible configuration** allowing users to modify periods, types, and colors
### 2. Average Daily Range Percentage (ADR%)
- Calculates the average daily volatility as a percentage
- Uses a 20-period simple moving average of (High/Low - 1) * 100
- Helps traders understand the stock's typical daily movement range
- Essential for position sizing and stop-loss placement
### 3. Volume Analysis (Up/Down Ratio)
- Analyzes volume distribution over the last 55 periods
- Calculates the ratio of volume on up days vs down days
- Provides insight into buying vs selling pressure
- Values > 1 indicate more buying volume, < 1 indicate more selling volume
### 4. Absolute Relative Strength (ARS)
- **Dual timeframe analysis** with customizable reference points
- **High ARS**: Performance relative to benchmark from a high reference point (default: Sep 27, 2024)
- **Low ARS**: Performance relative to benchmark from a low reference point (default: Apr 7, 2025)
- Uses NSE:NIFTY as default comparison symbol
- Color-coded display: Green for outperformance, Red for underperformance
### 5. Relative Performance Table
- **5 timeframes**: 1 Week, 1 Month, 3 Months, 6 Months, 1 Year
- Shows stock performance **relative to benchmark index**
- Formula: (Stock Return - Index Return) for each period
- **Color coding**:
- Lime: >5% outperformance
- Yellow: -5% to +5% relative performance
- Red: <-5% underperformance
### 6. Dynamic Position Allocation System
- **6-factor scoring system** based on price vs EMAs (21, 55, 189)
- Evaluates:
- Price above/below each EMA
- EMA alignment (21>55, 55>189, 21>189)
- **Allocation recommendations**:
- 100% allocation: Score = 6 (all bullish signals)
- 75% allocation: Score = 4
- 50% allocation: Score = 2
- 25% allocation: Score = 0
- 0% allocation: Score = -2, -4, -6 (bearish signals)
## Display Tables
### Performance Table (Top Right)
Shows relative performance vs benchmark across multiple timeframes with intuitive color coding for quick assessment.
### Metrics Table (Bottom Right)
Displays key statistics:
- **ADR%**: Average Daily Range percentage
- **U/D**: Up/Down volume ratio
- **Allocation%**: Recommended position size
- **High ARS%**: Relative strength from high reference
- **Low ARS%**: Relative strength from low reference
## How to Use This Indicator
### For Trend Analysis
1. **Moving Average Ribbon**: Look for price above ascending MAs for bullish trends
2. **MA Alignment**: Bullish when shorter MAs are above longer MAs
3. **Color coordination**: Use consistent color scheme for quick visual analysis
### For Entry/Exit Timing
1. **Performance Table**: Enter when showing consistent outperformance across timeframes
2. **Volume Analysis**: Confirm entries with U/D ratio > 1.5 for strong buying
3. **ARS Values**: Look for positive ARS readings for relative strength confirmation
### For Position Sizing
1. **Allocation System**: Use the recommended allocation percentage
2. **ADR% Consideration**: Adjust position size based on volatility
3. **Risk Management**: Lower allocation in high ADR% stocks
### For Risk Management
1. **ADR% for Stop Loss**: Set stops at 1-2x ADR% below entry
2. **Relative Performance**: Reduce positions when consistently underperforming
3. **Volume Confirmation**: Be cautious when U/D ratio deteriorates
## Best Practices
### Timeframe Recommendations
- **Intraday**: Use lower MA periods (5, 13, 21, 55)
- **Swing Trading**: Default settings work well (13, 21, 55, 189)
- **Position Trading**: Consider higher periods (21, 50, 100, 200)
### Market Conditions
- **Trending Markets**: Focus on MA alignment and relative performance
- **Sideways Markets**: Rely more on ADR% for range trading
- **Volatile Markets**: Reduce allocation percentage regardless of signals
### Customization Tips
1. Adjust reference dates for ARS calculation based on significant market events
2. Change comparison symbol to sector-specific indices for better relative analysis
3. Modify MA periods based on your trading style and market characteristics
## Technical Specifications
- **Version**: Pine Script v6
- **Overlay**: Yes (plots on price chart)
- **Real-time Updates**: Yes
- **Data Requirements**: Minimum 252 bars for complete calculations
- **Compatible Timeframes**: All standard timeframes
## Limitations
- Performance calculations require sufficient historical data
- ARS calculations depend on selected reference dates
- Volume analysis may be less reliable in low-volume stocks
- Relative performance is only as good as the chosen benchmark
This indicator is designed to provide a comprehensive analysis framework rather than simple buy/sell signals. It's recommended to use this in conjunction with your overall trading strategy and risk management rules.
Prev D/W/M + Asia & London Levels [Oeditrades]Prev D/W/M + Asia & London Levels
Author: Oeditrades
Platform: Pine Script® v6
What it does
Plots only the most recent, fully completed:
Previous Day / Week / Month highs & lows
Asia and London session highs & lows
Levels are drawn as true horizontal lines from the period/session start and extended to the right for easy confluence reading. The script is non-repainting.
How it works
Prev Day/Week/Month: Uses completed HTF candles (high / low ) so values are fixed for the entire next period.
Sessions (NY time): Asia (default 20:00–03:00) and London (default 03:00–08:00) are tracked in America/New_York time. High/low are locked when the session ends, and the line is anchored at that session’s start.
Inputs & customization
Visibility: toggle Previous Day/Week/Month, Asia, London, and labels.
Colors: highs default red; lows default green (user-configurable). Session highs default pink, lows aqua (also editable).
Style: line style (solid/dotted/dashed) and width.
Sessions: editable time windows for Asia and London (still interpreted in New York time).
Disclaimer: optional on-chart disclaimer panel with editable text.
Notes
Works on any timeframe. For intraday charts, the HTF values remain constant until the next HTF bar completes.
If your market’s overnight hours differ, simply adjust the session windows in Inputs.
Lines intentionally show only the latest completed period/session to keep charts clean.
Use cases
Quick view of PDH/PDL, PWH/PWL, PMH/PML for bias and liquidity.
Intraday planning around Asia/London range breaks, retests, and overlaps with prior levels.
Disclaimer
This tool is for educational purposes only and is not financial advice. Markets involve risk; past performance does not guarantee future results.
Dynamic OHLC levels(Day/Week/Month/6M/Year)+Open MarkerThis indicator automatically displays the Open, High, Low, and Close (OHLC) levels from the previous trading period directly on your chart. It's a versatile tool for identifying key support and resistance zones based on historical price action. The indicator offers a unique "Auto" mode that intelligently selects the most relevant time frame (Daily, Weekly, Monthly, 6M, or Yearly) based on your current chart's time frame. Alternatively, you can choose a specific time frame in "Manual" mode.
The indicator is designed to provide traders with clear visual cues for important price levels, helping them make more informed trading decisions. It's a valuable resource for both intraday and swing traders, as these levels often act as significant psychological barriers and turning points in the market.
Key Benefits 🎯
Identifies Key Levels Instantly: Automatically plots crucial support and resistance levels from the previous session, saving you time and effort.
Adaptable & Versatile: The "Auto" mode intelligently adjusts to your chart's time frame, ensuring you always see the most relevant OHLC levels.
Customizable: You have full control over which levels to display (High, Low, Open, Close), their colors, line styles, and thickness.
Visual Clarity: The option to highlight the area between the previous high and low provides a clear visual representation of the past session's range.
Multi-Session Support: It supports both Regular Trading Hours (RTH) and Extended Trading Hours (ETH), with a configurable timezone, making it globally applicable.
Core Features ✨
Dynamic Timeframe Selection:
Auto Mode: Automatically displays previous Day OHLC on intraday charts (e.g., 1-hour), previous Week OHLC on daily charts, and so on.
Manual Mode: Allows you to explicitly choose between previous Day, Week, Month, 6-Month, or Year OHLC levels.
Customizable Visuals:
Show Previous High: Plots the highest price of the previous period.
Show Previous Low: Plots the lowest price of the previous period.
Show Previous Open: Plots the opening price of the previous period.
Show Previous Close: Plots the closing price of the previous period.
Show Current Open Marker Line: A separate line that marks the open of the current period.
Highlight Area: Fills the space between the previous high and low with a customizable color.
Global Trading Support:
Session Mode: Choose to display levels based on Regular Trading Hours, Extended Hours, or both.
Timezone Selection: Configure the session timezone to align with major markets like New York, London, Tokyo, or Kolkata.
Line Styling: Adjust the line thickness, style (Solid, Dashed, Dotted), and transparency for each level to match your chart's aesthetics.
Labels: Toggle on/off text labels that clearly identify each plotted level (e.g., "PDH" for Previous Day High).
Who is this indicator for? 👤
This indicator is a powerful tool for a wide range of traders looking to incorporate historical price action into their analysis.
Intraday Traders: Can use the previous Daily OHLC levels to identify potential support/resistance for breakouts and reversals during the trading day.
Swing Traders: Can leverage the previous Weekly, Monthly, or Yearly OHLC levels on higher time frames to spot long-term trend continuation or reversal points.
Day Traders: Use the Previous Daily High/Low to frame the day's trading range and identify key levels for potential mean-reversion trades.
Technical Analysts: Those who rely on key levels and price action will find this indicator invaluable for their analysis.
This indicator simplifies a crucial part of technical analysis, providing a clean, customizable, and adaptive way to visualize and trade off of historical price levels.
Cumulative Volume Delta (SB-1) 2.0
📈 Cumulative Volume Delta (CVD) — Stair-Step + Threshold Alerts
🔍 Overview
This Cumulative Volume Delta (CVD) tool visualizes aggressive buying and selling pressure in the market by plotting candlestick-style bars based on volume delta. It helps traders understand which side — buyers or sellers — is exerting more control on lower timeframes and highlights momentum shifts through stair-step patterns and delta threshold breaks. Resets to zero at EOD
Ideal for futures traders, scalpers, and intraday strategists looking for orderflow-based confirmation.
🧠 What Is CVD?
CVD (Cumulative Volume Delta) measures the difference between market buys and sells over a specific timeframe. When the delta is rising, it suggests buyers are being more aggressive. Falling delta suggests seller dominance.
This script aggregates volume delta from a lower timeframe and plots it in a higher timeframe context, allowing you to track microstructure shifts within larger candles.
📊 Features
✅ CVD Candlesticks
Each bar represents volume delta as an OHLC-style candle using:
Open: Delta at the start of the bar
High/Low: Peak delta range
Close: Final delta value at bar close
Teal candles = Net buying pressure
Red candles = Net selling pressure
✅ Threshold Levels (Key Visual Zones)
The script includes horizontal dashed lines at:
+5,000 and +10,000 → Signify strong buying pressure
-5,000 and -10,000 → Signify strong selling pressure
0 line → Neutrality line (no net pressure)
These levels act as volume-based support/resistance zones and breakout confirmation tools. For example:
A CVD cross above +5,000 shows buyers taking control
A CVD cross above +10,000 implies strong bullish momentum
A CVD cross below -5,000 or -10,000 signals intense selling pressure
📈 Stair-Step Pattern Detection
Detects two specific volume-based continuation setups:
Bullish Stair-Step: Both the high and low of the CVD candle are higher than the previous candle
Bearish Stair-Step: Both the high and low of the CVD candle are lower than the previous candle
These patterns often appear during trending moves and serve as confirmation of strength or continuation.
Visual markers:
🟢 Green triangles below bars = Bullish stair-step
🔴 Red triangles above bars = Bearish stair-step
🔔 Alert Conditions
Get real-time alerts when:
Bullish Stair-Step is detected
Bearish Stair-Step is detected
CVD crosses above +5,000
CVD crosses below -5,000
📢 Alerts only trigger on crossover, not every time CVD remains above or below. This avoids repetitive notifications.
⚙️ Inputs & Customization
Anchor Timeframe: The higher timeframe to which CVD data is applied (default: 1D)
Lower Timeframe: The timeframe used to calculate the CVD delta (default: 5 minutes)
Optional Override: Use custom timeframe toggle to force your own micro timeframe
📌 How to Use This CVD Indicator (Step-by-Step Guide)
✅ 1. Confirm Bias Using the Zero Line
The zero line (0 CVD) represents neutral pressure — neither buyers nor sellers are dominating.
Use it as your first filter:
🔼 If CVD is above 0 and rising → Buyer control
🔽 If CVD is below 0 and falling → Seller control
🧠 Tip: CVD rising while price is consolidating may signal hidden buyer interest.
✅ 2. Watch for Crosses of Key Levels: +5,000 and +10,000
These levels act as momentum thresholds:
Level Signal Type What It Means
+5,000 Buyer breakout Buyers are starting to dominate
+10,000 Strong bull bias Strong institutional or algorithmic buying flow
-5,000 Seller breakout Sellers are taking control
-10,000 Strong bear bias Heavy selling pressure is entering the market
Wait for CVD to cross above +5K or below -5K to confirm the active side.
Use these crossovers as entry triggers, breakout confirmations, or trade filters.
🔔 Alerts fire only when the level is first crossed, not every bar above/below.
✅ 3. Use Stair-Step Patterns for Continuation Confirmation
The indicator shows stair-step patterns using triangle signals:
🟢 Green triangle below bar = Bullish stair-step
Suggests a higher high and higher low in delta → buyers stepping up
🔴 Red triangle above bar = Bearish stair-step
Suggests lower highs and lower lows in delta → selling pressure building
Use stair-step signals:
To confirm a continuation of trend
As an entry or add-on signal
Especially after a threshold breakout
🧠 Example: If CVD breaks above +5K and forms bullish stairs → confirms strong trend, ideal for momentum entries.
✅ 4. Combine with Price Action or Structure
CVD works best when used with price, not in isolation. For example:
📉 Price makes a new low but CVD doesn’t → potential bullish divergence
📈 CVD surges while price lags → buyers are absorbing, breakout likely
Use it with:
VWAP
Orderblocks
Liquidity sweeps
Break of market structure/MSS/BOS
✅ 5.
Set Anchor Timeframe = Daily
Set Lower Timeframe = 5 minutes (default)
This lets you:
See intraday flow inside daily bars
Confirm whether a daily candle is being built on net buying or selling
🧠 You’re essentially seeing intra-bar aggression within a bigger time structure.
🧭 Example Trading Setup
Bullish Scenario:
CVD is rising and above 0
CVD crosses above +5,000 → alert fires
Green stair-step appears
Price breaks local resistance or liquidity sweep completes
✅ Consider long entry with structure and CVD alignment
🎯 Place stops below last stair-step or structural low
📌 Final Notes
This tool does not repaint and is designed to work in real-time across all futures, crypto, and equity instruments that support volume data. If your symbol does not provide volume, the script will notify you.
Use it in confluence with VWAP, liquidity zones, or structure breaks for high-confidence trades.
Previous Levels by HAZEDPrevious Day/Week/Month High/Low Levels with 50% Equilibrium
🎯 Key Features:
- Previous Period Levels: Automatically plots previous Day, Week, and Month highs and lows
- 50% Equilibrium Zones: Shows the midpoint between each period's high and low
- Precise Line Placement: Lines start from the exact bar where the high/low occurred (not period beginning)
- Clean Visual Design: Solid lines for key levels, semi-transparent for equilibrium zones
- Customizable Display: Toggle each timeframe independently with custom colors and styles
📊 How It Works:
The indicator identifies the previous period's high and low points, then draws horizontal lines starting from the exact time those levels were created. The 50% equilibrium levels mark the midpoint between each period's range, providing additional support/resistance reference points.
⚙️ Settings:
- Timeframe Controls: Enable/disable Daily, Weekly, Monthly levels
- Line Styles: Choose between solid, dashed, or dotted lines
- Color Customization: Set individual colors for each timeframe
- Label Options: Show/hide price values, adjust label size
- 50% Levels: Toggle equilibrium zones with semi-transparent styling
💡 Trading Applications:
- Support & Resistance: Previous highs/lows act as key S/R levels
- Breakout Trading: Monitor price action around these critical levels
- Mean Reversion: 50% equilibrium zones often act as magnet levels
- Multi-Timeframe Analysis: See how different timeframe levels interact
🔧 Technical Notes:
- Lines extend to the right for future reference
- Only shows levels when chart timeframe is equal or lower than the level timeframe
- Uses precise historical data to ensure accurate line placement
- Optimized for performance with clean code structure
Perfect for swing traders, day traders, and anyone using support/resistance analysis!
Feel free to leave feedback and suggestions for future updates!