Attended candles - lines and infobox another updateAttended candles draw liquidity from the area above the high/below the low of the previous candle and close in the opposite direction; i.e., red candles draw liquidity above the previous candle and close in the short direction.
Green attended candles draw liquidity below the previous candle and close in the long direction.
지표 및 전략
CVD - Cumulative Volume Delta Line - TheActulaSnailCVD – Cumulative Volume Delta Line
Author: TheActualSnail
Description:
The CVD (Cumulative Volume Delta) Line indicator calculates the net difference between buying and selling volume over time, helping traders visualize market pressure and order flow. Instead of bars, this version plots a smooth line representing cumulative delta, making it easier to spot trends, divergences, and resets.
Key Features:
Smooth CVD line showing cumulative volume delta.
Optional Moving Average for trend smoothing.
Configurable resets: daily, fixed higher timeframe, session start, or specific intraday time.
Zero line for reference.
Background highlights when the CVD resets.
Settings Explanation
1. CVD Resets (resetInput)
Defines when the CVD calculation resets to zero:
None: Never resets; the CVD accumulates indefinitely.
On a stepped higher timeframe: Resets at the start of each bar of a higher timeframe (e.g., daily on a 1H chart).
On a fixed higher timeframe: Resets at the start of a specific timeframe you choose (fixedTfInput).
At a fixed time: Resets at a specific hour and minute each day (hourInput and minuteInput). Works only on intraday charts.
At the beginning of the session: Resets at the start of each trading session (useful for markets with fixed open/close hours).
2. Fixed Higher Timeframe (fixedTfInput)
Used with fixed higher timeframe reset. Example: "D" = reset at the start of each day, "W" = reset at the start of each week.
3. Fixed Time (hourInput & minuteInput)
Used only with At a fixed time reset. Example: hour = 9, minute = 30 → CVD resets at 9:30 AM each day.
4. Volume Delta Calculation (vdCalcModeInput)
Volume delta: Cumulative delta = up volume − down volume.
Volume delta percent: Relative delta = (up − down) / total volume.
5. Visuals
CVD Line Colors: Green for positive delta, red for negative.
CVD MA: Optional moving average to smooth the line.
Zero Line: Reference for zero cumulative delta.
Background Color on Reset: Highlights bars when CVD resets.
Usage Notes
This indicator is for informational purposes only.
It does not provide buy or sell signals.
Always combine CVD analysis with other indicators, price action, and risk management.
Market conditions can change rapidly; use caution when making trading decisions.
Tip:
For intraday charts, consider using fixed time resets to see daily market pressure clearly.
For higher timeframe analysis, use daily or weekly resets.
Sticky Last 7 Days Highs and LowsHighs and lows marked for last 7 days, to get the clear picture of the range of the chart in last 7 days.
Current TF ADR + EMA20 Overbought / OversoldEasy indicator to show overbought or oversold
Self used, u can try urself
Enjoy
TDStochastic - TOM GOOD CAR (Center)Indicator Overview
TDStochastic - TGC_Stoch_Center is a streamlined momentum analysis tool designed for clarity and efficiency. By integrating Stochastic calculations with a centralized real-time Dashboard, it allows traders to instantly identify market trends and momentum strength directly on the chart.
Key Features
Visual Dashboard: Features a top-center table displaying Trend Status (UP/DOWN), Price Strength (POWERFUL/WEAK), and the current percentage value.
Dynamic Bar Coloring: Automatically changes the candlestick colors based on Stochastic %D direction to filter out market noise.
Enhanced Smoothing: Utilizes SMA smoothing for K and D lines to provide a more stable and reliable signal compared to standard stochastic oscillators.
How to Use
Trend Identification: Monitor the "STATUS" cell. If the momentum is rising, it displays "UPTREND."
Strength Assessment: When momentum is positive and accelerating, the "POWERFUL" status confirms the prevailing trend's strength.
Execution: Ideally used for trend following. Traders can remain in positions as long as the bar color and dashboard status remain consistent with the direction.
Trading involves significant risk. This indicator is a technical analysis tool based on historical data and does not guarantee future profits. Always use proper risk management and do not rely solely on a single indicator for trading decisions.
SMA Lines📊 SMA Lines Indicator - Complete Trading System
Professional multi-feature indicator for Bursa Malaysia combining moving averages, breakout detection, smart money tracking, and visual market participant identification.

