JK_Traders_Reality_LibLibrary "JK_Traders_Reality_Lib"
This library contains common elements used in Traders Reality scripts
calcPvsra(pvsraVolume, pvsraHigh, pvsraLow, pvsraClose, pvsraOpen, redVectorColor, greenVectorColor, violetVectorColor, blueVectorColor, darkGreyCandleColor, lightGrayCandleColor)
calculate the pvsra candle color and return the color as well as an alert if a vector candle has apperared.
Situation "Climax"
Bars with volume >= 200% of the average volume of the 10 previous chart TFs, or bars
where the product of candle spread x candle volume is >= the highest for the 10 previous
chart time TFs.
Default Colors: Bull bars are green and bear bars are red.
Situation "Volume Rising Above Average"
Bars with volume >= 150% of the average volume of the 10 previous chart TFs.
Default Colors: Bull bars are blue and bear are violet.
Parameters:
pvsraVolume (float) : the instrument volume series (obtained from request.sequrity)
pvsraHigh (float) : the instrument high series (obtained from request.sequrity)
pvsraLow (float) : the instrument low series (obtained from request.sequrity)
pvsraClose (float) : the instrument close series (obtained from request.sequrity)
pvsraOpen (float) : the instrument open series (obtained from request.sequrity)
redVectorColor (simple color) : red vector candle color
greenVectorColor (simple color) : green vector candle color
violetVectorColor (simple color) : violet/pink vector candle color
blueVectorColor (simple color) : blue vector candle color
darkGreyCandleColor (simple color) : regular volume candle down candle color - not a vector
lightGrayCandleColor (simple color) : regular volume candle up candle color - not a vector
@return
adr(length, barsBack)
Parameters:
length (simple int) : how many elements of the series to calculate on
barsBack (simple int) : starting possition for the length calculation - current bar or some other value eg last bar
@return adr the adr for the specified lenght
adrHigh(adr, fromDo)
Calculate the ADR high given an ADR
Parameters:
adr (float) : the adr
fromDo (simple bool) : boolean flag, if false calculate traditional adr from high low of today, if true calcualte from exchange midnight
@return adrHigh the position of the adr high in price
adrLow(adr, fromDo)
Parameters:
adr (float) : the adr
fromDo (simple bool) : boolean flag, if false calculate traditional adr from high low of today, if true calcualte from exchange midnight
@return adrLow the position of the adr low in price
splitSessionString(sessXTime)
given a session in the format 0000-0100:23456 split out the hours and minutes
Parameters:
sessXTime (simple string) : the session time string usually in the format 0000-0100:23456
@return
calcSessionStartEnd(sessXTime, gmt)
calculate the start and end timestamps of the session
Parameters:
sessXTime (simple string) : the session time string usually in the format 0000-0100:23456
gmt (simple string) : the gmt offset string usually in the format GMT+1 or GMT+2 etc
@return
drawOpenRange(sessXTime, sessXcol, showOrX, gmt)
draw open range for a session
Parameters:
sessXTime (simple string) : session string in the format 0000-0100:23456
sessXcol (simple color) : the color to be used for the opening range box shading
showOrX (simple bool) : boolean flag to toggle displaying the opening range
gmt (simple string) : the gmt offset string usually in the format GMT+1 or GMT+2 etc
@return void
drawSessionHiLo(sessXTime, showRectangleX, showLabelX, sessXcolLabel, sessXLabel, gmt, sessionLineStyle)
Parameters:
sessXTime (simple string) : session string in the format 0000-0100:23456
showRectangleX (simple bool)
showLabelX (simple bool)
sessXcolLabel (simple color) : the color to be used for the hi/low lines and label
sessXLabel (simple string) : the session label text
gmt (simple string) : the gmt offset string usually in the format GMT+1 or GMT+2 etc
sessionLineStyle (simple string) : the line stile for the session high low lines
@return void
calcDst()
calculate market session dst on/off flags
@return indicating if DST is on or off for a particular region
timestampPreviousDayOfWeek(previousDayOfWeek, hourOfDay, gmtOffset, oneWeekMillis)
Timestamp any of the 6 previous days in the week (such as last Wednesday at 21 hours GMT)
Parameters:
previousDayOfWeek (simple string) : Monday or Satruday
hourOfDay (simple int) : the hour of the day when psy calc is to start
gmtOffset (simple string) : the gmt offset string usually in the format GMT+1 or GMT+2 etc
oneWeekMillis (simple int) : the amount if time for a week in milliseconds
@return the timestamp of the psy level calculation start time
getdayOpen()
get the daily open - basically exchange midnight
@return the daily open value which is float price
newBar(res)
new_bar: check if we're on a new bar within the session in a given resolution
Parameters:
res (simple string) : the desired resolution
@return true/false is a new bar for the session has started
toPips(val)
to_pips Convert value to pips
Parameters:
val (float) : the value to convert to pips
@return the value in pips
rLabel(ry, rtext, rstyle, rcolor, valid, labelXOffset)
a function that draws a right aligned lable for a series during the current bar
Parameters:
ry (float) : series float the y coordinate of the lable
rtext (simple string) : the text of the label
rstyle (simple string) : the style for the lable
rcolor (simple color) : the color for the label
valid (simple bool) : a boolean flag that allows for turning on or off a lable
labelXOffset (int) : how much to offset the label from the current position
rLabelOffset(ry, rtext, rstyle, rcolor, valid, labelOffset)
a function that draws a right aligned lable for a series during the current bar
Parameters:
ry (float) : series float the y coordinate of the lable
rtext (string) : the text of the label
rstyle (simple string) : the style for the lable
rcolor (simple color) : the color for the label
valid (simple bool) : a boolean flag that allows for turning on or off a lable
labelOffset (int)
rLabelLastBar(ry, rtext, rstyle, rcolor, valid, labelXOffset)
a function that draws a right aligned lable for a series only on the last bar
Parameters:
ry (float) : series float the y coordinate of the lable
rtext (string) : the text of the label
rstyle (simple string) : the style for the lable
rcolor (simple color) : the color for the label
valid (simple bool) : a boolean flag that allows for turning on or off a lable
labelXOffset (int) : how much to offset the label from the current position
drawLine(xSeries, res, tag, xColor, xStyle, xWidth, xExtend, isLabelValid, xLabelOffset, validTimeFrame)
a function that draws a line and a label for a series
Parameters:
xSeries (float) : series float the y coordinate of the line/label
res (simple string) : the desired resolution controlling when a new line will start
tag (simple string) : the text for the lable
xColor (simple color) : the color for the label
xStyle (simple string) : the style for the line
xWidth (simple int) : the width of the line
xExtend (simple string) : extend the line
isLabelValid (simple bool) : a boolean flag that allows for turning on or off a label
xLabelOffset (int)
validTimeFrame (simple bool) : a boolean flag that allows for turning on or off a line drawn
drawLineDO(xSeries, res, tag, xColor, xStyle, xWidth, xExtend, isLabelValid, xLabelOffset, validTimeFrame)
a function that draws a line and a label for the daily open series
Parameters:
xSeries (float) : series float the y coordinate of the line/label
res (simple string) : the desired resolution controlling when a new line will start
tag (simple string) : the text for the lable
xColor (simple color) : the color for the label
xStyle (simple string) : the style for the line
xWidth (simple int) : the width of the line
xExtend (simple string) : extend the line
isLabelValid (simple bool) : a boolean flag that allows for turning on or off a label
xLabelOffset (int)
validTimeFrame (simple bool) : a boolean flag that allows for turning on or off a line drawn
drawPivot(pivotLevel, res, tag, pivotColor, pivotLabelColor, pivotStyle, pivotWidth, pivotExtend, isLabelValid, validTimeFrame, levelStart, pivotLabelXOffset)
draw a pivot line - the line starts one day into the past
Parameters:
pivotLevel (float) : series of the pivot point
res (simple string) : the desired resolution
tag (simple string) : the text to appear
pivotColor (simple color) : the color of the line
pivotLabelColor (simple color) : the color of the label
pivotStyle (simple string) : the line style
pivotWidth (simple int) : the line width
pivotExtend (simple string) : extend the line
isLabelValid (simple bool) : boolean param allows to turn label on and off
validTimeFrame (simple bool) : only draw the line and label at a valid timeframe
levelStart (int) : basically when to start drawing the levels
pivotLabelXOffset (int) : how much to offset the label from its current postion
@return the pivot line series
getPvsraFlagByColor(pvsraColor, redVectorColor, greenVectorColor, violetVectorColor, blueVectorColor, lightGrayCandleColor)
convert the pvsra color to an internal code
Parameters:
pvsraColor (color) : the calculated pvsra color
redVectorColor (simple color) : the user defined red vector color
greenVectorColor (simple color) : the user defined green vector color
violetVectorColor (simple color) : the user defined violet vector color
blueVectorColor (simple color) : the user defined blue vector color
lightGrayCandleColor (simple color) : the user defined regular up candle color
@return pvsra internal code
updateZones(pvsra, direction, boxArr, maxlevels, pvsraHigh, pvsraLow, pvsraOpen, pvsraClose, transperancy, zoneupdatetype, zonecolor, zonetype, borderwidth, coloroverride, redVectorColor, greenVectorColor, violetVectorColor, blueVectorColor)
a function that draws the unrecovered vector candle zones
Parameters:
pvsra (int) : internal code
direction (simple int) : above or below the current pa
boxArr (array) : the array containing the boxes that need to be updated
maxlevels (simple int) : the maximum number of boxes to draw
pvsraHigh (float) : the pvsra high value series
pvsraLow (float) : the pvsra low value series
pvsraOpen (float) : the pvsra open value series
pvsraClose (float) : the pvsra close value series
transperancy (simple int) : the transparencfy of the vecor candle zones
zoneupdatetype (simple string) : the zone update type
zonecolor (simple color) : the zone color if overriden
zonetype (simple string) : the zone type
borderwidth (simple int) : the width of the border
coloroverride (simple bool) : if the color overriden
redVectorColor (simple color) : the user defined red vector color
greenVectorColor (simple color) : the user defined green vector color
violetVectorColor (simple color) : the user defined violet vector color
blueVectorColor (simple color) : the user defined blue vector color
cleanarr(arr)
clean an array from na values
Parameters:
arr (array) : the array to clean
@return if the array was cleaned
calcPsyLevels(oneWeekMillis, showPsylevels, psyType, sydDST)
calculate the psy levels
4 hour res based on how mt4 does it
mt4 code
int Li_4 = iBarShift(NULL, PERIOD_H4, iTime(NULL, PERIOD_W1, Li_0)) - 2 - Offset;
ObjectCreate("PsychHi", OBJ_TREND, 0, Time , iHigh(NULL, PERIOD_H4, iHighest(NULL, PERIOD_H4, MODE_HIGH, 2, Li_4)), iTime(NULL, PERIOD_W1, 0), iHigh(NULL, PERIOD_H4,
iHighest(NULL, PERIOD_H4, MODE_HIGH, 2, Li_4)));
so basically because the session is 8 hours and we are looking at a 4 hour resolution we only need to take the highest high an lowest low of 2 bars
we use the gmt offset to adjust the 0000-0800 session to Sydney open which is at 2100 during dst and at 2200 otherwize. (dst - spring foward, fall back)
keep in mind sydney is in the souther hemisphere so dst is oposite of when london and new york go into dst
Parameters:
oneWeekMillis (simple int) : a constant value
showPsylevels (simple bool) : should psy levels be calculated
psyType (simple string) : the type of Psylevels - crypto or forex
sydDST (bool) : is Sydney in DST
@return
adrHiLo(length, barsBack, fromDO)
Parameters:
length (simple int) : how many elements of the series to calculate on
barsBack (simple int) : starting possition for the length calculation - current bar or some other value eg last bar
fromDO (simple bool) : boolean flag, if false calculate traditional adr from high low of today, if true calcualte from exchange midnight
@return adr, adrLow and adrHigh - the adr, the position of the adr High and adr Low with respect to price
drawSessionHiloLite(sessXTime, showRectangleX, showLabelX, sessXcolLabel, sessXLabel, gmt, sessionLineStyle, sessXcol)
Parameters:
sessXTime (simple string) : session string in the format 0000-0100:23456
showRectangleX (simple bool)
showLabelX (simple bool)
sessXcolLabel (simple color) : the color to be used for the hi/low lines and label
sessXLabel (simple string) : the session label text
gmt (simple string) : the gmt offset string usually in the format GMT+1 or GMT+2 etc
sessionLineStyle (simple string) : the line stile for the session high low lines
sessXcol (simple color) : - the color for the box color that will color the session
@return void
msToHmsString(ms)
converts milliseconds into an hh:mm string. For example, 61000 ms to '0:01:01'
Parameters:
ms (int) : - the milliseconds to convert to hh:mm
@return string - the converted hh:mm string
countdownString(openToday, closeToday, showMarketsWeekends, oneDay)
that calculates how much time is left until the next session taking the session start and end times into account. Note this function does not work on intraday sessions.
Parameters:
openToday (int) : - timestamps of when the session opens in general - note its a series because the timestamp was created using the dst flag which is a series itself thus producing a timestamp series
closeToday (int) : - timestamp of when the session closes in general - note its a series because the timestamp was created using the dst flag which is a series itself thus producing a timestamp series
@return a countdown of when next the session opens or 'Open' if the session is open now
showMarketsWeekends (simple bool)
oneDay (simple int)
countdownStringSyd(sydOpenToday, sydCloseToday, showMarketsWeekends, oneDay)
that calculates how much time is left until the next session taking the session start and end times into account. special case of intraday sessions like sydney
Parameters:
sydOpenToday (int)
sydCloseToday (int)
showMarketsWeekends (simple bool)
oneDay (simple int)
Cerca negli script per "sessions"
MNQ Morning Indicator | Clean SignalsMNQ Morning Trading Indicator Summary
What It Does
This is a TradingView indicator designed for day trading MNQ (Micro Nasdaq-100 futures) during morning sessions. It generates BUY and SELL signals only when multiple technical conditions align, helping traders identify high-probability trade setups.
Core Strategy
BUY Signal Requirements (All must be true):
✅ Price above VWAP (volume-weighted average price)
✅ Fast EMA (9) above Slow EMA (21) - uptrend confirmation
✅ Price above 15-minute 50 EMA - higher timeframe confirmation
✅ MACD histogram positive - momentum confirmation
✅ RSI above 55 - strength confirmation
✅ ADX above 25 - trending market (not choppy)
✅ Volume 1.5x above average - strong participation
SELL Signal (opposite conditions)
Key Features
🎯 Risk Management
Stop Loss: 2× ATR (Average True Range)
Take Profit 1: 2× ATR (1:2 risk-reward)
Take Profit 2: 3× ATR (1:3 risk-reward)
Dollar values: Calculates P&L based on MNQ's $2/point value
⏰ Session Filter
Default: 9:30 AM - 11:30 AM ET (customizable)
Safety feature: Avoids first 15 minutes (high volatility period)
Won't generate signals outside trading hours
🛡️ Signal Quality
Rates each signal: 🔥 STRONG, ⚡ MEDIUM, or ⚠️ WEAK
Requires minimum 15 bars between signals (prevents overtrading)
📊 Visual Dashboard
Shows real-time metrics:
ATR values
ADX (trend strength)
RSI (momentum)
Market condition (TREND/CHOP)
Session status
Volume status
Signal cooldown timer
Visual Elements
📈 VWAP with standard deviation bands (1σ, 2σ, 3σ)
📉 Multiple EMAs with trend-based coloring
🟢/🔴 Buy/Sell arrows on chart
📋 Detailed trade labels showing entry, SL, TPs, and risk-reward ratios
🎨 Background highlighting for market conditions
Safety Features
Cooldown period between signals
Session restrictions (no trading outside set hours)
First 15-minute avoidance (post-open volatility)
Multi-confirmation requirement (all 7 conditions must align)
Trend filter (ADX minimum to avoid choppy markets)
Best For
Day traders focused on morning sessions
MNQ futures traders
Traders who prefer systematic, rule-based entries
Those wanting pre-calculated risk management levels
Customization
All parameters are adjustable:
EMA periods
MACD settings
RSI thresholds
ADX minimum
ATR multipliers
Session times
Visual preferences
This indicator is designed to be conservative — it waits for strong confirmation before signaling, which means fewer but potentially higher-quality trades.
Opening Range BoxThis indicator, called the "Opening Range Box," is a visual tool that helps you track the start of key trading sessions like London and New York (or whatever session you set).
It does three main things:
Finds the Daily 'First Move': It automatically calculates the High and Low reached during the first 30 minutes (or whatever time you set) of each defined session.
Draws a Box: It immediately draws a colored, transparent box on your chart from the moment the session starts. The top of the box is the OR High, and the bottom is the OR Low. This box acts as a clear reference for the session's initial boundaries.
Extends the Levels: After the initial 30 minutes are over, the box stops growing vertically (it locks in the OR High/Low) but continues to stretch out horizontally for the rest of the trading session. This allows you to easily see how the price reacts to the opening levels throughout the day.
In short: It visually highlights the most important price levels established at the very beginning of the major market sessions.
Opening Range BoxThis indicator, called the "Opening Range Box," is a visual tool that helps you track the start of key trading sessions like London and New York.
It does three main things:
Finds the Daily 'First Move': It automatically calculates the High and Low reached during the first 30 minutes (or whatever time you set) of each defined session.
Draws a Box: It immediately draws a colored, transparent box on your chart from the moment the session starts. This box acts as a clear reference for the session's initial boundaries.
Extends the Levels: After the initial 30 minutes are over, the box stops growing vertically (it locks in the OR High/Low) but continues to stretch out horizontally for the rest of the trading session. This allows you to easily see how the price reacts to the opening levels throughout the day.
In short: It visually highlights the most important price levels established at the very beginning of the major market sessions.
EvoTrend-X Indicator — Evolutionary Trend Learner ExperimentalEvoTrend-X Indicator — Evolutionary Trend Learner
NOTE: This is an experimental Pine Script v6 port of a Python prototype. Pine wasn’t the original research language, so there may be small quirks—your feedback and bug reports are very welcome. The model is non-repainting, MTF-safe (lookahead_off + gaps_on), and features an adaptive (fitness-based) candidate selector, confidence gating, and a volatility filter.
⸻
What it is
EvoTrend-X is adaptive trend indicator that learns which moving-average length best fits the current market. It maintains a small “population” of fast EMA candidates, rewards those that align with price momentum, and continuously selects the best performer. Signals are gated by a multi-factor Confidence score (fitness, strength vs. ATR, MTF agreement) and a volatility filter (ATR%). You get a clean Fast/Slow pair (for the currently best candidate), optional HTF filter, a fitness ribbon for transparency, and a themed info panel with a one-glance STATUS readout.
Core outputs
• Selected Fast/Slow EMAs (auto-chosen from candidates via fitness learning)
• Spread cross (Fast – Slow) → visual BUY/SELL markers + alert hooks
• Confidence % (0–100): Fitness ⊕ Distance vs. ATR ⊕ MTF agreement
• Gates: Trend regime (Kaufman ER), Volatility (ATR%), MTF filter (optional)
• Candidate Fitness Ribbon: shows which lengths the learner currently prefers
• Export plot: hidden series “EvoTrend-X Export (spread)” for downstream use
⸻
Why it’s different
• Evolutionary learning (on-chart): Each candidate EMA length gets rewarded if its slope matches price change and penalized otherwise, with a gentle decay so the model forgets stale regimes. The best fitness wins the right to define the displayed Fast/Slow pair.
• Confidence gate: Signals don’t light up unless multiple conditions concur: learned fitness, spread strength vs. volatility, and (optionally) higher-timeframe trend.
• Volatility awareness: ATR% filter blocks low-energy environments that cause death-by-a-thousand-whipsaws. Your “why no signal?” answer is always visible in the STATUS.
• Preset discipline, Custom freedom: Presets set reasonable baselines for FX, equities, and crypto; Custom exposes all knobs and honors your inputs one-to-one.
• Non-repainting rigor: All MTF calls use lookahead_off + gaps_on. Decisions use confirmed bars. No forward refs. No conditional ta.* pitfalls.
⸻
Presets (and what they do)
• FX 1H (Conservative): Medium candidates, slightly higher MinConf, modest ATR% floor. Good for macro sessions and cleaner swings.
• FX 15m (Active): Shorter candidates, looser MinConf, higher ATR% floor. Designed for intraday velocity and decisive sessions.
• Equities 1D: Longer candidates, gentler volatility floor. Suits index/large-cap trend waves.
• Crypto 1H: Mid-short candidates, higher ATR% floor for 24/7 chop, stronger MinConf to avoid noise.
• Custom: Your inputs are used directly (no override). Ideal for systematic tuning or bespoke assets.
⸻
How the learning works (at a glance)
1. Candidates: A small set of fast EMA lengths (e.g., 8/12/16/20/26/34). Slow = Fast × multiplier (default ×2.0).
2. Reward/decay: If price change and the candidate’s Fast slope agree (both up or both down), its fitness increases; otherwise decreases. A decay constant slowly forgets the distant past.
3. Selection: The candidate with highest fitness defines the displayed Fast/Slow pair.
4. Signal engine: Crosses of the spread (Fast − Slow) across zero mark potential regime shifts. A Confidence score and gates decide whether to surface them.
⸻
Controls & what they mean
Learning / Regime
• Slow length = Fast ×: scales the Slow EMA relative to each Fast candidate. Larger multiplier = smoother regime detection, fewer whipsaws.
• ER length / threshold: Kaufman Efficiency Ratio; above threshold = “Trending” background.
• Learning step, Decay: Larger step reacts faster to new behavior; decay sets how quickly the past is forgotten.
Confidence / Volatility gate
• Min Confidence (%): Minimum score to show signals (and fire alerts). Raising it filters noise; lowering it increases frequency.
• ATR length: The ATR window for both the ATR% filter and strength normalization. Shorter = faster, but choppier.
• Min ATR% (percent): ATR as a percentage of price. If ATR% < Min ATR% → status shows BLOCK: low vola.
MTF Trend Filter
• Use HTF filter / Timeframe / Fast & Slow: HTF Fast>Slow for longs, Fast threshold; exit when spread flips or Confidence decays below your comfort zone.
2) FX index/majors, 15m (active intraday)
• Preset: FX 15m (Active).
• Gate: MinConf 60–70; Min ATR% 0.15–0.30.
• Flow: Focus on session opens (LDN/NY). The ribbon should heat up on shorter candidates before valid crosses appear—good early warning.
3) SPY / Index futures, 1D (positioning)
• Preset: Equities 1D.
• Gate: MinConf 55–65; Min ATR% 0.05–0.12.
• Flow: Use spread crosses as regime flags; add timing from price structure. For adds, wait for ER to remain trending across several bars.
4) BTCUSD, 1H (24/7)
• Preset: Crypto 1H.
• Gate: MinConf 70–80; Min ATR% 0.20–0.35.
• Flow: Crypto chops—volatility filter is your friend. When ribbon and HTF OK agree, favor continuation entries; otherwise stand down.
⸻
Reading the Info Panel (and fixing “no signals”)
The panel is your self-diagnostic:
• HTF OK? False means the higher-timeframe EMAs disagree with your intended side.
• Regime: If “Chop”, ER < threshold. Consider raising the threshold or waiting.
• Confidence: Heat-colored; if below MinConf, the gate blocks signals.
• ATR% vs. Min ATR%: If ATR% < Min ATR%, status shows BLOCK: low vola.
• STATUS (composite):
• BLOCK: low vola → increase Min ATR% down (i.e., allow lower vol) or wait for expansion.
• BLOCK: HTF filter → disable HTF or align with the HTF tide.
• BLOCK: confidence → lower MinConf slightly or wait for stronger alignment.
• OK → you’ll see markers on valid crosses.
⸻
Alerts
Two static alert hooks:
• BUY cross — spread crosses up and all gates (ER, Vol, MTF, Confidence) are open.
• SELL cross — mirror of the above.
Create them once from “Add Alert” → choose the condition by name.
⸻
Exporting to other scripts
In your other Pine indicators/strategies, add an input.source and select EvoTrend-X → “EvoTrend-X Export (spread)”. Common uses:
• Build a rule: only trade when exported spread > 0 (trend filter).
• Combine with your oscillator: oscillator oversold and spread > 0 → buy bias.
⸻
Best practices
• Let it learn: Keep Learning step moderate (0.4–0.6) and Decay close to 1.0 (e.g., 0.99–0.997) for smooth regime memory.
• Respect volatility: Tune Min ATR% by asset and timeframe. FX 1H ≈ 0.10–0.20; crypto 1H ≈ 0.20–0.35; equities 1D ≈ 0.05–0.12.
• MTF discipline: HTF filter removes lots of “almost” trades. If you prefer aggressive entries, turn it off and rely more on Confidence.
• Confidence as throttle:
• 40–60%: exploratory; expect more signals.
• 60–75%: balanced; good daily driver.
• 75–90%: selective; catch the clean stuff.
• 90–100%: only A-setups; patient mode.
• Watch the ribbon: When shorter candidates heat up before a cross, momentum is forming. If long candidates dominate, you’re in a slower trend cycle.
⸻
Non-repainting & safety notes
• All request.security() calls use lookahead=barmerge.lookahead_off, gaps=barmerge.gaps_on.
• No forward references; decisions rely on confirmed bar data.
• EMA lengths are simple ints (no series-length errors).
• Confidence components are computed every bar (no conditional ta.* traps).
⸻
Limitations & tips
• Chop happens: ER helps, but sideways microstructure can still flicker—use Confidence + Vol filter as brakes.
• Presets ≠ oracle: They’re sensible baselines; always tune MinConf and Min ATR% to your venue and session.
• Theme “Auto”: Pine cannot read chart theme; “Auto” defaults to a Dark-friendly palette.
⸻
Publisher’s Screenshots Checklist
1) FX swing — EURUSD 1H
• Preset: FX 1H (Conservative)
• Params: MinConf=70, ATR Len=14, Min ATR%=0.12, MTF ON (TF=4H, 20/50)
• Show: Clear BUY cross, STATUS=OK, green regime background; Fitness Ribbon visible.
2) FX intraday — GBPUSD 15m
• Preset: FX 15m (Active)
• Params: MinConf=60, ATR Len=14, Min ATR%=0.20, MTF ON (TF=60m)
• Show: SELL cross near London session open. HTF lines enabled (translucent).
• Caption: “GBPUSD 15m • Active session sell with MTF alignment.”
3) Indices — SPY 1D
• Preset: Equities 1D
• Params: MinConf=60, ATR Len=14, Min ATR%=0.08, MTF ON (TF=1W, 20/50)
• Show: Longer trend run after BUY cross; regime shading shows persistence.
• Caption: “SPY 1D • Trend run after BUY cross; weekly filter aligned.”
4) Crypto — BINANCE:BTCUSDT 1H
• Preset: Crypto 1H
• Params: MinConf=75, ATR Len=14, Min ATR%=0.25, MTF ON (TF=4H)
• Show: BUY cross + quick follow-through; Ribbon warming (reds/yellows → greens).
• Caption: “BTCUSDT 1H • Momentum break with high confidence and ribbon turning.”
Intraday Buy/Sell/Average Zones by Chaitu50cIntraday Buy/Sell/Average Zones by chaitu50c
Timeframe:
Tested on the 5-minute chart.
Recommended timeframe: 5-minute
What it does
This indicator marks intraday Buy (green) and Sell (red) zones made by strong close-confirmed breakouts. These zones act as support/resistance. If price later closes through a zone, the zone changes color from that bar forward (support ↔ resistance). It can flip more than once.
How zones form
Single breakout: an opposite-type candle closes beyond the previous candle’s high/low.
Double breakout: a base candle, then two opposite-type candles, and the second one closes beyond the base high/low.
Zone size
Buy zone: from the combo lowest low up to the nearest open/close of the combo.
Sell zone: from the combo highest high down to the nearest open/close of the combo.
Color shift (optional)
If price closes through a zone, it flips color at that bar and behaves as the other side (support ↔ resistance). Flips can happen again later.
Overlap control
When a new zone overlaps an existing same-color zone in the same session, choose:
Merge (combine), or
Suppress (ignore the new one).
Flipped zones use their current color for this.
Right edge & session
All zones extend to the right (your offset). Detection is limited to your chosen session, and you can show only the last N sessions.
---
How to trade (simple)
A) Initial breakout trade
When a new zone forms, that breakout itself can be a trade idea in the breakout direction, The stoploss will be the zone.
B) Zone breakout trade (flip)
If price later closes out of a zone and it changes color, that breakout is another trade opportunity in the new direction.
C) Retrace & average trade
When price retests a zone, wait for a confirmation candle in the zone’s favor
— bullish close for a green zone, bearish close for a red zone — then average entries inside/near the zone.
Place stops just beyond the opposite edge of the zone.
If the zone flips color, stop averaging; bias changed.
---
Key settings
Breakout type: Single and/or Double
Confirm on Close: strict mode (no intrabar preview) or allow intrabar preview that auto-removes if fail
Color Shift on Breaks: on/off
Same-Type Overlap: Merge/Suppress
Session, Sessions to Display, Right Offset, Colors, Max Zones
Reminder: Best results on the 5-minute timeframe (tested and recommended).
tvunitLibrary "tvunit"
method assert(this, description, passed, bar)
Adds a test result to the test suite.
Namespace types: TestSuite
Parameters:
this (TestSuite) : The (TestSuite) instance.
description (string) : A description of the test.
passed (bool) : Whether the test passed or result.
bar (int) : The bar index at which the test was run.
Returns: Whether the assertion passed or result.
method assertWindow(this, runTests, description, bars, passed, stopOnFirstFailure)
Adds a test result to the test suite.
Namespace types: TestSuite
Parameters:
this (TestSuite) : The (TestSuite) instance.
runTests (bool) : Whether to run the tests.
description (string) : A description of the test.
bars (int) : The number of bars to test.
passed (bool) : A series of boolean values indicating whether each bar passed.
stopOnFirstFailure (bool) : Whether to stop on the first test failure.
Returns: Whether the assertion ran or not
method totalTests(this)
Returns the total number of tests in the test suite.
Namespace types: TestSuite
Parameters:
this (TestSuite) : The (TestSuite) instance.
Returns: The total number of tests.
method totalTests(this)
Returns the total number of tests in the test suite.
Namespace types: TestSession
Parameters:
this (TestSession) : The (TestSuite) instance.
Returns: The total number of tests.
method passedTests(this)
Returns the total number of passed tests in the test suite.
Namespace types: TestSuite
Parameters:
this (TestSuite) : The (TestSuite) instance.
Returns: The total number of passed tests.
method passedTests(this)
Returns the total number of passed tests in the test suite.
Namespace types: TestSession
Parameters:
this (TestSession) : The (TestSuite) instance.
Returns: The total number of passed tests.
method failedTests(this)
Returns the total number of result tests in the test suite.
Namespace types: TestSuite
Parameters:
this (TestSuite) : The (TestSuite) instance.
Returns: The total number of result tests.
method failedTests(this)
Returns the total number of result tests in the test suite.
Namespace types: TestSession
Parameters:
this (TestSession) : The (TestSuite) instance.
Returns: The total number of result tests.
newTestSession()
Creates a new test session instance.
Returns: A new (TestSession) instance.
method addNewTestSuite(this, name, description)
Creates a new test suite instance.
Namespace types: TestSession
Parameters:
this (TestSession) : The (TestSession) instance.
name (string) : The name of the test suite.
description (string) : (optional) A description of the test suite.
Returns: A new (TestSuite) instance.
method add(this, suite)
Creates a new test suite instance.
Namespace types: TestSession
Parameters:
this (TestSession) : The (TestSession) instance.
suite (TestSuite) : The (TestSuite) instance to add.
Returns: The (TestSession) instance.
method totalSuites(this)
Returns the total number of sessions in the test session.
Namespace types: TestSession
Parameters:
this (TestSession) : The (TestSession) instance.
Returns: The total number of sessions.
method report(this, show, showOnlyFailedTest)
Generates a report of the test session summary that is suitable for logging.
Namespace types: TestSession
Parameters:
this (TestSession) : The (TestSession) instance.
show (bool) : Optional: Whether to show the report or not. default: true
showOnlyFailedTest (bool) : Optional: Whether to show only result tests or not. default: false
Returns: A formatted string report of the test suite summary.
method reportGui(this, show, pages, pageSize)
Generates a report of the test suite summary for the GUI.
Namespace types: TestSession
Parameters:
this (TestSession) : The (TestSession) instance.
show (bool) : Optional: Whether to show the report or not. default: true
pages (int) : Optional: The number of pages to show (columns). default: 4
pageSize (int) : Optional: The number of results to show per page (rows), excluding the header. default: 5
approxEqual(a, b, tolerance)
Checks if two floating-point numbers are approximately equal within a specified tolerance.
Parameters:
a (float) : The first floating-point number.
b (float) : The second floating-point number.
tolerance (float) : The tolerance within which the two numbers are considered equal. Default is 1e-6.
Returns: True if the numbers are approximately equal, false otherwise. If both are na, returns true.
TestResult
Fields:
description (series string)
passed (series bool)
bar (series int)
TestSuite
Fields:
isEnabled (series bool)
name (series string)
description (series string)
tests (array)
TestSession
Fields:
suites (array)
Deadband Hysteresis Filter [BackQuant]Deadband Hysteresis Filter
What this is
This tool builds a “debounced” price baseline that ignores small fluctuations and only reacts when price meaningfully departs from its recent path. It uses a deadband to define how much deviation matters and a hysteresis scheme to avoid rapid flip-flops around the decision boundary. The baseline’s slope provides a simple trend cue, used to color candles and to trigger up and down alerts.
Why deadband and hysteresis help
They filter micro noise so the baseline does not react to every tiny tick.
They stabilize state changes. Hysteresis means the rule to start moving is stricter than the rule to keep holding, which reduces whipsaw.
They produce a stepped, readable path that advances during sustained moves and stays flat during chop.
How it works (conceptual)
At each bar the script maintains a running baseline dbhf and compares it to the input price p .
Compute a base threshold baseTau using the selected mode (ATR, Percent, Ticks, or Points).
Build an enter band tauEnter = baseTau × Enter Mult and an exit band tauExit = baseTau × Exit Mult where typically Exit Mult < Enter Mult .
Let diff = p − dbhf .
If diff > +tauEnter , raise the baseline by response × (diff − tauEnter) .
If diff < −tauEnter , lower the baseline by response × (diff + tauEnter) .
Otherwise, hold the prior value.
Trend state is derived from slope: dbhf > dbhf → up trend, dbhf < dbhf → down trend.
Inputs and what they control
Threshold mode
ATR — baseTau = ATR(atrLen) × atrMult . Adapts to volatility. Useful when regimes change.
Percent — baseTau = |price| × pctThresh% . Scale-free across symbols of different prices.
Ticks — baseTau = syminfo.mintick × tickThresh . Good for futures where tick size matters.
Points — baseTau = ptsThresh . Fixed distance in price units.
Band multipliers and response
Enter Mult — outer band. Price must travel at least this far from the baseline before an update occurs. Larger values reject more noise but increase lag.
Exit Mult — inner band for hysteresis. Keep this smaller than Enter Mult to create a hold zone that resists small re-entries.
Response — step size when outside the enter band. Higher response tracks faster; lower response is smoother.
UI settings
Show Filtered Price — plots the baseline on price.
Paint candles — colors bars by the filtered slope using your long/short colors.
How it can be used
Trend qualifier — take entries only in the direction of the baseline slope and skip trades against it.
Debounced crossovers — use the baseline as a stabilized surrogate for price in moving-average or channel crossover rules.
Trailing logic — trail stops a small distance beyond the baseline so small pullbacks do not eject the trade.
Session aware filtering — widen Enter Mult or switch to ATR mode for volatile sessions; tighten in quiet sessions.
Parameter interactions and tuning
Enter Mult vs Response — both govern sensitivity. If you see too many flips, increase Enter Mult or reduce Response. If turns feel late, do the opposite.
Exit Mult — widening the gap between Enter and Exit expands the hold zone and reduces oscillation around the threshold.
Mode choice — ATR adapts automatically; Percent keeps behavior consistent across instruments; Ticks or Points are useful when you think in fixed increments.
Timeframe coupling — on higher timeframes you can often lower Enter Mult or raise Response because raw noise is already reduced.
Concrete starter recipes
General purpose — ATR mode, atrLen=14 , atrMult=1.0–1.5 , Enter=1.0 , Exit=0.5 , Response=0.20 . Balanced noise rejection and lag.
Choppy range filter — ATR mode, increase atrMult to 2.0, keep Response≈0.15 . Stronger suppression of micro-moves.
Fast intraday — Percent mode, pctThresh=0.1–0.3 , Enter=1.0 , Exit=0.4–0.6 , Response=0.30–0.40 . Quicker turns for scalping.
Futures ticks — Ticks mode, set tickThresh to a few spreads beyond typical noise; start with Enter=1.0 , Exit=0.5 , Response=0.25 .
Strengths
Clear, explainable logic with an explicit noise budget.
Multiple threshold modes so the same tool fits equities, futures, and crypto.
Built-in hysteresis that reduces flip-flop near the boundary.
Slope-based coloring and alerts that make state changes obvious in real time.
Limitations and notes
All filters add lag. Larger thresholds and smaller response trade faster reaction for fewer false turns.
Fixed Points or Ticks can under- or over-filter when volatility regime shifts. ATR adapts, but will also expand bands during spikes.
On extremely choppy symbols, even a well tuned band will step frequently. Widen Enter Mult or reduce Response if needed.
This is a chart study. It does not include commissions, slippage, funding, or gap risks.
Alerts
DBHF Up Slope — baseline turns from down to up on the latest bar.
DBHF Down Slope — baseline turns from up to down on the latest bar.
Implementation details worth knowing
Initialization sets the baseline to the first observed price to avoid a cold-start jump.
Slope is evaluated bar-to-bar. The up and down alerts check for a change of slope rather than raw price crossings.
Candle colors and the baseline plot share the same long/short palette with transparency applied to the line.
Practical workflow
Pick a mode that matches how you think about distance. ATR for volatility aware, Percent for scale-free, Ticks or Points for fixed increments.
Tune Enter Mult until the number of flips feels appropriate for your timeframe.
Set Exit Mult clearly below Enter Mult to create a real hold zone.
Adjust Response last to control “how fast” the baseline chases price once it decides to move.
Final thoughts
Deadband plus hysteresis gives you a principled way to “only care when it matters.” With a sensible threshold and response, the filter yields a stable, low-chop trend cue you can use directly for bias or plug into your own entries, exits, and risk rules.
Volume Profile Multi periodVolume Profile - AOC 📈
Unlock market insights with this powerful volume profile indicator! Analyze trading activity across multiple sessions with customizable settings and clear visuals. Perfect for traders aiming to identify key price levels and market trends with precision. 🚀
Key Features:
Multi-Session Support: Visualize volume profiles for Tokyo, London, New York, Daily, Weekly, Monthly, Quarterly, and Semiannual sessions. 🌍
Customizable Display: Choose session types, resolution, and bar modes (Mode 1 or Mode 2) to match your strategy. 🎛️
Point of Control (POC): Highlights the most traded price levels for each session. 🎯
Color-Coded Profiles: Distinct up/down volume visualization for quick analysis. 📊
Session Labels: Optional labels for easy identification of session periods. 🏷️
High/Low Tracking: Tracks session-specific highs and lows for accurate profiling. 📏
Empower your trading decisions with clear, actionable volume data! 💡
BPS Multi-MA 5 — 22/30, SMA/WMA/EMA# Multi-MA 5 — 22/30 base, SMA/WMA/EMA
**What it is**
A lightweight 5-line moving-average ribbon for fast visual bias and trend/mean-reversion reads. You can switch the MA type (SMA/WMA/EMA) and choose between two ways of setting lengths: by monthly “session-based” base (22 or 30) with multipliers, or by entering exact lengths manually. An optional info table shows the effective settings in real time.
---
## How it works
* Calculates five moving averages from the selected price source.
* Lengths are either:
* **Multipliers mode:** `Base × Multiplier` (e.g., base 22 → 22/44/66/88/110), or
* **Manual mode:** any five exact lengths (e.g., 10/22/50/100/200).
* Plots five lines with fixed legend titles (MA1…MA5); the **info table** displays the actual type and lengths.
---
## Inputs
**Length Mode**
* **Multipliers** — choose a **Base** of **22** (≈ trading sessions per month) or **30** (calendar-style, smoother) and set **×1…×5** multipliers.
* **Manual** — enter **Len1…Len5** directly.
**MA Settings**
* **MA Type:** SMA / WMA / EMA
* **Source:** any series (e.g., `close`, `hlc3`, etc.)
* **Use true close (ignore Heikin Ashi):** when enabled, the MA is computed from the underlying instrument’s real `close`, not HA candles.
* **Show info table:** toggles the on-chart table with the current mode, type, base, and lengths.
---
## Quick start
1. Add the indicator to your chart.
2. Pick **MA Type** (e.g., **WMA** for faster response, **SMA** for smoother).
3. Choose **Length Mode**:
* **Multipliers:** set **Base = 22** for session-based monthly lengths (stocks/FX), or **30** for heavier smoothing.
* **Manual:** enter your exact lengths (e.g., 10/22/50/100/200).
4. (Optional) On **Heikin Ashi** charts, enable **Use true close** if you want the lines based on the instrument’s real close.
---
## Tips & notes
* **1 month ≈ 21–22 sessions.** Using 30 as “monthly” yields a smoother, more delayed curve.
* **WMA** reacts faster than **SMA** at the same length; expect earlier signals but more whipsaws in chop.
* **Len = 1** makes the MA track the chosen source (e.g., `close`) almost exactly.
* If changing lengths doesn’t move the lines, ensure you’re editing fields for the **active Length Mode** (Multipliers vs Manual).
* For clean comparisons, use the **same timeframe**. If you later wrap this in MTF logic, keep `lookahead_off` and handle gaps appropriately.
---
## Use cases
* Trend ribbon and dynamic bias zones
* Pullback entries to the mid/slow lines
* Crossovers (fast vs slow) for confirmation
* Volatility filtering by spreading lengths (e.g., 22/44/88/132/176)
---
**Credits:** Built for clarity and speed; designed around session-based “monthly” lengths (22) or smoother calendar-style (30).
VWAP Suite {Phanchai}VWAP Suite {Phanchai}
Compact, readable, TradingView-friendly.
What is VWAP?
The Volume Weighted Average Price (VWAP) is the average price of a period weighted by traded volume. It’s used as a fair-value reference (mean) and resets at the start of each new period.
Included VWAP Modes
Session — resets each trading day (current session).
Week / Month / Quarter / Year — current calendar periods.
Anchored Week / Month / Quarter / Year — starts at the beginning of the previous completed period.
Rolling 7D / 30D / 90D — rolling windows: today + last 6/29/89 daily sessions.
Important
This suite does not generate buy/sell signals. It provides structure and confluence; decisions remain yours.
Use Cases
Identify fair-value zones / mean-reversion areas.
Plan TP / SL around periodic VWAPs.
Define DCA levels (e.g., anchored to prior week/month).
Gauge trend bias via VWAP slope and reactions.
How to Use
Inputs → VWAP 1..5: Choose the period per slot (Session, Anchored, Rolling, etc.) and toggle Show .
Sources: Select the price source for all VWAPs (default: HLC3).
Global: Line offset (bars) shifts plots visually (does not affect calculations).
Style tab: Adjust per-line colors, thickness, and line style.
Alerts
Price crosses a VWAP (per slot).
VWAP slope turns UP or DOWN (per slot).
Tips & Notes
Volume required: Poor/absent volume (e.g., some FX tickers) can degrade accuracy.
Anchored modes: Start at the prior period’s open; values appear only after that timestamp.
Rolling modes: Use completed daily sessions (including today).
Clutter control: If labels crowd, increase Line offset or hide unneeded slots.
Confluence: Combine with market structure, liquidity zones, or momentum filters for stronger context.
Built for clear VWAP workflows. Trade safe!
Full Session ATR Range (Live) - with Position ToggleBelow is a publication-ready text for the "Full Session ATR Range (Live) - with Position Toggle" indicator, written in a professional yet accessible style suitable for a trading community (e.g., TradingView or a blog). The text highlights the indicator's features, usage, and benefits, while avoiding overly technical jargon for a broad audience.
---
### Introducing the Full Session ATR Range (Live) Indicator with Position Toggle
Enhance your trading strategy with the **Full Session ATR Range (Live) Indicator**, a powerful tool designed to provide real-time insights into market volatility and session dynamics. This customizable indicator, now available with a position toggle feature, compares the current session's range to a 10-day Average True Range (ATR), helping traders gauge market activity and anticipate potential movements.
#### Key Features
- **Live Range Tracking**: Displays the current session's range (high minus low) alongside a 10-day ATR, updated in real-time during market hours.
- **Session Mode Flexibility**: Includes an auto-toggle option to switch between Electronic Trading Hours (ETH) and Regular Trading Hours (RTH), adapting to your preferred trading session. Manually select ETH or RTH, or let the indicator auto-detect based on market hours.
- **Comprehensive Metrics**: Offers a detailed breakdown including:
- Range/Avg %: Percentage of the current range relative to the 10-day ATR.
- Points Left: Remaining points to reach the average range.
- 100% Range Up/Dn: Potential upper and lower targets based on the ATR difference.
- **Position Customization**: Adjust the table's location on your chart with options like top-left, top-right, middle-center, or bottom-right for optimal visibility.
- **Visual Appeal**: Features a customizable background and text color to match your chart theme.
#### How It Works
The indicator calculates the 10-day ATR using daily data and tracks the current session's range, resetting at the start of each day or session change. During market hours (e.g., 6 AM - 8 PM CDT, adjustable), it updates live, providing actionable insights. When the market is closed, it displays historical ATR while marking live metrics as "n/a" to avoid confusion. The ETH/RTH toggle ensures the range reflects either the full extended session or the core trading hours, tailored to your strategy.
#### Why Use It?
Whether you're a day trader monitoring intraday volatility or a swing trader assessing longer-term trends, this indicator helps you:
- Identify overextended or underactive sessions compared to historical norms.
- Plan entries and exits with targets based on the 100% Range Up/Dn levels.
- Stay informed with a clean, adjustable display that fits your workflow.
#### Installation & Customization
1. Add the indicator to your TradingView chart.
2. Adjust the ATR length (default: 10 days) and table position via the input settings.
3. Choose your session mode (Auto, ETH, or RTH) and customize colors to suit your style.
4. Test during market hours for live updates—note that static values may appear outside trading sessions.
#### Feedback & Support
This indicator is designed for flexibility and ease of use. Share your feedback or request enhancements by commenting below or contacting the developer. Happy trading!
Silver BulletSilver Bullet is a trading tool built for finding cleaner, higher-probability setups. It focuses on key windows of market movement and adds helpful tools like daily range levels and candlestick patterns.
Whether you’re trading breakouts or reversals, Silver Bullet gives you a clearer view of the market and more confidence in your setups.
⸻
🔹 Trading Setup #1: Macro Time
The Macro Time setting offers two modes: Macro Bullet and Silver Bullet. Both help traders focus on specific times when the market tends to deliver clean moves.
• Macro Bullet is based on the high and low of a full macro session. It automatically detects the session’s range and bias, then offers optimal entries for either Long or Short setups. Once the session resolves, it provides Fibonacci-based levels for entry, target, and stop loss.
• Silver Bullet is based on ICT concepts and focuses on the hourly range for London, NY AM, and NY PM sessions. It’s designed for quick time blocks and highlights key levels as the session unfolds.
To use this setup, set Macro Time to “ICT Sessions” and select your preferred mode under Bullet Mode.
⸻
🔹 Trading Setup #2: Daily Range
Enable Daily Range to draw Fibonacci levels based on either the previous day’s candle or the current day’s developing range. These levels help you identify potential support, resistance, and midpoint zones throughout the day.
With the current day’s range, levels automatically update in real time as new highs or lows form — keeping your chart aligned with evolving price action.
⸻
🔹 Trading Setup #3: Candlestick Patterns
Turn on Candlestick Patterns to automatically highlight clean reversal signals such as Hammers, Hanging Men, Shooting Stars, and Tweezers. Each pattern is detected using specific criteria and trend filters to reduce noise and improve reliability. They work especially well as confirmation signals around key levels or session zones.
Silver Bullet brings structure, clarity, and precision to your intraday trading. By combining time-based bias, price action levels, and pattern recognition, it helps you trade with purpose — not guesswork. Use one setup or combine all three for a complete view of the market, tailored to your style and session of choice.
KEY MARKET SESSION EU/US RANGE LEVELS - KLT🔹 KEY MARKET SESSION EU/US RANGE LEVELS - KLT
This indicator highlights critical trading levels during the European and U.S. sessions, with Overbought (OB) and Oversold (OS) markers derived from each session's price range.
It’s designed to support traders in identifying key zones of interest and historical price reactions across sessions.
✳️ Features
🕒 Session Recognition
European Session (EU): 08:00 to 14:00 UTC
United States Session (US): 14:30 to 21:00 UTC
The indicator automatically detects the current session and updates levels in real time.
📈 Overbought / Oversold (OB/OS) Levels
Helps identify potential reversal or reaction zones.
🔁 Previous Session OB/OS Crosses
OB/OS levels from the previous session are plotted as white crosses during the opposite session:
EU OB/OS shown during the US session
US OB/OS shown during the EU session
These levels act as potential price targets or reaction areas based on prior session behavior.
🎨 Session-Based Color Coding
EU Session
High/Low: Orange / Fuchsia
OB/OS: Orange / Lime
Previous OB/OS: White crosses during the US session
US Session
High/Low: Aqua / Teal
OB/OS: Aqua / Lime
Previous OB/OS: White crosses during the EU session
🧠 How to Use
Use the OB/OS levels to gauge potential turning points or extended moves.
Watch for previous session crosses to spot historically relevant zones that may attract price.
Monitor extended High/Low lines as potential magnets for price continuation.
🛠 Additional Notes
No repainting; levels are session-locked and tracked in real time.
Optimized for intraday strategies, scalping, and session-based planning.
Works best on assets with clear session behavior (e.g., forex, indices, major commodities).
Timeframe Quadrants | InvrsROBINHOODTimeframe Quadrant Visualizer
Summary
This indicator is a powerful visualization tool designed to help traders analyze price action by dividing various timeframes into four distinct, color-coded quadrants. By breaking down periods from a full year to a single minute, it offers a unique perspective on market cycles and intraday patterns. The script includes fully customizable colors and display styles, allowing you to tailor the visual output to your specific charting needs.
Key Features
Multiple Timeframe Divisions: Choose to divide a Year, Month, Week, Day, Hour, or Minute into four parts.
Customizable Quadrant Logic:
Year: Divided into calendar quarters (Jan-Mar, Apr-Jun, Jul-Sep, Oct-Dec).
Month: Divided into four approximate weeks (Days 1-7, 8-14, 15-21, 22-end).
Week: Divided into four 42-hour blocks, starting from Sunday at 00:00.
Day: Divided into four 6-hour blocks.
Hour: Divided into four 15-minute blocks.
Minute: Divided into four 15-second blocks.
Flexible Display Options: Visualize the quadrants as either a full Background Color overlay or a Bar Overlay that colors the price bars directly.
Timeframe Separators: A vertical line is automatically drawn at the beginning of each selected timeframe (e.g., at the start of each new day when "Day" is selected), making it easy to see where each period begins.
Full Color Customization: All four quadrant colors are user-definable, along with a global transparency setting to ensure the indicator complements your chart without obscuring price action.
Timezone-Aware: All calculations are performed based on a user-selected timezone from a dropdown menu, ensuring accuracy and consistency across different markets and trading sessions. As an added option, there is a manual input if the timezone is not available.
How to Use
Add to Chart: Add the "Timeframe Quadrants" indicator to your chart.
Open Settings: Hover over the indicator's name on your chart and click the Settings (gear) icon.
Configure the Indicator:
Timeframe: Select the primary time period you want to divide (e.g., "Day", "Week", "Hour").
Display Method: Choose whether you want the quadrants to appear as a Background Color or a Bar Overlay.
Timezone: Select the desired timezone from the dropdown menu. This is crucial for aligning the quadrants with specific market sessions (e.g., "America/New_York" for the NYSE session).
Quadrant Colors: Customize the color for each of the four quadrants.
Transparency %: Adjust the transparency of the colors to your preference.
Underlying Concepts
This script operates by using Pine Script's built-in time and date variables. It identifies the current bar's position within the user-selected timeframe (timeframe_choice) and assigns it to one of four quadrants based on pre-defined logic. For example, when "Day" is selected, it uses the hour() function to determine which 6-hour block the current bar falls into. The vertical separator lines are generated by detecting a change in the relevant time unit (e.g., ta.change(dayofmonth)), which marks the first bar of a new period.
Disclaimer: This tool is intended for visual analysis and pattern recognition. It does not generate buy or sell signals and should be used in conjunction with your own trading strategy and risk management. Past performance is not indicative of future results.
OBR 15min Session Opening Range Breakout + Volume Trend DeltaQuick Overview
This Pine Script plots the opening range for London and New York sessions, highlights breakout levels, draws previous session pivots, and offers a live volume delta table for trend confirmation.
Session Opening Range
- Captures the high/low of the first 15 minutes (configurable) for both London & NY sessions.
- Fills the range area with adjustable semi‑transparent colors.
- Optional alerts fire on breakout above the high or below the low.
Previous Session Levels
- Automatically draws previous day’s High, Low, Open and previous 4‑hour High/Low.
- Helps identify key S/R zones as price approaches ORB breakouts.
Volume Trend Delta
- Uses a CMO‑weighted moving average and ATR bands to detect trend state.
- Accumulates bullish vs. bearish volume during each trend.
- Displays Bull Vol, Bear Vol, and Delta % in a movable table for quick strength checks.
How to Use
1. Let the opening range complete (first 15 min).
2. Look for price closing above/below the ORB—enter long on an upside break, short on a downside break.
3. Check the Volume Delta table: positive delta confirms buying strength; negative delta confirms selling pressure.
4. Use previous day/4h levels as additional support/resistance filters.
Settings & Customization
- ORB Duration & Session Times (London/NY), fill colors, and toggles.
- Enable/disable Previous Day & 4H levels.
- Trend Period, Momentum Window, and Delta table position/size.
- Pre‑built alert conditions for all ORB breakouts.
Developer Notes
- Fully commented for easy adjustments.
- Modular sections: ORB, previous levels, trend delta, and alerts.
- No external libraries—pure Pine Script v6.
Tip
Combine ORB breakouts with Volume Delta and prior session pivots to filter false signals and trade stronger, more reliable moves.
Smart Session ConceptSmart Session Concept — Intelligent Trading Session Overlay
Smart Session Concept is designed to detect major reversal points and key price pivots formed on higher timeframes, particularly during high-volume periods of the day — often marking the footprints of institutional orders and whales.
🔍 Key Features:
Displays standard sessions (Asian, London, New York) and allows adding custom time sessions.
Offers two visualization modes:
Time session table
Visual session boxes plotted on the chart
Auto-sync with seasonal time changes (Summer/Winter), supports Daylight Saving Time (DST)
Full flexibility:
Toggle table, boxes, and labels on/off
Customize colors for all session elements
Choose which months are considered summer/winter
💡 Suggested Use Case:
Use Smart Session Sync to pinpoint critical price structures such as:
Peaks and troughs of trending waves
Highs/lows in Wyckoff trading ranges
Liquidity sweeps or untouched liquidity zones
----------------------
Asian & London Session Highs/LowsAsian & London Session Highs/Lows with Extendable Lines
This TradingView script automatically marks the highs and lows of the Asian and London trading sessions for the most recent day, allowing traders to identify key levels during these active periods. The lines representing the high and low of each session are drawn at the exact price point where the high/low occurred, and they extend to the right for a customizable number of bars, helping to visualize how the price reacts to these key levels after the session ends.
Key Features:
Session High/Low Tracking: Automatically tracks the highest and lowest points for the Asian and London sessions.
Extendable Lines: Lines start at the exact bar where the high/low occurred and can be extended to the right for a specified number of bars.
Timezone Adjustment: Allows you to input a timezone offset to adjust session times based on your local time or desired market time zone.
Customizable Colors & Line Thickness: Adjust the color and thickness of the session high and low lines to suit your visual preferences.
Clear & Precise Levels: Helps identify important support and resistance levels, making it easier to spot market reactions around session highs and lows.
This indicator is perfect for day traders and those looking to trade during specific market hours, offering clear visual markers of session boundaries and critical price levels.
Dskyz (DAFE) Quantum Sentiment Flux - Beginners Dskyz (DAFE) Quantum Sentiment Flux - Beginners:
Welcome to the Dskyz (DAFE) Quantum Sentiment Flux - Beginners , a strategy and concept that’s your ultimate wingman for trading futures like MNQ, NQ, MES, and ES. This gem combines lightning-fast momentum signals, market sentiment smarts, and bulletproof risk management into a system so intuitive, even newbies can trade like pros. With clean DAFE visuals, preset modes for every vibe, and a revamped dashboard that’s basically a market GPS, this strategy makes futures trading feel like a high-octane sci-fi mission.
Built on the Dskyz (DAFE) legacy of Aurora Divergence, the Quantum Sentiment Flux is designed to empower beginners while giving seasoned traders a lean, sentiment-driven edge. It uses fast/slow EMA crossovers for entries, filters trades with VIX, SPX trends, and sector breadth, and keeps your account safe with adaptive stops and cooldowns. Tuned for more action with faster signals and a slick bottom-left dashboard, this updated version is ready to light up your charts and outsmart institutional traps. Let’s dive into why this strat’s a must-have and break down its brilliance.
Why Traders Need This Strategy
Futures markets are a wild ride—fast moves, volatility spikes (like the April 28, 2025 NQ 1k-point drop), and institutional games that can wreck unprepared traders. Beginners often get lost in complex systems or burned by impulsive trades. The Quantum Sentiment Flux is the antidote, offering:
Dead-Simple Setup: Preset modes (Aggressive, Balanced, Conservative) auto-tune signals, risk, and sizing, so you can trade without a quant degree.
Sentiment Superpower: VIX filter, SPX trend, and sector breadth visuals keep you aligned with market health, dodging chop and riding trends.
Ironclad Safety: Tighter ATR-based stops, 2:1 take-profits, and preset cooldowns protect your capital, even in chaotic sessions.
Next-Level Visuals: Green/red entry triangles, vibrant EMAs, a sector breadth background, and a beefed-up dashboard make signals and context pop.
DAFE Swagger: The clean aesthetics, sleek dashboard—ties it to Dskyz’s elite brand, making your charts a work of art.
Traders need this because it’s a plug-and-play system that blends beginner-friendly simplicity with pro-level market awareness. Whether you’re just starting or scalping 5min MNQ, this strat’s your key to trading with confidence and style.
Strategy Components
1. Core Signal Logic (High-Speed Momentum)
The strategy’s engine is a momentum-based system using fast and slow Exponential Moving Averages (EMAs), now tuned for faster, more frequent trades.
How It Works:
Fast/Slow EMAs: Fast EMA (Aggressive: 5, Balanced: 7, Conservative: 9 bars) and slow EMA (12/14/18 bars) track short-term vs. longer-term momentum.
Crossover Signals:
Buy: Fast EMA crosses above slow EMA, and trend_dir = 1 (fast EMA > slow EMA + ATR * strength threshold).
Sell: Fast EMA crosses below slow EMA, and trend_dir = -1 (fast EMA < slow EMA - ATR * strength threshold).
Strength Filter: ma_strength = fast EMA - slow EMA must exceed an ATR-scaled threshold (Aggressive: 0.15, Balanced: 0.18, Conservative: 0.25) for robust signals.
Trend Direction: trend_dir confirms momentum, filtering out weak crossovers in choppy markets.
Evolution:
Faster EMAs (down from 7–10/21–50) catch short-term trends, perfect for active futures markets.
Lower strength thresholds (0.15–0.25 vs. 0.3–0.5) make signals more sensitive, boosting trade frequency without sacrificing quality.
Preset tuning ensures beginners get optimized settings, while pros can tweak via mode selection.
2. Market Sentiment Filters
The strategy leans hard into market sentiment with a VIX filter, SPX trend analysis, and sector breadth visuals, keeping trades aligned with the big picture.
VIX Filter:
Logic: Blocks long entries if VIX > threshold (default: 20, can_long = vix_close < vix_limit). Shorts are always allowed (can_short = true).
Impact: Prevents longs during high-fear markets (e.g., VIX spikes in crashes), while allowing shorts to capitalize on downturns.
SPX Trend Filter:
Logic: Compares S&P 500 (SPX) close to its SMA (Aggressive: 5, Balanced: 8, Conservative: 12 bars). spx_trend = 1 (UP) if close > SMA, -1 (DOWN) if < SMA, 0 (FLAT) if neutral.
Impact: Provides dashboard context, encouraging trades that align with market direction (e.g., longs in UP trend).
Sector Breadth (Visual):
Logic: Tracks 10 sector ETFs (XLK, XLF, XLE, etc.) vs. their SMAs (same lengths as SPX). Each sector scores +1 (bullish), -1 (bearish), or 0 (neutral), summed as breadth (-10 to +10).
Display: Green background if breadth > 4, red if breadth < -4, else neutral. Dashboard shows sector trends (↑/↓/-).
Impact: Faster SMA lengths make breadth more responsive, reflecting sector rotations (e.g., tech surging, energy lagging).
Why It’s Brilliant:
- VIX filter adds pro-level volatility awareness, saving beginners from panic-driven losses.
- SPX and sector breadth give a 360° view of market health, boosting signal confidence (e.g., green BG + buy signal = high-probability trade).
- Shorter SMAs make sentiment visuals react faster, perfect for 5min charts.
3. Risk Management
The risk controls are a fortress, now tighter and more dynamic to support frequent trading while keeping accounts safe.
Preset-Based Risk:
Aggressive: Fast EMAs (5/12), tight stops (1.1x ATR), 1-bar cooldown. High trade frequency, higher risk.
Balanced: EMAs (7/14), 1.2x ATR stops, 1-bar cooldown. Versatile for most traders.
Conservative: EMAs (9/18), 1.3x ATR stops, 2-bar cooldown. Safer, fewer trades.
Impact: Auto-scales risk to match style, making it foolproof for beginners.
Adaptive Stops and Take-Profits:
Logic: Stops = entry ± ATR * atr_mult (1.1–1.3x, down from 1.2–2.0x). Take-profits = entry ± ATR * take_mult (2x stop distance, 2:1 reward/risk). Longs: stop below entry, TP above; shorts: vice versa.
Impact: Tighter stops increase trade turnover while maintaining solid risk/reward, adapting to volatility.
Trade Cooldown:
Logic: Preset-driven (Aggressive/Balanced: 1 bar, Conservative: 2 bars vs. old user-input 2). Ensures bar_index - last_trade_bar >= cooldown.
Impact: Faster cooldowns (especially Aggressive/Balanced) allow more trades, balanced by VIX and strength filters.
Contract Sizing:
Logic: User sets contracts (default: 1, max: 10), no preset cap (unlike old 7/5/3 suggestion).
Impact: Flexible but risks over-leverage; beginners should stick to low contracts.
Built To Be Reliable and Consistent:
- Tighter stops and faster cooldowns make it a high-octane system without blowing up accounts.
- Preset-driven risk removes guesswork, letting newbies trade confidently.
- 2:1 TPs ensure profitable trades outweigh losses, even in volatile sessions like April 27, 2025 ES slippage.
4. Trade Entry and Exit Logic
The entry/exit rules are simple yet razor-sharp, now with VIX filtering and faster signals:
Entry Conditions:
Long Entry: buy_signal (fast EMA crosses above slow EMA, trend_dir = 1), no position (strategy.position_size = 0), cooldown passed (can_trade), and VIX < 20 (can_long). Enters with user-defined contracts.
Short Entry: sell_signal (fast EMA crosses below slow EMA, trend_dir = -1), no position, cooldown passed, can_short (always true).
Logic: Tracks last_entry_bar for visuals, last_trade_bar for cooldowns.
Exit Conditions:
Stop-Loss/Take-Profit: ATR-based stops (1.1–1.3x) and TPs (2x stop distance). Longs exit if price hits stop (below) or TP (above); shorts vice versa.
No Other Exits: Keeps it straightforward, relying on stops/TPs.
5. DAFE Visuals
The visuals are pure DAFE magic, blending clean function with informative metrics utilized by professionals, now enhanced by faster signals and a responsive breadth background:
EMA Plots:
Display: Fast EMA (blue, 2px), slow EMA (orange, 2px), using faster lengths (5–9/12–18).
Purpose: Highlights momentum shifts, with crossovers signaling entries.
Sector Breadth Background:
Display: Green (90% transparent) if breadth > 4, red (90%) if breadth < -4, else neutral.
Purpose: Faster breadth_sma_len (5–12 vs. 10–50) reflects sector shifts in real-time, reinforcing signal strength.
- Visuals are intuitive, turning complex signals into clear buy/sell cues.
- Faster breadth background reacts to market rotations (e.g., tech vs. energy), giving a pro-level edge.
6. Sector Breadth Dashboard
The new bottom-left dashboard is a game-changer, a 3x16 table (black/gray theme) that’s your market command center:
Metrics:
VIX: Current VIX (red if > 20, gray if not).
SPX: Trend as “UP” (green), “DOWN” (red), or “FLAT” (gray).
Trade Longs: “OK” (green) if VIX < 20, “BLOCK” (red) if not.
Sector Breadth: 10 sectors (Tech, Financial, etc.) with trend arrows (↑ green, ↓ red, - gray).
Placeholder Row: Empty for future metrics (e.g., ATR, breadth score).
Purpose: Consolidates regime, volatility, market trend, and sector data, making decisions a breeze.
- VIX and SPX metrics add context, helping beginners avoid bad trades (e.g., no longs if “BLOCK”).
Sector arrows show market health at a glance, like a cheat code for sentiment.
Key Features
Beginner-Ready: Preset modes and clear visuals make futures trading a breeze.
Sentiment-Driven: VIX filter, SPX trend, and sector breadth keep you in sync with the market.
High-Frequency: Faster EMAs, tighter stops, and short cooldowns boost trade volume.
Safe and Smart: Adaptive stops/TPs and cooldowns protect capital while maximizing wins.
Visual Mastery: DAFE’s clean flair, EMAs, dashboard—makes trading fun and clear.
Backtestable: Lean code and fixed qty ensure accurate historical testing.
How to Use
Add to Chart: Load on a 5min MNQ/ES chart in TradingView.
Pick Preset: Aggressive (scalping), Balanced (versatile), or Conservative (safe). Balanced is default.
Set Contracts: Default 1, max 10. Stick low for safety.
Check Dashboard: Bottom-left shows preset, VIX, SPX, and sectors. “OK” + green breadth = strong buy.
Backtest: Run in strategy tester to compare modes.
Live Trade: Connect to Tradovate or similar. Watch for slippage (e.g., April 27, 2025 ES issues).
Replay Test: Try April 28, 2025 NQ drop to see VIX filter and stops in action.
Why It’s Brilliant
The Dskyz (DAFE) Quantum Sentiment Flux - Beginners is a masterpiece of simplicity and power. It takes pro-level tools—momentum, VIX, sector breadth—and wraps them in a system anyone can run. Faster signals and tighter stops make it a trading machine, while the VIX filter and dashboard keep you ahead of market chaos. The DAFE visuals and bottom-left command center turn your chart into a futuristic cockpit, guiding you through every trade. For beginners, it’s a safe entry to futures; for pros, it’s a scalping beast with sentiment smarts. This strat doesn’t just trade—it transforms how you see the market.
Final Notes
This is more than a strategy—it’s your launchpad to mastering futures with Dskyz (DAFE) flair. The Quantum Sentiment Flux blends accessibility, speed, and market savvy to help you outsmart the game. Load it, watch those triangles glow, and let’s make the markets your canvas!
Official Statement from Pine Script Team
(see TradingView help docs and forums):
"This warning may appear when you call functions such as ta.sma inside a request.security in a loop. There is no runtime impact. If you need to loop through a dynamic list of tickers, this cannot be avoided in the present version... Values will still be correct. Ignore this warning in such contexts."
(This publishing will most likely be taken down do to some miscellaneous rule about properly displaying charting symbols, or whatever. Once I've identified what part of the publishing they want to pick on, I'll adjust and repost.)
Use it with discipline. Use it with clarity. Trade smarter.
**I will continue to release incredible strategies and indicators until I turn this into a brand or until someone offers me a contract.
Created by Dskyz, powered by DAFE Trading Systems. Trade fast, trade bold.
CYCLE BY RiotWolftradingDescription of the "CYCLE" Indicator
The "CYCLE" indicator is a custom Pine Script v5 script for TradingView that visualizes cyclic patterns in price action, dividing the trading day into specific sessions and 90-minute quarters (Q1-Q4). It is designed to identify and display market phases (Accumulation, Manipulation, Distribution, and Continuation/Reversal) along with key support and resistance levels within those sessions. Additionally, it allows customization of boxes, lines, labels, and colors to suit user preferences.
Main Features
Cycle Phases:
Accumulation (1900-0100): Represents the phase where large operators accumulate positions.
Manipulation (0100-0700): Identifies potential manipulative moves to mislead retail traders.
Distribution (0700-1300): The phase where large operators distribute their positions.
Continuation/Reversal (1300-1900): Indicates whether the price continues the trend or reverses.
90-Minute Quarters (Q1-Q4):
Divides each 6-hour cycle (360 minutes) into four 90-minute quarters (Q1: 00:00-01:30, Q2: 01:30-03:00, Q3: 03:00-04:30, Q4: 04:30-06:00 UTC).
Each quarter is displayed with a colored box (Q1: light purple, Q2: light blue, Q3: light gray, Q4: light pink) and labels (defaulted to black).
Support and Resistance Visualization:
Draws boxes or lines (based on settings) showing the high and low levels of each session.
Optionally displays accumulated volume at the highs and lows within the boxes.
Daily Lines and Last 3 Boxes:
How to Use the Indicator
Step 1: Add the Indicator to TradingView
Open TradingView and select the chart where you want to apply the indicator (e.g., UMG9OOR on a 5-minute timeframe, as shown in the screenshot).
Go to the Pine Editor (at the bottom of the TradingView interface).
Copy and paste the provided code.
Click Compile and then Add to Chart.
Step 2: Configure the Indicator
Click on the indicator name on the chart ("CYCLE") and select Settings (or double-click the name).
Adjust the options based on your needs:
Cycle Phases: Enable/disable phases (Accumulation, Manipulation, Distribution, Continuation/Reversal) and adjust their time slots if needed.
90-Minute Quarters: Enable/disable quarters (Q1-Q4).
Step 3: Interpret the Indicator
Identify Cycle Phases:
Observe the red boxes indicating the phases (Accumulation, Manipulation, etc.).
The high and low levels within each phase are potential support/resistance zones.
If volume is enabled, pay attention to the accumulated volume at highs and lows, as it may indicate the strength of those levels.
Use the 90-Minute Quarters (Q1-Q4):
The colored boxes (Q1-Q4) divide the day into 90-minute segments.
Each quarter shows the price range (high and low) during that period.
Use these boxes to identify price patterns within each quarter, such as breakouts or consolidations.
The labels (Q1, Q2, etc.) help you track time and anticipate potential moves in the next quarter.
Analyze Support and Resistance:
The high and low levels of each phase/quarter act as support and resistance.
Daily lines (if enabled) show key levels from the previous day, useful for planning entries/exits.
The "last 3 boxes below price" (if enabled) highlight potential support levels the price might target.
Avoid Manipulation:
During the Manipulation phase (0100-0700), be cautious of sharp moves or false breakouts.
Use the high/low levels of this phase to identify potential traps (as explained in your first question about manipulation candles).
Step 4: Trading Strategy
Entries and Exits:
Support/Resistance: Use the high/low levels of phases and quarters to set entry or exit points.
For example, if the price bounces off a Q1 support level, consider a buy.
Breakouts: If the price breaks a high/low of a quarter (e.g., Q2), wait for confirmation to enter in the direction of the breakout.
Volume: If accumulated volume is high near a key level, that level may be more significant.
Risk Management:
Place stop-loss orders below lows (for buys) or above highs (for sells) identified by the indicator.
Avoid trading during the Manipulation phase unless you have a specific strategy to handle false breakouts.
Time Context:
Use the quarters (Q1-Q4) to plan your trades based on time. For example, if Q3 is typically volatile in your market, prepare for larger moves between 03:00-04:30 UTC.
Step 5: Adjustments and Testing
Test on Different Timeframes: The indicator is set for a 5-minute timeframe (as in the screenshot), but you can test it on other timeframes (e.g., 1-minute, 15-minute) by adjusting the time slots if needed.
Adjust Colors and Styles: If the default colors are not visible on your chart, change them for better clarity.
---
📌 1. **Accumulation: Strong Institutional Activity**
- During the **accumulation phase, we see **high volume: 82.773K, which suggests strong buying interest**, likely from institutional players.
- This sets the base for the following upward move in price.
---
📌 2. **Manipulation: False Breakout with Lower Volume**
- Later, there's a manipulation phase where price breaks above previous highs, but the volume (71.814K) is **lower than during accumulation**.
- This implies that buyers are not as aggressive as before—no real demandbehind the breakout.
- It’s likely a bull trap, where smart money is selling into the breakout to exit their positions.
---
### 📌 3. Distribution: Weakness and Lack of Demand
- The market enters a distribution phase, and volume drops even further (only 7.914K).
- Price struggles to go higher, and you start seeing rejections at the top.
- This shows that demand is drying up, and smart money is offloading positions**—not accumulating anymore.
---
### 💡 Why Take the Short Here?
- Volume is not increasing with new highs—showing weak demand**.
- The manipulation volume is weaker than the accumulation volume, confirming the breakout was likely false.
- Structure starts to break down (Q levels falling), which confirms weakness.
- This creates a high-probability short setup:
- **Entry:** after confirmation of distribution and structural breakdown.
- **Stop loss:** above the manipulation high.
- **Target:** down toward previous lows or value zones.
---
### ✅ Conclusion
Since the manipulation volume failed to exceed the accumulation volume, the breakout lacked real strength. Combined with decreasing volume in the distribution phase, this indicates fading demand and supply taking control—which justifies entering a short position.
Quarterly Theory ICT 04 [TradingFinder] SSMT 4Quarter Divergence🔵 Introduction
Sequential SMT Divergence is an advanced price-action-based analytical technique rooted in the ICT (Inner Circle Trader) methodology. Its primary objective is to identify early-stage divergences between correlated assets within precise time structures. This tool not only breaks down market structure but also enables traders to detect engineered liquidity traps before the market reacts.
In simple terms, SMT (Smart Money Technique) occurs when two correlated assets—such as indices (ES and NQ), currency pairs (EURUSD and GBPUSD), or commodities (Gold and Silver)—exhibit different reactions at key price levels (swing highs or lows). This lack of alignment is often a sign of smart money manipulation and signals a lack of confirmation in the ongoing trend—hinting at an imminent reversal or at least a pause in momentum.
In its Sequential form, SMT divergences are examined through a more granular temporal lens—between intraday quarters (Q1 through Q4). When SMT appears at the transition from one quarter to another (e.g., Q1 to Q2 or Q3 to Q4), the signal becomes significantly more powerful, often aligning with a critical phase in the Quarterly Theory—a framework that segments market behavior into four distinct phases: Accumulation, Manipulation, Distribution, and Reversal/Continuation.
For instance, a Bullish SMT forms when one asset prints a new low while its correlated counterpart fails to break the corresponding low from the previous quarter. This usually indicates absorption of selling pressure and the beginning of accumulation by smart money. Conversely, a Bearish SMT arises when one asset makes a higher high, but the second asset fails to confirm, signaling distribution or a fake-out before a decline.
However, SMT alone is not enough. To confirm a true Market Structure Break (MSB), the appearance of a Precision Swing Point (PSP) is essential—a specific candlestick formation on a lower timeframe (typically 5 to 15 minutes) that reveals the entry of institutional participants. The combination of SMT and PSP provides a more accurate entry point and better understanding of premium and discount zones.
The Sequential SMT Indicator, introduced in this article, dynamically scans charts for such divergence patterns across multiple sessions. It is applicable to various markets including Forex, crypto, commodities, and indices, and shows particularly strong performance during mid-week sessions (Wednesdays and Thursdays)—when most weekly highs and lows tend to form.
Bullish Sequential SMT :
Bearish Sequential SMT :
🔵 How to Use
The Sequential SMT (SSMT) indicator is designed to detect time and structure-based divergences between two correlated assets. This divergence occurs when both assets print a similar swing (high or low) in the previous quarter (e.g., Q3), but in the current quarter (e.g., Q4), only one asset manages to break that swing level—while the other fails to reach it.
This temporal mismatch is precisely identified by the SSMT indicator and often signals smart money activity, a market phase transition, or even the presence of an engineered liquidity trap. The signal becomes especially powerful when paired with a Precision Swing Point (PSP)—a confirming candle on lower timeframes (5m–15m) that typically indicates a market structure break (MSB) and the entry of smart liquidity.
🟣 Bullish Sequential SMT
In the previous quarter, both assets form a similar swing low.
In the current quarter, one asset (e.g., EURUSD) breaks that low and trades below it.
The other asset (e.g., GBPUSD) fails to reach the same low, preserving the structure.
This time-based divergence reflects declining selling pressure, potential absorption, and often marks the end of a manipulation phase and the start of accumulation. If confirmed by a bullish PSP candle, it offers a strong long opportunity, with stop-losses defined just below the swing low.
🟣 Bearish Sequential SMT
In the previous quarter, both assets form a similar swing high.
In the current quarter, one asset (e.g., NQ) breaks above that high.
The other asset (e.g., ES) fails to reach that high, remaining below it.
This type of divergence signals weakening bullish momentum and the likelihood of distribution or a fake-out before a price drop. When followed by a bearish PSP candle, it sets up a strong shorting opportunity with targets in the discount zone and protective stops placed above the swing high.
🔵 Settings
⚙️ Logical Settings
Quarterly Cycles Type : Select the time segmentation method for SMT analysis.
Available modes include: Yearly, Monthly, Weekly, Daily, 90 Minute, and Micro.
These define how the indicator divides market time into Q1–Q4 cycles.
Symbol : Choose the secondary asset to compare with the main chart asset (e.g., XAUUSD, US100, GBPUSD).
Pivot Period : Sets the sensitivity of the pivot detection algorithm. A smaller value increases responsiveness to price swings.
Activate Max Pivot Back : When enabled, limits the maximum number of past pivots to be considered for divergence detection.
Max Pivot Back Length : Defines how many past pivots can be used (if the above toggle is active).
Pivot Sync Threshold : The maximum allowed difference (in bars) between pivots of the two assets for them to be compared.
Validity Pivot Length : Defines the time window (in bars) during which a divergence remains valid before it's considered outdated.
🎨 Display Settings
Show Cycle :Toggles the visual display of the current Quarter (Q1 to Q4) based on the selected time segmentation
Show Cycle Label : Shows the name (e.g., "Q2") of each detected Quarter on the chart.
Show Bullish SMT Line : Draws a line connecting the bullish divergence points.
Show Bullish SMT Label : Displays a label on the chart when a bullish divergence is detected.
Bullish Color : Sets the color for bullish SMT markers (label, shape, and line).
Show Bearish SMT Line : Draws a line for bearish divergence.
Show Bearish SMT Label : Displays a label when a bearish SMT divergence is found.
Bearish Color : Sets the color for bearish SMT visual elements.
🔔 Alert Settings
Alert Name : Custom name for the alert messages (used in TradingView’s alert system).
Message Frequency :
All: Every signal triggers an alert.
Once Per Bar: Alerts once per bar regardless of how many signals occur.
Per Bar Close: Only triggers when the bar closes and the signal still exists.
Time Zone Display : Choose the time zone in which alert timestamps are displayed (e.g., UTC).
Bullish SMT Divergence Alert : Enable/disable alerts specifically for bullish signals.
Bearish SMT Divergence Alert : Enable/disable alerts specifically for bearish signals
🔵 Conclusion
The Sequential SMT (SSMT) indicator is a powerful and precise tool for identifying structural divergences between correlated assets within a time-based framework. Unlike traditional divergence models that rely solely on sequential pivot comparisons, SSMT leverages Quarterly Theory, in combination with concepts like liquidity sweeps, market structure breaks (MSB) and precision swing points (PSP), to provide a deeper and more actionable view of market dynamics.
By using SSMT, traders gain not only the ability to identify where divergence occurs, but also when it matters most within the market cycle. This empowers them to anticipate major moves or traps before they fully materialize, and position themselves accordingly in high-probability trade zones.
Whether you're trading Forex, crypto, indices, or commodities, the true strength of this indicator is revealed when used in sync with the Accumulation, Manipulation, Distribution, and Reversal phases of the market. Integrated with other confluence tools and market models, SSMT can serve as a core component in a professional, rule-based, and highly personalized trading strategy.
SMT Divergence ICT 02 [TradingFinder] Smart Money Technique SMC🔵 Introduction
SMT Divergence (Smart Money Technique Divergence) is a price action-based trading concept that detects discrepancies in market behavior between two assets that are generally expected to move in the same direction. Rooted in ICT (Inner Circle Trader) methodology, this approach helps traders recognize subtle signs of market manipulation or imbalance, often ahead of traditional indicators.
The core idea behind SMT divergence is simple: when two correlated instruments—such as currency pairs, indices, or assets from the same sector—start forming different swing points (highs or lows), this can reveal a lack of confirmation in the trend. Such divergence is often a precursor to a price reversal or pause in momentum.
This technique works effectively across various markets including Forex, stocks, and cryptocurrencies. It’s particularly valuable when used alongside concepts like liquidity sweeps, market structure breaks (MSBs), or order block identification.
In advanced use cases, Sequential SMT helps uncover patterns of alternating divergences across sessions, often signaling engineered liquidity traps before price reacts.
When combined with the Quarterly Theory—which segments market behavior into Accumulation, Manipulation, Distribution, and Continuation/Reversal phases—traders gain insight not only into where divergence happens, but when it's most likely to be significant within the market cycle.
Bullish SMT :
Bullish SMT Divergence occurs when one asset prints a higher low while the correlated asset forms a lower low. This asymmetry often suggests that the downside move is losing strength, hinting at a potential bullish shift.
Bearish SMT :
Bearish SMT Divergence is formed when one asset creates a higher high, while the second asset fails to confirm by printing a lower high. This typically signals weakening bullish pressure and the possibility of a reversal to the downside.
🔵 How to Use
The SMT Divergence indicator is designed to detect imbalances between two positively correlated assets—such as major currency pairs, indices, or commodities. These divergences often indicate early signs of market inefficiency or smart money manipulation and can help traders anticipate trend shifts with higher precision.
Unlike traditional divergence indicators or earlier versions of this script, this upgraded version does not rely solely on consecutive pivot comparisons. Instead, it dynamically scans all available pivots within the chart to identify divergences at any structural level—major or minor—across the price action. This broader detection method increases the reliability and frequency of meaningful SMT signals.
Moreover, when integrated with Sequential SMT logic, the indicator is capable of identifying multiple divergence sequences across sessions. These sequences often signal engineered liquidity traps and can be mapped within the Quarterly Theory framework, allowing traders to pinpoint not just the presence of divergence but also the phase of the market cycle it appears in (Accumulation, Manipulation, Distribution, or Continuation).
🟣 Bullish SMT Divergence
This signal occurs when the primary asset forms a higher low, while the correlated asset forms a lower low. This pattern implies weakening bearish momentum and a potential shift to the upside.
If the correlated asset breaks its previous low but the primary asset does not, this divergence suggests absorption of selling pressure and possible accumulation by smart money—making it a strong bullish signal, especially when aligned with a favorable market phase (e.g., the end of a manipulation phase in Q2).
🟣 Bearish SMT Divergence
This signal occurs when the primary asset creates a higher high, while the correlated asset forms a lower high. This mismatch indicates fading bullish momentum and a potential reversal to the downside.
If the correlated asset fails to confirm a breakout made by the main asset, the divergence may point to distribution or exhaustion. When seen within Q3 or Q4 phases of the Quarterly Theory, this pattern often precedes sharp declines or fake-outs engineered by smart money
🔵 Settings
⚙️ Logical Settings
Symbol : Choose the secondary asset to compare with the main chart asset (e.g., XAUUSD, US100, GBPUSD).
Pivot Period : Sets the sensitivity of the pivot detection algorithm. A smaller value increases responsiveness to price swings.
Activate Max Pivot Back : When enabled, limits the maximum number of past pivots to be considered for divergence detection.
Max Pivot Back Length : Defines how many past pivots can be used (if the above toggle is active).
Pivot Sync Threshold : The maximum allowed difference (in bars) between pivots of the two assets for them to be compared.
Validity Pivot Length : Defines the time window (in bars) during which a divergence remains valid before it's considered outdated.
🎨 Display Settings
Show Bullish SMT Line : Draws a line connecting the bullish divergence points.
Show Bullish SMT Label : Displays a label on the chart when a bullish divergence is detected.
Bullish Color : Sets the color for bullish SMT markers (label, shape, and line).
Show Bearish SMT Line : Draws a line for bearish divergence.
Show Bearish SMT Label : Displays a label when a bearish SMT divergence is found.
Bearish Color : Sets the color for bearish SMT visual elements.
🔔 Alert Settings
Alert Name : Custom name for the alert messages (used in TradingView’s alert system).
Message Frequency :
All : Every signal triggers an alert.
Once Per Bar : Alerts once per bar regardless of how many signals occur.
Per Bar Close : Only triggers when the bar closes and the signal still exists.
Time Zone Display : Choose the time zone in which alert timestamps are displayed (e.g., UTC).
Bullish SMT Divergence Alert : Enable/disable alerts specifically for bullish signals.
Bearish SMT Divergence Alert : Enable/disable alerts specifically for bearish signals
🔵Conclusion
The SMT Plus indicator offers a refined and powerful approach to detecting smart money behavior through divergence analysis between correlated assets. By removing the limitations of consecutive pivot comparisons and allowing for broader structural detection, it captures more accurate and timely signals that often precede major market moves.
When paired with frameworks like Sequential SMT and the Quarterly Theory, the indicator not only highlights where divergence occurs, but also when in the market cycle it's most likely to matter. Its flexible settings, customizable visuals, and integrated alert system make it suitable for intraday scalpers, swing traders, and even long-term macro analysts.
Whether you're using it as a standalone decision-making tool or combining it with other ICT concepts, SMT Plus gives you an edge in recognizing manipulation, timing reversals, and staying in sync with the real market narrative—not just the chart.
Cz ASR indicatorAverage session range indicator built by me. Great tool to gauge volatility and intraday reversal zones. Great for FX as there is an included table that shows range in pips; however, this can be applied across all assets as a volatility measure.
How it works:
The script measures the range of sessions, including Asia, London, and New York. The lookback period could be adjusted so you can find what length works best and is most accurate. This is then averaged out to provide the ASR. This provides us with an upper and lower bound of which the price could potentially fluctuate in based on the past session ranges. I have also added the 50% ASR, which is also a super useful metric for reversals or continuations.
There is also a configurable UTC so that you can adjust the indicator so it can accurately measure the range within certain sessions.
Note - different session start and stop times vary from market to market. I have set the code to the standard forex market opens however, if you wish to change the time ,you are able to do so by editing the variables in the script
Enjoy :)






















