Digital ClockCustomizable Digital Clock mostly for Scalping, Day Trading and if you just need to see the clock very near to your eyes and have some indication that a minute is almost over
Indicators and strategies
엘리어트 파동 3의 3파//@version=5
indicator("Elliott Wave — 3 of 3 Detector (v5)", overlay=true, timeframe_gaps=true)
// === Inputs ===
pivotLen = input.int(5, "Pivot length (bars each side)", minval=2)
subPivotLen = input.int(3, "Sub-pivot length (internal waves)", minval=2)
retrMin = input.float(0.382, "Wave 2 retracement min", minval=0.1, maxval=0.9, step=0.001)
retrMax = input.float(0.786, "Wave 2 retracement max", minval=0.1, maxval=0.95, step=0.001)
subRetrMin = input.float(0.382, "Subwave 2 retracement min", minval=0.1, maxval=0.9, step=0.001)
subRetrMax = input.float(0.618, "Subwave 2 retracement max", minval=0.1, maxval=0.95, step=0.001)
useRSI = input.bool(true, "Require RSI > threshold")
rsiPeriod = input.int(14, "RSI period", minval=2)
rsiThresh = input.float(55.0, "RSI threshold", minval=40, maxval=70)
useMACD = input.bool(true, "Require MACD histogram > 0")
fastLen = input.int(12, "MACD fast EMA", minval=2)
slowLen = input.int(26, "MACD slow EMA", minval=2)
signalLen = input.int(9, "MACD signal", minval=1)
useEMAFilter = input.bool(true, "Require trend filter (EMA50 > EMA200)")
useVolFilter = input.bool(false, "Require volume > volume MA")
volMaLen = input.int(20, "Volume MA length", minval=1)
plotZigs = input.bool(true, "Plot swing lines")
showLabels = input.bool(true, "Show wave labels")
// === Helpers ===
rsi = ta.rsi(close, rsiPeriod)
macdLine = ta.ema(close, fastLen) - ta.ema(close, slowLen)
signal = ta.ema(macdLine, signalLen)
hist = macdLine - signal
ema50 = ta.ema(close, 50)
ema200 = ta.ema(close, 200)
volMa = ta.sma(volume, volMaLen)
bool momentumOK = (not useRSI or rsi > rsiThresh) and (not useMACD or hist > 0)
bool trendOK = (not useEMAFilter or ema50 > ema200)
bool volOK = (not useVolFilter or volume > volMa)
// === Swing detection (basic pivot-based zigzag) ===
var float pivPrice = array.new_float()
var int pivIndex = array.new_int()
var int pivType = array.new_int() // +1 = swing high, -1 = swing low
ph = ta.pivothigh(high, pivotLen, pivotLen)
pl = ta.pivotlow(low, pivotLen, pivotLen)
f_addPivot(_price, _index, _type) =>
// avoid duplicate consecutive types
if array.size(pivType) > 0 and array.get(pivType, array.size(pivType)-1) == _type
// replace last pivot if same type and is more extreme in same direction
lastPrice = array.get(pivPrice, array.size(pivPrice)-1)
replace = (_type == 1 and _price > lastPrice) or (_type == -1 and _price < lastPrice)
if replace
array.set(pivPrice, array.size(pivPrice)-1, _price)
array.set(pivIndex, array.size(pivIndex)-1, _index)
else
array.push(pivPrice, _price)
array.push(pivIndex, _index)
array.push(pivType, _type)
if not na(ph)
f_addPivot(ph, bar_index - pivotLen, 1)
if not na(pl)
f_addPivot(pl, bar_index - pivotLen, -1)
// Keep arrays from growing unbounded
maxKeep = 200
if array.size(pivPrice) > maxKeep
for _i = 0 to array.size(pivPrice) - maxKeep - 1
array.shift(pivPrice)
array.shift(pivIndex)
array.shift(pivType)
// === Utility to get recent Nth pivot from the end ===
getPrice(n) => array.get(pivPrice, array.size(pivPrice) - 1 - n)
getIndex(n) => array.get(pivIndex, array.size(pivIndex) - 1 - n)
getType(n) => array.get(pivType, array.size(pivType) - 1 - n)
haveAtLeast(n) => array.size(pivPrice) >= n
// === Identify bullish 1-2 structure ===
bool has12 = false
float L0 = na, H1 = na, L2 = na
int L0i = na, H1i = na, L2i = na
if haveAtLeast(3)
// We want last three alternating pivots to be: low (L0), high (H1), low (L2)
t0 = getType(2)
t1 = getType(1)
t2 = getType(0)
if t0 == -1 and t1 == 1 and t2 == -1
L0 := getPrice(2)
H1 := getPrice(1)
L2 := getPrice(0)
L0i := getIndex(2)
H1i := getIndex(1)
L2i := getIndex(0)
// Retracement check for wave 2
wave1 = H1 - L0
retr = wave1 != 0 ? (H1 - L2) / wave1 : na
has12 := wave1 > 0 and not na(retr) and retr >= retrMin and retr <= retrMax
// === Wave 3 start (break above H1) ===
bool wave3Start = has12 and close > H1 and bar_index > H1i
// === Internal subwave 1-2 inside wave 3 using tighter sub-pivots ===
// We'll compute a separate list of sub-pivots since L2 to now, using smaller length
var float spPrice = array.new_float()
var int spIndex = array.new_int()
var int spType = array.new_int()
sph = ta.pivothigh(high, subPivotLen, subPivotLen)
spl = ta.pivotlow(low, subPivotLen, subPivotLen)
f_addSubPivot(_price, _index, _type) =>
if array.size(spType) > 0 and array.get(spType, array.size(spType)-1) == _type
lastPrice = array.get(spPrice, array.size(spPrice)-1)
replace = (_type == 1 and _price > lastPrice) or (_type == -1 and _price < lastPrice)
if replace
array.set(spPrice, array.size(spPrice)-1, _price)
array.set(spIndex, array.size(spIndex)-1, _index)
else
array.push(spPrice, _price)
array.push(spIndex, _index)
array.push(spType, _type)
// Reset sub-pivots after L2 to only track internal wave structure of current move
var int lastL2iTracked = na
if not na(L2i)
if na(lastL2iTracked) or L2i != lastL2iTracked
array.clear(spPrice)
array.clear(spIndex)
array.clear(spType)
lastL2iTracked := L2i
if not na(sph) and (na(L2i) or (bar_index - subPivotLen) >= L2i)
f_addSubPivot(sph, bar_index - subPivotLen, 1)
if not na(spl) and (na(L2i) or (bar_index - subPivotLen) >= L2i)
f_addSubPivot(spl, bar_index - subPivotLen, -1)
// Find subwave 1-2 (sL0 -> sH1 -> sL2) after L2
bool hasSub12 = false
float sL0 = na, sH1 = na, sL2 = na
int sL0i = na, sH1i = na, sL2i = na
if array.size(spPrice) >= 3
st0 = array.get(spType, array.size(spType) - 3)
st1 = array.get(spType, array.size(spType) - 2)
st2 = array.get(spType, array.size(spType) - 1)
if st0 == -1 and st1 == 1 and st2 == -1
sL0 := array.get(spPrice, array.size(spPrice) - 3)
sH1 := array.get(spPrice, array.size(spPrice) - 2)
sL2 := array.get(spPrice, array.size(spPrice) - 1)
sL0i := array.get(spIndex, array.size(spIndex) - 3)
sH1i := array.get(spIndex, array.size(spIndex) - 2)
sL2i := array.get(spIndex, array.size(spIndex) - 1)
// Sub retracement check
sw1 = sH1 - sL0
sRetr = sw1 != 0 ? (sH1 - sL2) / sw1 : na
hasSub12 := sw1 > 0 and not na(sRetr) and sRetr >= subRetrMin and sRetr <= subRetrMax
// === 3 of 3 trigger ===
bool threeOfThree = wave3Start and hasSub12 and close > sH1 and bar_index > sH1i and momentumOK and trendOK and volOK
// === Plotting ===
color upCol = color.new(color.lime, 0)
color dnCol = color.new(color.red, 0)
color neutCol = color.new(color.gray, 60)
plotshape(threeOfThree, title="3 of 3 Buy Signal", style=shape.triangleup, location=location.belowbar, size=size.large, color=upCol, text="3/3")
// Mark the 1-2 and sub 1-2 swings
if showLabels and has12
label.new(H1i, H1, text="1", style=label.style_label_up, color=color.new(color.green, 0))
label.new(L2i, L2, text="2", style=label.style_label_down, color=color.new(color.orange, 0))
if showLabels and hasSub12
label.new(sH1i, sH1, text="(i)", style=label.style_label_up, color=color.new(color.green, 60))
label.new(sL2i, sL2, text="(ii)", style=label.style_label_down, color=color.new(color.orange, 60))
// Draw swing lines
f_plotZigzag() =>
if array.size(pivPrice) >= 2 and plotZigs
for i = 1 to 1
x1 = array.get(pivIndex, array.size(pivIndex) - 2)
y1 = array.get(pivPrice, array.size(pivPrice) - 2)
x2 = array.get(pivIndex, array.size(pivIndex) - 1)
y2 = array.get(pivPrice, array.size(pivPrice) - 1)
line.new(x1, y1, x2, y2, extend=extend.none, color=neutCol, width=1)
f_plotZigzag()
// Visual filters
plot(ema50, color=color.new(color.teal, 0), title="EMA50")
plot(ema200, color=color.new(color.blue, 0), title="EMA200")
bgcolor(threeOfThree ? color.new(color.lime, 85) : na)
// === Alerts ===
alertcondition(threeOfThree, title="3 of 3 long", message="3 of 3 long setup on {{ticker}} {{interval}} — price has broken above subwave (i) high with momentum.")
// === Notes ===
// Heuristic detector:
// 1) Find L0-H1-L2 with L2 retracing 38.2%–78.6% of wave 1.
// 2) Confirm wave 3 start when price breaks above H1.
// 3) Inside wave 3, find sub L0-H1-L2 using tighter sub-pivots with 38.2%–61.8% retracement.
// 4) Trigger 3 of 3 when price breaks above subwave (i) high with momentum/trend/volume filters.
// Tune pivotLen/subPivotLen and thresholds to match your instrument and timeframe.
Piman2077: Previous Day Volume Profile levelsPrevious Day Volume Profile Indicator
Description:
Previous Day Volume Profile Indicator plots the previous trading session’s Volume Profile key levels directly on your chart, providing clear reference points for intraday trading. This indicator calculates the Value Area High (VAH), Value Area Low (VAL), and Point of Control (POC) from the prior session and projects them across the current trading day, helping traders identify potential support, resistance, and high-volume zones.
Features:
Calculates previous day VAH, VAL, and POC based on a user-defined session (default 09:30–16:00).
Uses Volume Profile bins for precise distribution calculation.
Fully customizable line colors for VAH, VAL, and POC.
Lines extend across the current session for easy intraday reference.
Works on any timeframe, optimized for 1-minute charts for precision.
Optional toggles to show/hide VAH, VAL, and POC individually.
Inputs:
Session Time: Define the trading session for which the volume profile is calculated.
Profile Bins: Number of price intervals used to divide the session range.
Value Area %: Percentage of volume to include in the value area (default 68%).
Show POC / VAH & VAL: Toggle visibility of each level.
Line Colors: Customize VAH, VAL, and POC colors.
Use Cases:
Identify previous session support and resistance levels for intraday trading.
Gauge areas of high liquidity and potential market reaction zones.
Combine with other indicators or price action strategies for improved entries and exits.
Recommended Timeframe:
Works on all timeframes; best used on 1-minute or 5-minute charts for precise intraday analysis.
Seasonality Monte Carlo Forecaster [BackQuant]Seasonality Monte Carlo Forecaster
Plain-English overview
This tool projects a cone of plausible future prices by combining two ideas that traders already use intuitively: seasonality and uncertainty. It watches how your market typically behaves around this calendar date, turns that seasonal tendency into a small daily “drift,” then runs many randomized price paths forward to estimate where price could land tomorrow, next week, or a month from now. The result is a probability cone with a clear expected path, plus optional overlays that show how past years tended to move from this point on the calendar. It is a planning tool, not a crystal ball: the goal is to quantify ranges and odds so you can size, place stops, set targets, and time entries with more realism.
What Monte Carlo is and why quants rely on it
• Definition . Monte Carlo simulation is a way to answer “what might happen next?” when there is randomness in the system. Instead of producing a single forecast, it generates thousands of alternate futures by repeatedly sampling random shocks and adding them to a model of how prices evolve.
• Why it is used . Markets are noisy. A single point forecast hides risk. Monte Carlo gives a distribution of outcomes so you can reason in probabilities: the median path, the 68% band, the 95% band, tail risks, and the chance of hitting a specific level within a horizon.
• Core strengths in quant finance .
– Path-dependent questions : “What is the probability we touch a stop before a target?” “What is the expected drawdown on the way to my objective?”
– Pricing and risk : Useful for path-dependent options, Value-at-Risk (VaR), expected shortfall (CVaR), stress paths, and scenario analysis when closed-form formulas are unrealistic.
– Planning under uncertainty : Portfolio construction and rebalancing rules can be tested against a cloud of plausible futures rather than a single guess.
• Why it fits trading workflows . It turns gut feel like “seasonality is supportive here” into quantitative ranges: “median path suggests +X% with a 68% band of ±Y%; stop at Z has only ~16% odds of being tagged in N days.”
How this indicator builds its probability cone
1) Seasonal pattern discovery
The script builds two day-of-year maps as new data arrives:
• A return map where each calendar day stores an exponentially smoothed average of that day’s log return (yesterday→today). The smoothing (90% old, 10% new) behaves like an EWMA, letting older seasons matter while adapting to new information.
• A volatility map that tracks the typical absolute return for the same calendar day.
It calculates the day-of-year carefully (with leap-year adjustment) and indexes into a 365-slot seasonal array so “March 18” is compared with past March 18ths. This becomes the seasonal bias that gently nudges simulations up or down on each forecast day.
2) Choice of randomness engine
You can pick how the future shocks are generated:
• Daily mode uses a Gaussian draw with the seasonal bias as the mean and a volatility that comes from realized returns, scaled down to avoid over-fitting. It relies on the Box–Muller transform internally to turn two uniform random numbers into one normal shock.
• Weekly mode uses bootstrap sampling from the seasonal return history (resampling actual historical daily drifts and then blending in a fraction of the seasonal bias). Bootstrapping is robust when the empirical distribution has asymmetry or fatter tails than a normal distribution.
Both modes seed their random draws deterministically per path and day, which makes plots reproducible bar-to-bar and avoids flickering bands.
3) Volatility scaling to current conditions
Markets do not always live in average volatility. The engine computes a simple volatility factor from ATR(20)/price and scales the simulated shocks up or down within sensible bounds (clamped between 0.5× and 2.0×). When the current regime is quiet, the cone narrows; when ranges expand, the cone widens. This prevents the classic mistake of projecting calm markets into a storm or vice versa.
4) Many futures, summarized by percentiles
The model generates a matrix of price paths (capped at 100 runs for performance inside TradingView), each path stepping forward for your selected horizon. For each forecast day it sorts the simulated prices and pulls key percentiles:
• 5th and 95th → approximate 95% band (outer cone).
• 16th and 84th → approximate 68% band (inner cone).
• 50th → the median or “expected path.”
These are drawn as polylines so you can immediately see central tendency and dispersion.
5) A historical overlay (optional)
Turn on the overlay to sketch a dotted path of what a purely seasonal projection would look like for the next ~30 days using only the return map, no randomness. This is not a forecast; it is a visual reminder of the seasonal drift you are biasing toward.
Inputs you control and how to think about them
Monte Carlo Simulation
• Price Series for Calculation . The source series, typically close.
• Enable Probability Forecasts . Master switch for simulation and drawing.
• Simulation Iterations . Requested number of paths to run. Internally capped at 100 to protect performance, which is generally enough to estimate the percentiles for a trading chart. If you need ultra-smooth bands, shorten the horizon.
• Forecast Days Ahead . The length of the cone. Longer horizons dilute seasonal signal and widen uncertainty.
• Probability Bands . Draw all bands, just 95%, just 68%, or a custom level (display logic remains 68/95 internally; the custom number is for labeling and color choice).
• Pattern Resolution . Daily leans on day-of-year effects like “turn-of-month” or holiday patterns. Weekly biases toward day-of-week tendencies and bootstraps from history.
• Volatility Scaling . On by default so the cone respects today’s range context.
Plotting & UI
• Probability Cone . Plots the outer and inner percentile envelopes.
• Expected Path . Plots the median line through the cone.
• Historical Overlay . Dotted seasonal-only projection for context.
• Band Transparency/Colors . Customize primary (outer) and secondary (inner) band colors and the mean path color. Use higher transparency for cleaner charts.
What appears on your chart
• A cone starting at the most recent bar, fanning outward. The outer lines are the ~95% band; the inner lines are the ~68% band.
• A median path (default blue) running through the center of the cone.
• An info panel on the final historical bar that summarizes simulation count, forecast days, number of seasonal patterns learned, the current day-of-year, expected percentage return to the median, and the approximate 95% half-range in percent.
• Optional historical seasonal path drawn as dotted segments for the next 30 bars.
How to use it in trading
1) Position sizing and stop logic
The cone translates “volatility plus seasonality” into distances.
• Put stops outside the inner band if you want only ~16% odds of a stop-out due to noise before your thesis can play.
• Size positions so that a test of the inner band is survivable and a test of the outer band is rare but acceptable.
• If your target sits inside the 68% band at your horizon, the payoff is likely modest; outside the 68% but inside the 95% can justify “one-good-push” trades; beyond the 95% band is a low-probability flyer—consider scaling plans or optionality.
2) Entry timing with seasonal bias
When the median path slopes up from this calendar date and the cone is relatively narrow, a pullback toward the lower inner band can be a high-quality entry with a tight invalidation. If the median slopes down, fade rallies toward the upper band or step aside if it clashes with your system.
3) Target selection
Project your time horizon to N bars ahead, then pick targets around the median or the opposite inner band depending on your style. You can also anchor dynamic take-profits to the moving median as new bars arrive.
4) Scenario planning & “what-ifs”
Before events, glance at the cone: if the 95% band already spans a huge range, trade smaller, expect whips, and avoid placing stops at obvious band edges. If the cone is unusually tight, consider breakout tactics and be ready to add if volatility expands beyond the inner band with follow-through.
5) Options and vol tactics
• When the cone is tight : Prefer long gamma structures (debit spreads) only if you expect a regime shift; otherwise premium selling may dominate.
• When the cone is wide : Debit structures benefit from range; credit spreads need wider wings or smaller size. Align with your separate IV metrics.
Reading the probability cone like a pro
• Cone slope = seasonal drift. Upward slope means the calendar has historically favored positive drift from this date, downward slope the opposite.
• Cone width = regime volatility. A widening fan tells you that uncertainty grows fast; a narrow cone says the market typically stays contained.
• Mean vs. price gap . If spot trades well above the median path and the upper band, mean-reversion risk is high. If spot presses the lower inner band in an up-sloping cone, you are in the “buy fear” zone.
• Touches and pierces . Touching the inner band is common noise; piercing it with momentum signals potential regime change; the outer band should be rare and often brings snap-backs unless there is a structural catalyst.
Methodological notes (what the code actually does)
• Log returns are used for additivity and better statistical behavior: sim_ret is applied via exp(sim_ret) to evolve price.
• Seasonal arrays are updated online with EWMA (90/10) so the model keeps learning as each bar arrives.
• Leap years are handled; indexing still normalizes into a 365-slot map so the seasonal pattern remains stable.
• Gaussian engine (Daily mode) centers shocks on the seasonal bias with a conservative standard deviation.
• Bootstrap engine (Weekly mode) resamples from observed seasonal returns and adds a fraction of the bias, which captures skew and fat tails better.
• Volatility adjustment multiplies each daily shock by a factor derived from ATR(20)/price, clamped between 0.5 and 2.0 to avoid extreme cones.
• Performance guardrails : simulations are capped at 100 paths; the probability cone uses polylines (no heavy fills) and only draws on the last confirmed bar to keep charts responsive.
• Prerequisite data : at least ~30 seasonal entries are required before the model will draw a cone; otherwise it waits for more history.
Strengths and limitations
• Strengths :
– Probabilistic thinking replaces single-point guessing.
– Seasonality adds a small but meaningful directional bias that many markets exhibit.
– Volatility scaling adapts to the current regime so the cone stays realistic.
• Limitations :
– Seasonality can break around structural changes, policy shifts, or one-off events.
– The number of paths is performance-limited; percentile estimates are good for trading, not for academic precision.
– The model assumes tomorrow’s randomness resembles recent randomness; if regime shifts violently, the cone will lag until the EWMA adapts.
– Holidays and missing sessions can thin the seasonal sample for some assets; be cautious with very short histories.
Tuning guide
• Horizon : 10–20 bars for tactical trades; 30+ for swing planning when you care more about broad ranges than precise targets.
• Iterations : The default 100 is enough for stable 5/16/50/84/95 percentiles. If you crave smoother lines, shorten the horizon or run on higher timeframes.
• Daily vs. Weekly : Daily for equities and crypto where month-end and turn-of-month effects matter; Weekly for futures and FX where day-of-week behavior is strong.
• Volatility scaling : Keep it on. Turn off only when you intentionally want a “pure seasonality” cone unaffected by current turbulence.
Workflow examples
• Swing continuation : Cone slopes up, price pulls into the lower inner band, your system fires. Enter near the band, stop just outside the outer line for the next 3–5 bars, target near the median or the opposite inner band.
• Fade extremes : Cone is flat or down, price gaps to the upper outer band on news, then stalls. Favor mean-reversion toward the median, size small if volatility scaling is elevated.
• Event play : Before CPI or earnings on a proxy index, check cone width. If the inner band is already wide, cut size or prefer options structures that benefit from range.
Good habits
• Pair the cone with your entry engine (breakout, pullback, order flow). Let Monte Carlo do range math; let your system do signal quality.
• Do not anchor blindly to the median; recalc after each bar. When the cone’s slope flips or width jumps, the plan should adapt.
• Validate seasonality for your symbol and timeframe; not every market has strong calendar effects.
Summary
The Seasonality Monte Carlo Forecaster wraps institutional risk planning into a single overlay: a data-driven seasonal drift, realistic volatility scaling, and a probabilistic cone that answers “where could we be, with what odds?” within your trading horizon. Use it to place stops where randomness is less likely to take you out, to set targets aligned with realistic travel, and to size positions with confidence born from distributions rather than hunches. It will not predict the future, but it will keep your decisions anchored to probabilities—the language markets actually speak.
Rolling VWAP 7D/30D/90D/180D/365DI love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you I love you
EMA Golden & Death Cross with Profit Takingjust showing golden crosses and death crosses based on ema lines
Elliott Wave - Impulse + Corrective Detector (Demo) เทคนิคการใช้
สำหรับมือใหม่
ดูเฉพาะ Impulse Wave ก่อน
เทรดตาม direction ของ impulse
ใช้ Fibonacci เป็น support/resistance
สำหรับ Advanced
ใช้ Corrective Wave หาจุด reversal
รวม Triangle กับ breakout strategy
ใช้ Complex correction วางแผนระยะยาว
⚙️ การปรับแต่ง
ถ้าเจอ Pattern น้อยเกินไป
ลด Swing Length เป็น 3-4
เพิ่ม Max History เป็น 500
ถ้าเจอ Pattern เยอะเกินไป
เพิ่ม Swing Length เป็น 8-12
ปิด patterns ที่ไม่ต้องการ
สำหรับ Timeframe ต่างๆ
H1-H4: Swing Length = 5-8
Daily: Swing Length = 3-5
Weekly: Swing Length = 2-3
⚠️ ข้อควรระวัง
Elliott Wave เป็น subjective analysis
ใช้ร่วมกับ indicators อื่นๆ
Backtest ก่อนใช้เงินจริง
Pattern อาจเปลี่ยนได้ตลอดเวลา
🎓 สรุป
โค้ดนี้เป็นเครื่องมือช่วยวิเคราะห์ Elliott Wave ที่:
✅ ใช้งานง่าย
✅ ตรวจจับอัตโนมัติ
✅ มี confidence scoring
✅ แสดงผล Fibonacci levels
✅ ส่ง alerts เรียลไทม์
เหมาะสำหรับ: Trader ที่ต้องการใช้ Elliott Wave ในการวิเคราะห์เทคนิค แต่ไม่มีเวลานั่งหา pattern เอง
💡 Usage Tips
For Beginners
Focus on Impulse Waves first
Trade in the direction of impulse
Use Fibonacci as support/resistance levels
For Advanced Users
Use Corrective Waves to find reversal points
Combine Triangles with breakout strategies
Use Complex corrections for long-term planning
⚙️ Customization
If You See Too Few Patterns
Decrease Swing Length to 3-4
Increase Max History to 500
If You See Too Many Patterns
Increase Swing Length to 8-12
Turn off unwanted pattern types
For Different Timeframes
H1-H4: Swing Length = 5-8
Daily: Swing Length = 3-5
Weekly: Swing Length = 2-3
⚠️ Important Warnings
Elliott Wave is subjective analysis
Use with other technical indicators
Backtest before using real money
Patterns can change at any time
🔧 Troubleshooting
No Patterns Showing
Check if you have enough price history
Adjust Swing Length settings
Make sure pattern detection is enabled
Too Many False Signals
Increase confidence threshold requirements
Use higher timeframes
Combine with trend analysis
Performance Issues
Reduce Max History setting
Turn off unnecessary visual elements
Use on liquid markets only
📈 Trading Applications
Entry Strategies
Wave 3 Entry: After Wave 2 completion (61.8%-78.6% retracement)
Wave 5 Target: Equal to Wave 1 or Fibonacci extensions
Corrective Bounce: Trade reversals at C wave completion
Risk Management
Stop Loss: Beyond pattern invalidation levels
Take Profit: Fibonacci extension targets
Position Sizing: Based on pattern confidence
🎓 Summary
This code is an Elliott Wave analysis tool that offers:
✅ Easy to use interface
✅ Automatic pattern detection
✅ Confidence scoring system
✅ Fibonacci level display
✅ Real-time alerts
Perfect for: Traders who want to use Elliott Wave analysis but don't have time to manually identify patterns.
📚 Quick Reference
Pattern Hierarchy (Most to Least Reliable)
Impulse Waves (90% confidence)
Expanded Flats (85% confidence)
Zigzags (80% confidence)
Triangles (75% confidence)
Complex Corrections (70% confidence)
Best Practices
Start with higher timeframes for main trend
Use lower timeframes for precise entries
Always confirm with volume and momentum
Don't trade against strong fundamental news
Keep a trading journal to track performance
Remember: Elliott Wave is an art as much as a science. This tool helps identify potential patterns, but always use your judgment and additional analysis before making trading decisions.
ICT + ORB + VIXFix Confluence Signals (Panel)What it is
ICT + ORB + VIXFix Confluence Signals (Panel) is a signal-only Pine v5 indicator that prints clean BUY/SELL arrows when multiple filters align:
ICT structure: BOS / liquidity sweeps + 3-candle FVG with minimum size by ATR
Trend filter: EMA 50 vs EMA 200
ORB filter: opening-range breakout (custom session + minutes)
VIXFix filter: CM_Williams_VIX_Fix–style volatility spike (incl. inverted top)
Status panel: shows which filters are passing and why a signal didn’t fire
No orders are placed; it’s meant to identify trades and trigger alerts.
How signals are built (picky by design)
A BUY arrow paints when all enabled conditions are true:
Trend: EMA50 > EMA200 (or disabled)
ICT: BOS/sweep and bullish FVG (if enabled)
ORB: price breaks above ORB high after the ORB window closes (if enabled)
VIXFix: recent bottom spike within VIX_Lookback bars (if enabled)
A SELL arrow mirrors the above (downtrend, bearish FVG, break below ORB low, recent top spike).
Tip: Leave “Confirm Close Only” on for cleaner signals and fewer repaint-like artifacts.
Inputs (quick reference)
Use Trend (EMA 50/200): require higher-timeframe trend alignment
Use FVG / Use Sweep/BOS: ICT structure filters
SwingLen: pivot left/right length for swings (structure sensitivity)
MinFVG_ATR: minimum FVG size as a fraction of ATR (e.g., 0.20 = 20% ATR)
Session / ORB_Min / Plot_ORB: first N minutes after session open define the range
VIX_LB, VIX_BBLen, VIX_Mult, VIX_Lookback: VIXFix parameters (spike threshold + validity)
Confirm Close Only: only signal at bar close (recommended)
Show Status Panel: compact checklist explaining current filter states
Alerts
Create alerts on this indicator using “Once per bar close” (recommended) and these built-in conditions:
BUY Signal → message: ICT ORB VIXFix BUY
SELL Signal → message: ICT ORB VIXFix SELL
Recommended starting presets
NQ1! / ES1! (US session), intraday 1–5m
Confirm Close Only: ON
Use Trend: ON
Use FVG + Use Sweep/BOS: ON
SwingLen: 3–5
MinFVG_ATR: 0.20–0.30
Session: 0930–1600 (exchange time)
ORB_Min: 10–15
VIXFix: ON, VIX_Lookback 10–20
If you see too few signals, loosen MinFVG_ATR (e.g., 0.10) or temporarily turn off the VIXFix and ORB filters, then re-enable them.
What the panel tells you
Trend (UP/DN): EMA relationship
ICT Long/Short: whether structure/FVG requirements pass for each side
ORB Ready / Long/Short: whether the ORB window is complete and which side broke
VIX Long/Short: recent bottom/top spike validity
Signals: BUY/SELL computed this bar
Why none: quick text reason (trend / ict / orb / vix) if no signal
Notes & attribution
VIXFix is a re-implementation of the CM_Williams_VIX_Fix concept (plus inverted top).
ORB logic uses your chosen session; if your market differs, adjust Session or test on SPY/ES1!/NQ1!.
This is an indicator, not financial advice. Always validate on your instruments/timeframes.
Changelog
v1.0 – Initial release: ICT structure + FVG size by ATR, ORB breakout filter, VIXFix spike filter, trend filter, alerts, and status panel.
Tags
ICT, FVG, ORB, VIX, VIXFix, volatility, structure, BOS, sweep, breakout, EMA, futures, indices, NQ, ES, SPY, day trading, confluence, signals
PenguintrendThe PenguinTrend is a momentum oscillator that identifies optimal buy and sell opportunities by detecting oversold and overbought market conditions. When the background turns green (oversold) it suggests a potential buying opportunity. When the background turns red (overbought) it signals a potential selling opportunity. The indicator automatically adjusts for market volatility and only generates signals when both extreme conditions are present and momentum is shifting, helping filter out false signals in ranging markets.
Volume (K) & Value (Cr)shows value of a candle in crores
shows value of a candle in crores
shows value of a candle in crores
shows value of a candle in crores
shows value of a candle in crores
shows value of a candle in crores
Two Candle Comparison - TMPThis about comparison two candles in chart and gives some idea for entry. this is most suitable for 4H chart
Rolling Volatility BandsMake sure to view it from the 1D candlestick chart.
The Rolling Volatility Bands indicator provides a statistically-driven approach to visualizing expected daily price movements using true volatility calculations employed by professional options traders. Unlike traditional Bollinger Bands which use price standard deviation around a moving average, this indicator calculates actual daily volatility from log returns over customizable rolling periods (20-day and 60-day), then annualizes the volatility using the standard √252 formula before projecting forward-looking probability bands. The 1 Standard Deviation bands represent a ~68% probability zone where price is expected to trade the following day, while the 2 Standard Deviation bands capture ~95% of expected movements. This methodology mirrors how major exchanges calculate expected moves for earnings and FOMC events, making it invaluable for options strategies like iron condors during low-volatility periods (narrow bands) or directional plays when volatility expands. The indicator works on any timeframe while always utilizing daily candle data via security() calls, ensuring consistent volatility calculations regardless of your chart resolution, and includes real-time annualized volatility percentages plus daily expected range statistics for comprehensive market analysis.
Vegas Trend Filter[SpeculationLab]This script combines Vegas Tunnel trend filtering with Engulfing Pattern detection to identify trend-following reversal entries.
It uses multi-timeframe EMA tunnels to determine market direction, and filters signals by combining engulfing patterns with price proximity to the tunnel.
Key Features:
1. Vegas Tunnel Trend Filter
・Short tunnel: 144 EMA & 169 EMA
・Long tunnel: 576 EMA & 676 EMA
・Trend definition: Short tunnel entirely above/below the long tunnel
・ATR gap filter to avoid false signals when tunnels are overlapping
2.Engulfing Pattern Detection
・Mode options:
・Body: Current candle’s body fully engulfs the previous body
・Range (default): Current candle’s wicks fully cover the previous high/low range
・Optional “Require opposite previous candle” filter
3.Touch Filter
・Mode options:
・Body: Candle body touches/approaches the Vegas tunnel
・Wick (default): Candle wick touches/approaches the Vegas tunnel
・Adjustable tolerance for proximity detection
4.Short-Term Trend Filter
・Linear regression slope to identify pullbacks or rebounds
・Avoids entering mid-trend without a retracement
5.Signal Marking
・BUY: Trend up + touch filter + bullish engulfing + EMA data valid
・SELL: Trend down + touch filter + bearish engulfing + EMA data valid
・Signals are confirmed at candle close to avoid intrabar repainting
Originality Statement:
This script is originally developed by SpeculationLab , with all logic independently designed and coded by the author. Do not copy, resell, or publish under another name.
Disclaimer:
This script is for technical research and market analysis purposes only and does not constitute financial advice. Any trading decisions made based on this script are solely at the user’s own risk.
本脚本结合 Vegas 通道趋势过滤 与 吞没形态识别,用于识别顺势反转的交易机会。
通过多周期 EMA 构建的 Vegas 通道判断趋势方向,并结合吞没形态与价格接触通道的条件,过滤掉大部分低质量信号。
主要功能:
1.Vegas Tunnel 趋势过滤
・短周期隧道(144 EMA、169 EMA)与长周期隧道(576 EMA、676 EMA)
・趋势判定:短隧道整体高于/低于长隧道
・ATR 间距过滤,避免通道缠绕产生假信号
2.吞没形态识别(Engulfing Pattern)
・模式选择:
・Body:实体包裹前一根实体
・Range(默认):影线包裹前一根区间
・可选“上一根必须颜色相反”条件
3.接触判定(Touch Filter)
・模式选择:
・Body:实体接触/接近 Vegas 通道
・Wick(默认):影线接触/接近 Vegas 通道
・容差可调(Tolerance)
4.短期趋势过滤
・线性回归斜率判断短期回调或反弹
・避免顺势中途乱入
5.信号标记
・多头信号(BUY):顺势 + 接触通道 + 符合吞没条件 + EMA 数据有效
・空头信号(SELL):顺势 + 接触通道 + 符合吞没条件 + EMA 数据有效
・信号在 K 线收盘确认后生成,避免盘中反复变化
原创声明:
本脚本为 SpeculationLab 原创开发,全部逻辑均由作者独立设计与编写。请勿抄袭、售卖或冒充作者发布。
免责声明:
本脚本仅供技术研究与市场分析参考,不构成投资建议。任何基于本脚本的交易决策及其后果,由使用者自行承担。
Aethix Cipher Pro2Aethix Cipher Pro: AI-Enhanced Crypto Signal Indicator grok Ai made signal created for aethix users.
Unlock the future of crypto trading with Aethix Cipher Pro—a powerhouse indicator inspired by Market Cipher A, turbocharged for Aethix.io users! Built on WaveTrend Oscillator, 8-EMA Ribbon, RSI+MFI, and custom enhancements like Grok AI confidence levels (70-100%), on-chain whale volume thresholds, and fun meme alerts ("To the moon! 🌕").
Key Features: no whale tabs
WaveTrend Signals: Spot overbought/oversold with levels at ±53/60/100—crosses trigger red diamonds, blood diamonds, yellow X's for high-prob buy/sell entries.
Neon Teal EMA Ribbon: Dynamic 5-34 EMA gradient (bullish teal/bearish red) for trend direction—crossovers plot green/red circles, blue triangles.
RSI+MFI Fusion: Overbought (70+)/oversold (30-) with long snippets for sentiment edges.
OSAMA RASMIHow this script works?
- it finds and keeps Pivot Points
- when it found a new Pivot Point it clears older S/R channels then;
- for each pivot point it searches all pivot points in its own channel with dynamic width
- while creating the S/R channel it calculates its strength
- then sorts all S/R channels by strength
- it shows the strongest S/R channels, before doing this it checks old location in the list and adjust them for better visibility
- if any S/R channel was broken on last move then it gives alert and put shape below/above the candle
- The colors of the S/R channels are adjusted automatically
CBDR & SWINGS H/Lt looks like you've shared a Pine Script code for a TradingView indicator called "CBDR & SWINGS H/L". This indicator combines two main components:
CBDR Range (Central Bank Daily Range):
Plots a range between specified start and end times (default 4:00-12:00)
Shows multiple extension levels above and below the range
Includes timezone adjustment options
Offers customization of colors and line styles
Swing Highs/Lows:
Identifies swing highs and lows based on user-defined length
Customizable line styles, colors, and thickness
Plots horizontal lines at swing points
The indicator has comprehensive input options allowing users to customize:
Time ranges and timezone offsets
Number of extension levels
Colors for different components
Line styles (solid, dashed, dotted)
Swing detection sensitivity
ICC Trading System# ICC Trading System - Indication, Correction, Continuation
## Overview
The ICC (Indication, Correction, Continuation) Trading System is a comprehensive market structure analysis tool designed to identify high-probability trend continuation setups. This indicator helps traders understand market phases and provides clear entry signals based on institutional trading concepts.
## Key Features
### 🎯 **Market Structure Analysis**
- Automatic detection of swing highs and swing lows
- Real-time identification of market trends and reversals
- Dynamic support and resistance zone mapping
- Clear visual representation of market phases
### 📊 **ICC Phase Detection**
- **Indication Phase**: Identifies new higher highs (bullish) or lower lows (bearish)
- **Correction Phase**: Tracks pullbacks and retracements
- **Continuation Phase**: Signals when trends resume after corrections
### 🚀 **Entry Signals**
- Precise BUY signals after bullish indications and corrections
- Clear SELL signals after bearish indications and corrections
- Entry points based on price breaking back through key levels
- Eliminates guesswork in trend continuation trades
### 🎨 **Visual Components**
- Swing point markers (triangles) for easy identification
- Color-coded support/resistance zones
- Background highlighting for current market phase
- Information table showing current
FX Alex G Multi-TF Alignment & Engulfing Screener with IconsThis is FXAlexG inspired, 4 timeframes alignment:-
Add to TradingView:
Open TradingView (tradingview.com) and go to the Pine Editor (bottom panel).
Copy-paste the provided Pine Script code into the editor.
Click "Save" (name it, e.g., "FX Alex G Screener").
Click "Add to Chart" to apply it to a 15-minute (15M) chart.
Select Chart:
Use a 15M timeframe chart for any asset (crypto, forex, stocks, e.g., BTC/USD, EUR/USD).
Ensure the chart has sufficient historical data (at least 100 bars) for accurate swing detection.
Interpret Alignment Signals:
4TF Bull Align (4B): Green diamond above bar = all 4 timeframes (Daily, 4H, 1H, 15M) are bullish (close > EMA50), price near swing low, high volume.
4TF Bear Align (4S): Red diamond below bar = all 4 TFs bearish (close < EMA50), price near swing high, high volume.
3TF Bull Align (3B): Lime triangle above bar = 3 TFs bullish, near swing low, high volume.
3TF Bear Align (3S): Maroon triangle below bar = 3 TFs bearish, near swing high, high volume.
2TF Bull Align (2B): Yellow circle above bar = 2 TFs bullish, near swing low, high volume.
2TF Bear Align (2S): Orange circle below bar = 2 TFs bearish, near swing high, high volume.
Identify Entry Signals:
Bull Entry: Green triangle below bar = bullish engulfing candle at a swing low, at least 2 TFs bullish, price within 2% of swing low, high volume.
Bear Entry: Red triangle above bar = bearish engulfing candle at a swing high, at least 2 TFs bearish, price within 2% of swing high, high volume.
Use for Screening:
Manually apply to multiple assets on 15M charts to check for alignment/entry signals.
For automated screening, publish the script publicly (in Pine Editor, click "Publish Script"), then use TradingView’s Screener with custom script filters (select your published script).
Filter for assets showing "4B", "3B", "2B", "Bull Entry" (bullish) or "4S", "3S", "2S", "Bear Entry" (bearish).
Visual Aids:
Orange line: EMA(50) on 15M chart for trend context.
Blue dashed line: Recent swing low level.
Red dashed line: Recent swing high level.
Customize (Optional):
Adjust EMA length (default 50) or swing lookback (default 5 bars) in the script’s code.
Modify proximity threshold (default 2%) or volume multiplier (default 1.5x) by editing the script.
Trading Notes:
Use signals as a starting point; confirm with your own analysis (e.g., support/resistance, market structure).
Set stop-losses below swing lows (bullish) or above swing highs (bearish) as per FX Alex G’s risk management.
Test on historical data before live trading.
Troubleshooting:
No signals? Ensure the 15M chart is active and has enough data. Check if volume is low or price is far from swings.
Too many signals? Increase proximity threshold (e.g., from 2% to 1%) or swing lookback (e.g., from 5 to 7) in the code.
Supp_Ress_V1This indicator automatically plots support and resistance levels using confirmed pivot highs and lows, then manages them smartly by merging nearby levels, extending them, and removing them once price breaks through.
It also draws trendlines by connecting valid higher-lows (uptrend) or lower-highs (downtrend), ensuring they slope correctly and have enough spacing between pivots.
In short: it gives you a clean, trader-like map of the most relevant S/R zones and trendlines, updating dynamically as price action unfolds.
EMA & MA Optimized//@version=5
indicator(title="EMA & MA Optimized", shorttitle="EMA & MA", overlay=true)
ema_20 = ta.ema(close, 20)
ma_20 = ta.sma(close, 20)
ma_60 = ta.sma(close, 60)
ema_60 = ta.ema(close, 60)
ma_120 = ta.sma(close, 120)
ema_120 = ta.ema(close, 120)
ma_color_20 = color.rgb(255, 153, 153)
ma_color_60 = color.rgb(255, 77, 77)
ma_color_120 = color.rgb(128, 0, 128)
ema_color_20 = color.rgb(153, 255, 153)
ema_color_60 = color.rgb(77, 255, 77)
ema_color_120 = color.rgb(0, 128, 255)
plot(ma_20, title="MA 20", color=ma_color_20, linewidth=1)
plot(ema_20, title="EMA 20", color=ema_color_20, linewidth=1)
plot(ma_60, title="MA 60", color=ma_color_60, linewidth=1)
plot(ema_60, title="EMA 60", color=ema_color_60, linewidth=1)
plot(ma_120, title="MA 120", color=ma_color_120, linewidth=2)
plot(ema_120, title="EMA 120", color=ema_color_120, linewidth=2)
Volume Spike DetectorDetects a spike in Volume . based on volume on tradingviews. It highlights when volume is 1.5X of usual average
Price Action + Fractals DetectorThe Price Action Patterns Detector indicator also includes a Fractal (WICK.ED style). This way, you'll see Pinbar, Engulfing, Doji, Inside/Outside Bar, Morning/Evening Star formations, and fractals will appear. 🔥
High Tick Volume Alert (Classic Style)This indicator has the classic appearance of the volume indicator for tick volume. It notifies you according to your individual settings when there is increased volume on price.
Dual Volume Profiles: Session + Rolling (Range Delineation)Dual Volume Profiles: Session + Rolling (Range Delineation)
INTRO
This is a probability-centric take on volume profile. I treat the volume histogram as an empirical PDF over price, updated in real time, which makes multi-modality (multiple acceptance basins) explicit rather than assumed away. The immediate benefit is operational: if we can read the shape of the distribution, we can infer likely reversion levels (POC), acceptance boundaries (VAH/VAL), and low-friction corridors (LVNs).
My working hypothesis is that what traders often label “fat tails” or “power-law behavior” at short horizons is frequently a tail-conditioned view of a higher-level Gaussian regime. In other words, child distributions (shorter periodicities) sit within parent distributions (longer periodicities); when price operates in the parent’s tail, the child regime looks heavy-tailed without being fundamentally non-Gaussian. This is consistent with a hierarchical/mixture view and with the spirit of the central limit theorem—Gaussian structure emerges at aggregate scales, while local scales can look non-Gaussian due to nesting and conditioning.
This indicator operationalizes that view by plotting two nested empirical PDFs: a rolling (local) profile and a session-anchored profile. Their confluence makes ranges explicit and turns “regime” into something you can see. For additional nesting, run multiple instances with different lookbacks. When using the default settings combined with a separate daily VP, you effectively get three nested distributions (local → session → daily) on the chart.
This indicator plots two nested distributions side-by-side:
Rolling (Local) Profile — short-window, prorated histogram that “breathes” with price and maps the immediate auction.
Session Anchored Profile — cumulative distribution since the current session start (Premkt → RTH → AH anchoring), revealing the parent regime.
Use their confluence to identify range floors/ceilings, mean-reversion magnets, and low-volume “air pockets” for fast traverses.
What it shows
POC (dashed): central tendency / “magnet” (highest-volume bin).
VAH & VAL (solid): acceptance boundaries enclosing an exact Value Area % around each profile’s POC.
Volume histograms:
Rolling can auto-color by buy/sell dominance over the lookback (green = buying ≥ selling, red = selling > buying).
Session uses a fixed style (blue by default).
Session anchoring (exchange timezone):
Premarket → anchors at 00:00 (midnight).
RTH → anchors at 09:30.
After-hours → anchors at 16:00.
Session display span:
Session Max Span (bars) = 0 → draw from session start → now (anchored).
> 0 → draw a rolling window N bars back → now, while still measuring all volume since session start.
Why it’s useful
Think in terms of nested probability distributions: the rolling node is your local Gaussian; the session node is its parent.
VA↔VA overlap ≈ strong range boundary.
POC↔POC alignment ≈ reliable mean-reversion target.
LVNs (gaps) ≈ low-friction corridors—expect quick moves to the next node.
Quick start
Add to chart (great on 5–10s, 15–60s, 1–5m).
Start with: bins = 240, vaPct = 0.68, barsBack = 60.
Watch for:
First test & rejection at overlapping VALs/VAHs → fade back toward POC.
Acceptance beyond VA (several closes + growing outer-bin mass) → traverse to the next node.
Inputs (detailed)
General
Lookback Bars (Rolling)
Count of most-recent bars for the rolling/local histogram. Larger = smoother node that shifts slower; smaller = more reactive, “breathing” profile.
• Typical: 40–80 on 5–10s charts; 60–120 on 1–5m.
• If you increase this but keep Number of Bins fixed, each bin aggregates more volume (coarser bins).
Number of Bins
Vertical resolution (price buckets) for both rolling and session histograms. Higher = finer detail and crisper LVNs, but more line objects (closer to platform limits).
• Typical: 120–240 on 5–10s; 80–160 on 1–5m.
• If you hit performance or object limits, reduce this first.
Value Area %
Exact central coverage for VAH/VAL around POC. Computed empirically from the histogram (no Gaussian assumption): the algorithm expands from POC outward until the chosen % is enclosed.
• Common: 0.68 (≈“1σ-like”), 0.70 for slightly wider core.
• Smaller = tighter VA (more breakout flags). Larger = wider VA (more reversion bias).
Max Local Profile Width (px)
Horizontal length (in pixels) of the rolling bars/lines and its VA/POC overlays. Visual only (does not affect calculations).
Session Settings
RTH Start/End (exchange tz)
Defines the current session anchor (Premkt=00:00, RTH=your start, AH=your end). The session histogram always measures from the most recent session start and resets at each boundary.
Session Max Span (bars, 0 = full session)
Display window for session drawings (POC/VA/Histogram).
• 0 → draw from session start → now (anchored).
• > 0 → draw N bars back → now (rolling look), while still measuring all volume since session start.
This keeps the “parent” distribution measurable while letting the display track current action.
Local (Rolling) — Visibility
Show Local Profile Bars / POC / VAH & VAL
Toggle each overlay independently. If you approach object limits, disable bars first (POC/VA lines are lighter).
Local (Rolling) — Colors & Widths
Color by Buy/Sell Dominance
Fast uptick/downtick proxy over the rolling window (close vs open):
• Buying ≥ Selling → Bullish Color (default lime).
• Selling > Buying → Bearish Color (default red).
This color drives local bars, local POC, and local VA lines.
• Disable to use fixed Bars Color / POC Color / VA Lines Color.
Bars Transparency (0–100) — alpha for the local histogram (higher = lighter).
Bars Line Width (thickness) — draw thin-line profiles or chunky blocks.
POC Line Width / VA Lines Width — overlay thickness. POC is dashed, VAH/VAL solid by design.
Session — Visibility
Show Session Profile Bars / POC / VAH & VAL
Independent toggles for the session layer.
Session — Colors & Widths
Bars/POC/VA Colors & Line Widths
Fixed palette by design (default blue). These do not change with buy/sell dominance.
• Use transparency and width to make the parent profile prominent or subtle.
• Prefer minimal? Hide session bars; keep only session VA/POC.
Reading the signals (detailed playbook)
Core definitions
POC — highest-volume bin (fair price “magnet”).
VAH/VAL — upper/lower bounds enclosing your Value Area % around POC.
Node — contiguous block of high-volume bins (acceptance).
LVN — low-volume gap between nodes (low friction path).
Rejection vs Acceptance (practical rule)
Rejection at VA edge: 0–1 closes beyond VA and no persistent growth in outer bins.
Acceptance beyond VA: ≥3 closes beyond VA and outer-bin mass grows (e.g., added volume beyond the VA edge ≥ 5–10% of node volume over the last N bars). Treat acceptance as regime change.
Confluence scores (make boundary/target quality objective)
VA overlap strength (range boundary):
C_VA = 1 − |VA_edge_local − VA_edge_session| / ATR(n)
Values near 1.0 = tight overlap (stronger boundary).
Use: if C_VA ≥ 0.6–0.8, treat as high-quality fade zone.
POC alignment (magnet quality):
C_POC = 1 − |POC_local − POC_session| / ATR(n)
Higher C_POC = greater chance a rotation completes to that fair price.
(You can estimate these by eye.)
Setups
1) Range Fade at VA Confluence (mean reversion)
Context: Local VAL/VAH near Session VAL/VAH (tight overlap), clear node, local color not screaming trend (or flips to your side).
Entry: First test & rejection at the overlapped band (wick through ok; prefer close back inside).
Stop: A tick/pip beyond the wider of the two VA edges or beyond the nearest LVN, a small buffer zone can be used to judge whether price is truly rejecting a VAL/VAH or simply probing.
Targets: T1 node mid; T2 POC (size up when C_POC is high).
Flip: If acceptance (rule above) prints, flip bias or stand down.
2) LVN Traverse (continuation)
Context: Price exits VA and enters an LVN with acceptance and growing outer-bin volume.
Entry: Aggressive—first close into LVN; Conservative—retest of the VA edge from the far side (“kiss goodbye”).
Stop: Back inside the prior VA.
Targets: Next node’s VA edge or POC (edge = faster exits; POC = fuller rotations).
Note: Flatter VA edge (shallower curvature) tends to breach more easily.
3) POC→POC Magnet Trade (rotation completion)
Context: Local POC ≈ Session POC (high C_POC).
Entry: Fade a VA touch or pullback inside node, aiming toward the shared POC.
Stop: Past the opposite VA edge or LVN beyond.
Target: The shared POC; optional runner to opposite VA if the node is broad and time-of-day is supportive.
4) Failed Break (Reversion Snap-back)
Context: Push beyond VA fails acceptance (re-enters VA, outer-bin growth stalls/shrinks).
Entry: On the re-entry close, back toward POC.
Stop/Target: Stop just beyond the failed VA; target POC, then opposite VA if momentum persists.
How to read color & shape
Local color = most recent sentiment:
Green = buying ≥ selling; Red = selling > buying (over the rolling window). Treat as context, not a standalone signal. A green local node under a blue session VAH can still be a fade if the parent says “over-valued.”
Shape tells friction:
Fat nodes → rotation-friendly (fade edges).
Sharp LVN gaps → traversal-friendly (momentum continuation).
Time-of-day intuition
Right after session anchor (e.g., RTH 09:30): Session profile is young and moves quickly—treat confluence cautiously.
Mid-session: Cleanest behavior for rotations.
Close / news: Expect more traverses and POC migrations; tighten risk or switch playbooks.
Risk & execution guidance
Use tight, mechanical stops at/just beyond VA or LVN. If you need wide stops to survive noise, your entry is late or the node is unstable.
On micro-timeframes, account for fees & slippage—aim for targets paying ≥2–3× average cost.
If acceptance prints, don’t fight it—flip, reduce size, or stand aside.
Suggested presets
Scalp (5–10s): bins 120–240, barsBack 40–80, vaPct 0.68–0.70, local bars thin (small bar width).
Intraday (1–5m): bins 80–160, barsBack 60–120, vaPct 0.68–0.75, session bars more visible for parent context.
Performance & limits
Reuses line objects to stay under TradingView’s max_lines_count.
Very large bins × multiple overlays can still hit limits—use visibility toggles (hide bars first).
Session drawings use time-based coordinates to avoid “bar index too far” errors.
Known nuances
Rolling buy/sell dominance uses a simple uptick/downtick proxy (close vs open). It’s fast and practical, but it’s not a full tape classifier.
VA boundaries are computed from the empirical histogram—no Gaussian assumption.
This script does not calculate the full daily volume profile. Several other tools already provide that, including TradingView’s built-in Volume Profile indicators. Instead, this indicator focuses on pairing a rolling, short-term volume distribution with a session-wide distribution to make ranges more explicit. It is designed to supplement your use of standard or periodic volume profiles, not replace them. Think of it as a magnifying lens that helps you see where local structure aligns with the broader session.
How to trade it (TL;DR)
Fade overlapping VA bands on first rejection → target POC.
Continue through LVN on acceptance beyond VA → target next node’s VA/POC.
Respect acceptance: ≥3 closes beyond VA + growing outer-bin volume = regime change.
FAQ
Q: Why 68% Value Area?
A: It mirrors the “~1σ” idea, but we compute it exactly from empirical volume, not by assuming a normal distribution.
Q: Why are my profiles thin lines?
A: Increase Bars Line Width for chunkier blocks; reduce for fine, thin-line profiles.
Q: Session bars don’t reach session start—why?
A: Set Session Max Span (bars) = 0 for full anchoring; any positive value draws a rolling window while still measuring from session start.
Changelog (v1.0)
Dual profiles: Rolling + Session with independent POC/VA lines.
Session anchoring (Premkt/RTH/AH) with optional rolling display span.
Dynamic coloring for the rolling profile (buying vs selling).
Fully modular toggles + per-feature colors/widths.
Thin-line rendering via bar line width.