🎯 Core Components:
1. Four Simple Moving Averages
• 🟡 SMA 7 (Yellow) - Very short-term trend
• 🔴 SMA 20 (Red) - Short-term trend
• 🔵 SMA 50 (Blue) - Medium-term trend
• ⚫ SMA 200 (Black) - Long-term trend
2. Bollinger Bands
• 20-period, 2.0 std deviation
• Oversold/overbought detection
• Mean reversion opportunities
3. 10-Priority Candlestick Colors
1. 🔵 BLUE - All-Time High breakout (STRONGEST BUY)
2. ⚫ BLACK - All-Time Low breakdown (EXTREME WARNING)
3. 🟡 YELLOW - Open & Close < BB Lower (Extreme oversold)
4. 🟣 PURPLE - Close < BB Lower (Oversold)
5. 🔷 AQUA - 52-Week High breakout
6. 🟢 LIME - Bullish breakout (20-period)
7. 🟠 ORANGE - 52-Week Low breakdown
8. 🟪 FUCHSIA - Bearish breakdown
9. 🟩 GREEN - Normal bullish (Close > Open)
10. 🔴 RED - Normal bearish (Close < Open)
4. Animal Emoji Market Participants
Shows WHO controls the market (one emoji max per bar):
• 🐊 CROCODILE - Smart money/operators at major breakouts (52W/ATH + volume 2x+)
• 🐘 ELEPHANT - Big institutions (volume 4x+ & large candle 2x ATR)
• 🦈 SHARK - Liquidity hunters (volume 2.5x+ on breakouts)
• 🐂 BULL - Strong buyers (SMA alignment + rising 3 bars + volume + 1.2x ATR candle)
• 🐻 BEAR - Strong sellers (SMA reversed + falling 3 bars + volume + 1.2x ATR candle)
• 🐑 SHEEP - Weak retail (volume <0.5x, small candle, no conviction)
Priority System: Crocodile > Elephant > Shark > Bull > Bear > Sheep (no overlap)

📍 Detection Systems:
Three Breakout Levels:
• 20-Period - Short-term breakouts
• 52-Week (252 days) - Yearly resistance/support
• All-Time High/Low - Historical extremes
Volume Confirmation:
• All breakouts require 1.5x+ volume spike
• Filters false signals

⚙️ Key Settings:
• Moving Averages: Customizable periods
• Bollinger Bands: Length & std dev adjustable
• Breakout Period: Default 20 bars
• Volume Multiplier: Default 1.5x
• Toggle Controls: Enable/disable any feature

🎯 Best Trading Strategies:
1. ATH Blue Sky Breakout 🔵
• Entry: Blue candle with 🐊/🐘 emoji
• Target: Open (trail with stop)
• Position: 3-5% (highest conviction)
2. Smart Money Follow 🐊🦈🐘
• Entry: On emoji signal
• Exit: Volume normalizes
• Position: 3-4%
3. Oversold Bounce 🟡🟣
• Entry: Yellow/Purple in uptrend
• Target: BB Middle/Upper (2-3:1 RR)
• Position: 2-3%
4. Trend Following 🐂
• Entry: Bull emoji with SMA alignment
• Trail: SMA 7 or SMA 20
• Exit: Bear emoji appears

⚠️ Key Rules:
✅ Follow: Blue (ATH), Crocodile, Elephant, Bull in uptrend
❌ Avoid: Black (ATL), Sheep signals, counter-trend trades
⚡ Volume Required: All signals need volume confirmation
📊 Risk: 2-5% per trade maximum

💡 Unique Features:
• Non-overlapping emojis - Priority system ensures clean chart
• 10-level color hierarchy - Instant visual analysis
• Smart money detection - See institutional activity
• Real-time labels - Current SMA values displayed
• Professional design - Clean, no clutter

Target Market: Bursa Malaysia (LONG only)
Best Timeframes: Daily, 4H, 1H
Skill Level: Beginner to Advanced
Complete professional system combining technical analysis with behavioral market participant tracking for data-driven trading decisions! 🚀📈
P/D Price LevelsCore Objective: This indicator is meticulously designed to help traders pinpoint Value Zones with precision. The primary goal is to identify optimal Discount levels for long positions and potential Premium levels for short positions.
Based on Smart Money Concepts (SMC), trading at overbought or oversold extremes relative to a specific reference point (Swing High/Low) significantly enhances your Risk-to-Reward (R:R) ratio.
Key Features:
Dynamic Source Selection: Automatically detects the highest peak or lowest trough within a user-defined lookback period, or allows for manual price input for higher timeframe analysis.
10 Fully Customizable Levels: Flexibility to set up to 10 unique percentage (%) offsets. This is crucial as different assets (Gold, Forex, Stocks, or Crypto) exhibit varying volatility profiles and "Golden" discount levels.
Minimalist Interface: All lines and labels are rendered in a subtle light gray and anchored to the right margin. This ensures a clean workspace that doesn't clutter your price action analysis.
Precision Engineering: Optimized for Pine Script v6 to ensure lines remain perfectly horizontal, eliminating common display glitches.
How to Use:
Auto Mode: The script identifies the highest/lowest price within your chosen "Lookback" period as the base.
Manual Mode: If you have identified a significant HTF (Higher Timeframe) Swing High/Low, simply input the price manually in the settings.
The Strategy: Monitor price reaction at key percentages (e.g., 5%, 7%, or 10% discount from a high) to find high-probability reversal or trend continuation signals.
"Trading involves risk. This script is for educational purposes and should not be considered financial advice."
OXS for GC A Share MarketThis is a dummy indicator for selecting shares from GC A share market based on momentum thoery
GC A Share Filter at Ox StreetThis a dummy indicator to help select potential shares based on momentum theory for GC A share market.
Bullish Diamond (Current TF)To ensure the Blue Diamond only appears based on the current timeframe's bullish momentum and ignores any signals during a downtrend, we will use a logic that checks two things:
Trend Filter: Is the current price above a major Moving Average (the 200-period)?
Crossover: Did a fast Moving Average just cross above a slow one on the specific bars you are looking at?
EOB Area - Body Closes Prev Extreme + Opposite Colorhhbhuvgyvgvgy vgyvgvgy
ngyvgyvygvgyt gvgyvtyg
hubhbvguv guvubuyuy
gvubyub
Trend-Filtered Blue DiamondTo make sure the Blue Diamond only appears during a confirmed uptrend and stays hidden during a downtrend, we need to add a "Trend Filter."
The best way to do this is by using a long-term Moving Average (like the 200 EMA). This ensures that even if you get a small bullish crossover, the diamond won't show up unless the overall market direction is positive.
PrecisionPressureMeter v1.0PrecisionPressureMeter v1.0
A clean, visual gauge showing real-time buying vs selling pressure on any timeframe.
How It Works:
The meter calculates buy/sell pressure based on where price closes within each bar's range. A close near the high = buyers won that bar. A close near the low = sellers won. The meter displays this as a simple 10-block vertical gauge.
Reading The Meter:
Green blocks fill from the top = buyer percentage
Red blocks fill from the bottom = seller percentage
50/50 = 5 green, 5 red (neutral)
70% buyers = 7 green, 3 red
30% buyers = 3 green, 7 red
Settings:
Meter Position — Place it anywhere on your chart (6 positions)
Meter Smoothing — Higher = smoother/slower reaction, Lower = faster/choppier (default: 5)
Meter Size — Tiny or Small to fit your layout
Use It For:
Quick visual confirmation of who's in control
Spotting shifts in pressure before price confirms
Adding context to your existing setup
Simple. Clean. Instant read.
EOB Area - Full Wick Engulf (Bull + Bear)eob this svcript ding dong liukldo dokku nuydfvurfuhtrgbrug
rnguyvutgitjug5gb tuhgtugnt
Bullish Trend DiamondTo create a Blue Diamond that specifically signals when a trend is turning bullish, we usually look for a "confluence" of factors (price action + momentum).
A common and effective way to define a bullish reversal is using a Moving Average Crossover combined with the RSI moving out of the oversold zone.
RSI Chebyshev Pro with Goldilocks Fractals [NPR21]RSI Chebyshev Pro with Goldilocks Fractals
- Advanced RSI oscillator combining Chebyshev Type I filtering, MESA adaptive algorithms, candlestick pattern recognition, and Williams Fractal pivot detection for comprehensive momentum analysis.
Core Features:
RSI Calculation
- Chebyshev Type I filtering for superior noise reduction
MESA Adaptive Moving Average for automatic cycle detection
Four display modes: Candles, Candles with Patterns, Heikin Ashi, Line
Adjustable RSI (1-10) and MA (1-10) line widths
Gradient-colored adaptive MA
Pattern Recognition
- Bullish/Bearish Engulfing: Green/red triangles with "Eng" labels
- Morning Star: Green label with diamond and up arrow (bullish reversal)
- Evening Star: Red label with diamond and down arrow (bearish reversal)
- Patterns require RSI confirmation (>60 bearish, <40 bullish)
- Vertical dashed lines mark all pattern occurrences
Goldilocks Fractals
- Williams Fractal methodology applied to RSI values
- BUY signals at swing lows, SELL signals at swing highs
- Bright green/red arrows maintain size at all zoom levels
- Customizable periods (default: 5), offsets, colors, and sizes
- Independent toggles for labels and shapes
Visual Design
- Hollow green bullish candles, solid red bearish candles
- Reference lines at 30, 50, 70 levels
- Professional gradient coloring (orange→yellow→green)
- Optimized for both light and dark themes
How to Use
- Settings
- Length (24): RSI calculation period
- Smoothing (3): Chebyshev smoothing factor
- Fractal Periods (5): Pivot lookback - lower = faster, higher = reliable
- MA Multiplier (1): Cycle detection sensitivity
- Line Widths: Adjust RSI and MA thickness (1-10)
Trading Applications
- Scalping (1m-5m): Fractal n=2-3, quick reversals
- Day Trading (15m-1H): Fractal n=4-5, pattern confluence
- Swing Trading (4H-Daily): Fractal n=6-8, major pivots
- Best signals: Multiple confirmations (fractal + pattern + RSI extreme)
Signal Priority
- Fractal SELL + Evening Star + RSI >70 = Strong bearish
- Fractal BUY + Morning Star + RSI <30 = Strong bullish
- Engulfing + Fractal + MA direction = High probability
- Always confirm with price action on main chart
Technical Details:
Uses Chebyshev filters for minimal phase distortion and sharp noise cutoff. MESA algorithm detects dominant market cycles (1-2048 bars) for adaptive MA calculation. Patterns require multi-bar body analysis, trend context, and RSI level confirmation. Fractals use ta.pivothigh/pivotlow on RSI values with n-period offset to prevent repainting.
Performance
No repainting - fractals appear n bars after formation. Optimized calculations for multiple indicator use. Works on all timeframes and asset classes. Compatible with desktop and mobile platforms.
Credits;
Original RSI concept by ChartPrime. Chebyshev filtering from signal processing theory. MESA algorithm by John Ehlers. Williams Fractals by Bill Williams. Conversion and integration by NPR21.
License: Mozilla Public License 2.0
Disclaimer: For educational purposes only. Use proper risk management. Past performance does not guarantee future results.
Blue Diamond SignalPlace Blue Diamond when RSI is 30. This will be very useful to find oversold tickers
ZigZag ATRZigZag ATR Library
A volatility-adaptive ZigZag indicator that uses Average True Range (ATR) instead of fixed percentage deviation to detect pivot points. This makes the ZigZag dynamically adjust to market conditions — tighter during low volatility, wider during high volatility.
Why ATR instead of Percentage?
The standard ZigZag uses a fixed percentage threshold (e.g., 5%) to determine when price has reversed enough to form a new pivot. This approach has limitations:
A 5% move means very different things for a $10 stock vs a $500 stock
During high volatility, fixed percentages create too many pivots (noise)
During low volatility, fixed percentages may miss significant structure
ATR-based deviation solves these issues by measuring reversals in terms of actual volatility , not arbitrary percentages.
Key Features
Volatility-adaptive pivot detection using ATR × multiplier threshold
Automatic adjustment to changing market conditions
Full customization of ATR length and multiplier
Optional line extension to current price
Pivot labels showing price, volume, and price change
Clean library structure for easy integration
Settings
ATR Length — Period for ATR calculation (default: 14)
ATR Multiplier — How many ATRs price must move to confirm a new pivot (default: 2.0)
Depth — Bars required for pivot detection (default: 10)
Extend to Last Bar — Draw provisional line to current price
Display options — Toggle price, volume, and change labels
How to Use
import YourUsername/ZigZagATR/1 as zz
// Create settings
var zz.Settings settings = zz.Settings.new(
14, // ATR length
2.0, // ATR multiplier
10 // Depth
)
// Create ZigZag instance
var zz.ZigZag zigZag = zz.newInstance(settings)
// Calculate ATR and update on each bar
float atrValue = ta.atr(14)
zigZag.update(atrValue)
Exported Types
Settings — Configuration for calculation and display
Pivot — Stores pivot point data, lines, and labels
ZigZag — Main object maintaining state and pivot history
Exported Functions
newInstance(settings) — Creates a new ZigZag object
update(atrValue) — Updates the ZigZag with current ATR (call once per bar)
lastPivot() — Returns the most recent pivot point
Recommended Multiplier Values
1.0 - 1.5 → More sensitive, more pivots, better for scalping
2.0 - 2.5 → Balanced, good for swing trading (default)
3.0+ → Less sensitive, major pivots only, better for position trading
Based on TradingView's official ZigZag library, modified to use ATR-based deviation threshold.
Sarina - EMA Dynamic -BB - 01132026Here is a concise and professional description of your indicator in English, designed to be shared with others. It highlights the logic of "Dynamic Adaptation" and the "Anti-Noise" system without being overly technical.
Indicator Description: EMA Dynamic - Pro Adaptive System
This indicator is a high-performance trend-following tool designed to filter market noise and adapt to real-time price volatility. Unlike standard EMAs that use a fixed length, this system uses a Computational Logic that expands or contracts its period based on price momentum and distance.
Key Features:
Dynamic EMA Core: The lengths (c1 & c2) are not static. They increase or decrease dynamically as price moves, allowing the indicator to "speed up" during breakouts and "slow down" during consolidations.
Shock-Absorber (Stability Logic): To prevent "false signals" during sudden spikes, the indicator includes a stabilization filter (No-Shock). It only confirms a trend change after the price maintains its position relative to the EMAs for a specified number of bars.
Volatility-Linked Bollinger Bands: The Bollinger Bands are anchored to the Dynamic EMA 1, meaning the volatility channels expand and contract in perfect harmony with the adaptive core of the system.
Dual-Layer Signal System: Includes S-Signals (Fast/Scalp) and P-Signals (Pro/Trend) to identify different layers of market entry and exit points.
Visual Efficiency: Designed for clean charts. Works best with "Wick-only" candlestick views to focus strictly on price rejection and dynamic trend structures.
Best Used For: Identifying the "Safe Middle" of a move and avoiding the traps set by market makers during choppy price action.
Would you like me to create a separate Readme file or a Setup Guide for users who want to know exactly how to tune the "Step Inc/Dec" settings?
Volume Flow DirectionThe indicator is showing you volume flow direction - sustained flow in one direction (green or red dominance) suggests institutional participation that often precedes price movement in that direction. Use in combination with Cumulative Volume Histogram to spot divergences.
Key Interpretation Guidelines:
1. Trend Direction :
- Sustained green dominance suggests underlying buying pressure (bullish)
- Sustained red dominance suggests underlying selling pressure (bearish)
2. Signal Line Crossings (more important than just height):
- Bullish signal : When the combined buffer (white line) crosses above the green signal line
- Bearish signal : When the combined buffer crosses below the red signal line
3. Divergences (most powerful signals):
- Bullish divergence : Price makes lower lows but indicator makes higher lows (green area grows)
- Bearish divergence : Price makes higher highs but indicator makes lower highs (red area deepens)
Practical Trading Interpretation:
Current Market Bias:
- Bullish bias : Green area consistently above zero line
- Bearish bias : Red area consistently below zero line
- Neutral : Indicator oscillating around zero with neither color dominating
Confirmation Factors:
1. Signal Method Context : Your chosen signal method (Percentage, Fixed, etc.) determines the thresholds
2. Trading Style Setting : Different styles (Range/Trend/News) use different parameters
3. Timeframe Consistency : Longer dominance (multiple bars) is more significant than brief spikes
EMA + ATR BandsPlots a fast and slow EMA with ATR-based bands. EMA Fast changes color when crossing extreme zones:
🟢 Green = Rising below lower band (buy signal)
🔴 Red = Falling above upper band (sell signal)
Fully customizable lengths, colors, and ATR multiplier.
gex levels Rafael//@version=5
indicator("GEX Levels (10-slot, symbol-specific)", overlay=true, max_lines_count=500, max_labels_count=500)
//===========================
// User inputs (10 slots)
//===========================
slotSym1 = input.string("IREN", "Slot 1 Symbol")
slotDat1 = input.string('IREN: Key Delta, 20.0, Implied Movement -2σ, 43.83, Implied Movement -σ, 47.97, Implied Movement +2σ, 62.15, Put Dominate , 41.0, Large Gamma 1 & Gamma Field CE & Call Wall & Call Wall CE, 55.0, Put Wall & Large Gamma 2 & Gamma Field, 50.0, Implied Movement +σ, 58.01, Call Dominate , 57.0, Put Wall CE & Gamma Flip & Gamma Flip CE, 43.5,', "Slot 1 Data")
slotSym2 = input.string("", "Slot 2 Symbol")
slotDat2 = input.string("", "Slot 2 Data")
slotSym3 = input.string("", "Slot 3 Symbol")
slotDat3 = input.string("", "Slot 3 Data")
slotSym4 = input.string("", "Slot 4 Symbol")
slotDat4 = input.string("", "Slot 4 Data")
slotSym5 = input.string("", "Slot 5 Symbol")
slotDat5 = input.string("", "Slot 5 Data")
slotSym6 = input.string("", "Slot 6 Symbol")
slotDat6 = input.string("", "Slot 6 Data")
slotSym7 = input.string("", "Slot 7 Symbol")
slotDat7 = input.string("", "Slot 7 Data")
slotSym8 = input.string("", "Slot 8 Symbol")
slotDat8 = input.string("", "Slot 8 Data")
slotSym9 = input.string("", "Slot 9 Symbol")
slotDat9 = input.string("", "Slot 9 Data")
slotSym10 = input.string("", "Slot 10 Symbol")
slotDat10 = input.string("", "Slot 10 Data")
showOnlyOnMatch = input.bool(true, "Show only when chart symbol matches a slot?")
labelOnRight = input.bool(true, "Show labels on right")
extendRight = input.bool(true, "Extend lines to the right")
lineWidth = input.int(2, "Line width", minval=1, maxval=4)
labelOffsetBars = input.int(30, "Label offset (bars to the right)", minval=5, maxval=300)
//===========================
// Helpers
//===========================
trim(s) =>
// Safe trim
str.trim(s)
containsCI(hay, needle) =>
str.contains(str.lower(hay), str.lower(needle))
// Decide color based on label keywords
levelColor(lbl) =>
// You can tune this mapping to match your old indicator’s palette
containsCI(lbl, "key delta") ? color.new(color.red, 0) :
containsCI(lbl, "gamma flip") ? color.new(color.fuchsia, 0) :
containsCI(lbl, "put wall") ? color.new(color.purple, 0) :
containsCI(lbl, "call wall") ? color.new(color.orange, 0) :
containsCI(lbl, "put dominate") ? color.new(color.yellow, 0) :
containsCI(lbl, "call dominate") ? color.new(color.teal, 0) :
containsCI(lbl, "implied movement") ? color.new(color.blue, 0) :
color.new(color.gray, 0)
//===========================
// Pick active slot by chart symbol
//===========================
chartSym = syminfo.ticker // e.g. "IREN" on most US stocks
getSlotData() =>
string sym = ""
string dat = ""
if chartSym == trim(slotSym1) and trim(slotSym1) != ""
sym := trim(slotSym1), dat := slotDat1
else if chartSym == trim(slotSym2) and trim(slotSym2) != ""
sym := trim(slotSym2), dat := slotDat2
else if chartSym == trim(slotSym3) and trim(slotSym3) != ""
sym := trim(slotSym3), dat := slotDat3
else if chartSym == trim(slotSym4) and trim(slotSym4) != ""
sym := trim(slotSym4), dat := slotDat4
else if chartSym == trim(slotSym5) and trim(slotSym5) != ""
sym := trim(slotSym5), dat := slotDat5
else if chartSym == trim(slotSym6) and trim(slotSym6) != ""
sym := trim(slotSym6), dat := slotDat6
else if chartSym == trim(slotSym7) and trim(slotSym7) != ""
sym := trim(slotSym7), dat := slotDat7
else if chartSym == trim(slotSym8) and trim(slotSym8) != ""
sym := trim(slotSym8), dat := slotDat8
else if chartSym == trim(slotSym9) and trim(slotSym9) != ""
sym := trim(slotSym9), dat := slotDat9
else if chartSym == trim(slotSym10) and trim(slotSym10) != ""
sym := trim(slotSym10), dat := slotDat10
//===========================
// Parse "label, value, label, value, ..."
//===========================
parsePairs(raw) =>
// Split by comma, then step through tokens 2 at a time.
// Expect format: label, number, label, number, ...
string t = str.split(raw, ",")
int n = array.size(t)
string outLabels = array.new_string()
float outValues = array.new_float()
for i = 0 to n - 1
array.set(t, i, trim(array.get(t, i)))
for i = 0 to n - 2
if i % 2 == 0
string lbl = array.get(t, i)
string valS = array.get(t, i + 1)
// Skip empty label/value
if lbl != "" and valS != ""
float v = str.tonumber(valS)
if not na(v)
// Optional: remove leading "SYMBOL:" prefix from label
// e.g. "IREN: Key Delta" -> "Key Delta"
string cleaned = lbl
int colonPos = str.pos(cleaned, ":")
if colonPos != -1
cleaned := trim(str.substring(cleaned, colonPos + 1, str.length(cleaned)))
array.push(outLabels, cleaned)
array.push(outValues, v)
//===========================
// Drawing state
//===========================
var line lines = array.new_line()
var label labels = array.new_label()
var string lastRaw = ""
// Delete all existing drawings
clearAll() =>
for i = 0 to array.size(lines) - 1
line.delete(array.get(lines, i))
for i = 0 to array.size(labels) - 1
label.delete(array.get(labels, i))
array.clear(lines)
array.clear(labels)
// Draw levels
drawLevels(sym, raw) =>
= parsePairs(raw)
int m = array.size(lbls)
// Build on last bar only to reduce clutter and avoid heavy redraw
if barstate.islast
clearAll()
// If user wants strict symbol match, and no slot matched, show nothing
bool ok = (sym != "")
if not showOnlyOnMatch
ok := true
if ok
int x1 = bar_index
int x2 = bar_index + (extendRight ? 200 : 1)
for i = 0 to m - 1
string lbl = array.get(lbls, i)
float y = array.get(vals, i)
color c = levelColor(lbl)
// Line
line ln = line.new(x1, y, x2, y, extend=extendRight ? extend.right : extend.none, color=c, width=lineWidth)
array.push(lines, ln)
// Label (right side)
if labelOnRight
int lx = bar_index + labelOffsetBars
string text = lbl + " (" + str.tostring(y) + ")"
label la = label.new(lx, y, text=text, style=label.style_label_left, textcolor=color.white, color=color.new(c, 0))
array.push(labels, la)
//===========================
// Main
//===========================
= getSlotData()
// If not matched but user wants to still show something, fallback to slot1
if not showOnlyOnMatch and sym == ""
sym := trim(slotSym1)
raw := slotDat1
// Redraw only when raw changes (or first run); still rebuild on last bar to keep labels aligned
if raw != lastRaw
lastRaw := raw
drawLevels(sym, raw)
ICT Trading Sessions IndiaICT Trading Sessions – India (IST GMT+5:30)
This indicator plots the Asia, London, and New York trading sessions using Indian Standard Time (GMT+5:30).
Session timing is fully locked to IST and does not change based on the user’s country, chart timezone, or device location, ensuring consistent session behavior for all users worldwide.
Features:
Asia, London & New York session boxes
Correct session closing (no early close issue)
New York session handled across midnight
Customizable colors, borders, and widths
Session labels with adjustable size and text color
Designed for ICT / SMC traders, Forex, Indices, and Crypto.






















