Weekly macro ratio indicator comparing gold vs SPY 30 SMAWhat this indicator does
This indicator tracks the Gold/SPY ratio on a weekly basis to show whether gold is outperforming U.S. equities (risk assets). It helps you determine if the market is favoring hard money / defensive leadership vs risk-on equity leadership.
Why Gold/SPY matters
Gold can rise during equity booms and during equity stress.
The Gold/SPY ratio tells you which asset class is winning in relative terms.
Rising Gold/SPY often signals defensive leadership, shifting macro preferences, or risk repricing.
How it works (regime rules)
Using weekly data:
Compute Gold ÷ SPY
Apply a 30-week SMA
Regime definitions:
Bull: Ratio above a rising 30-week SMA (gold leading equities)
Bear: Ratio below a falling 30-week SMA (equities leading gold)
Neutral: Transition/range
A clear label marks the current regime.
How to use it in your system
Use after Pane 1 (Gold Trend) and Pane 2 (Gold/DXY).
If Gold/SPY is Bull, gold is leading risk assets — metals tend to behave stronger and more “macro-relevant.”
If Gold/SPY is Bear, equities are winning — gold moves may be less dominant.
Neutral usually means rotation or consolidation.
Best timeframe
Designed for weekly macro regime analysis, not short-term trading.
Wskaźniki i strategie
Weekly macro trend indicator for gold using a 30-week SMAWhat this indicator does
This indicator identifies the macro trend regime of gold using a simple, time-tested framework: the weekly price of gold relative to its 30-week simple moving average.
It is designed to answer one question only:
Is gold currently in a monetary uptrend?
How it works
The indicator uses weekly data and applies a 30-week SMA regime filter:
Bullish (Monetary Uptrend):
Gold price is above a rising 30-week SMA.
Bearish (Monetary Downtrend):
Gold price is below a falling 30-week SMA.
Neutral (Transition):
All other conditions (range-bound or early trend change).
A clear on-chart label displays the current regime.
How to use it
Use this as the first filter before analyzing silver, miners, or relative-strength ratios.
When gold is Bull, precious metals deserve attention.
When gold is Bear, most precious-metal trades lose their edge.
When gold is Neutral, patience is usually rewarded.
Best timeframe
This indicator is designed for weekly charts and macro-level decision-making.
It is not intended for day trading or short-term signals.
Who this is for:
Investors and traders focused on macro trends
Those treating gold as a monetary asset, not a short-term trade
Anyone looking for a clean, objective regime filter.
[OBJ] Customisable MAsThis Moving Averages indicator was made and is used by members of the OneBigJourney Discord
Gold And Silver Macro Dashboard A weekly, macro-focused dashboard for precious metals that tracks gold’s trend plus three key relative-strength ratios: Gold/DXY, Gold/SPY, and Silver/Gold. Uses a 30-week SMA regime filter to label each series as Bull / Neutral / Bear and provides a quick “full picture” read.
What this indicator does
This dashboard helps you read the big picture for precious metals using a simple regime framework (weekly + 30-week SMA). It combines four signals into one view:
Gold (XAUUSD) — establishes the core precious-metals trend
Gold / DXY — shows whether gold is outperforming the U.S. dollar
Gold / SPY — shows whether gold is outperforming U.S. equities (risk assets)
Silver / Gold — shows whether risk appetite is returning inside metals (silver leadership)
How it works (simple rules)
Each item is classified using the same weekly regime logic:
Bull: price/ratio is above a rising 30-week SMA
Bear: price/ratio is below a falling 30-week SMA
Neutral: everything else (transition/range)
How to use it (30-second weekly scan)
Start with Gold: if Gold is Bull, metals have a tailwind.
Confirm with Gold/DXY: Bull means gold is beating fiat.
Confirm with Gold/SPY: Bull means gold is beating risk assets.
Use Silver/Gold to size aggressiveness: Bull implies reflation/confidence and often stronger silver participation.
Best timeframe
Designed for Weekly charts. The script can force weekly calculations, so it remains consistent even if you view other timeframes.
Customization
Change tickers if your preferred feed differs (OANDA spot vs futures vs ETFs).
Toggle the plotted lines on/off and keep only the dashboard table if you want a cleaner screen.
Important note
This is a macro regime tool for orientation and context. It is not meant to time entries/exits on lower timeframes.
Default symbols are:
Gold: OANDA:XAUUSD
Silver: OANDA:XAGUSD
Dollar Index: TVC:DXY
SPY: AMEX:SPY
Core Rule: Gold tells you WHEN metals matter. Ratios tell you WHY and HOW aggressive to be.
Bull across all four = strongest PM regime. Mixed readings = transition. Gold Bull + Silver/Gold Bear = defensive gold-led phase.
ETH Staking Rate - weighted average of WSTETH, CBETH, RETHThis indicator uses the redemption rate of WSTETH, CBETH, RETH from Pyth and the market cap of each from Cryptocap to calculate a weighted average ETH staking rate.
RVOL_Core_NSELibrary "RVOL_Core_NSE"
f_rvol(lookbackDays, isNewDay, msSinceSessionStart, volume)
Parameters:
lookbackDays (int)
isNewDay (bool)
msSinceSessionStart (int)
volume (float)
T5_TradeEngineLibrary "T5_TradeEngine"
tick(close_, high_, low_, ema21, ema50, ema200, atrPct, emaGapPct, btcEma50, btcEma200, btcFilterEffective, isBarClose, crossUp21_50, crossDown21_50, allowEntries, exitOnOppositeCross, feeBps, useSR_TPSL, srLeft, srRight, srLookbackPivots, srBufferPct, srMinDistPct, srMinNetAfterFeesPct, srFallbackToATR, tp1CapPct, slCapPct, useTP2Trail, trailExitOnCloseOnly, tp2CapPct, trailCapPct, holdBars)
Parameters:
close_ (float)
high_ (float)
low_ (float)
ema21 (float)
ema50 (float)
ema200 (float)
atrPct (float)
emaGapPct (float)
btcEma50 (float)
btcEma200 (float)
btcFilterEffective (bool)
isBarClose (bool)
crossUp21_50 (bool)
crossDown21_50 (bool)
allowEntries (bool)
exitOnOppositeCross (bool)
feeBps (float)
useSR_TPSL (bool)
srLeft (int)
srRight (int)
srLookbackPivots (int)
srBufferPct (float)
srMinDistPct (float)
srMinNetAfterFeesPct (float)
srFallbackToATR (bool)
tp1CapPct (float)
slCapPct (float)
useTP2Trail (bool)
trailExitOnCloseOnly (bool)
tp2CapPct (float)
trailCapPct (float)
holdBars (int)
SA Range Rank JNJ DAY 1.15.2026DAILY — PREPARE / POSITION MODE
Developer Note: Bias & Position Framing
This daily view is preparatory, not executable.
The purpose of the Daily timeframe is to define directional bias, not entries.
It helps frame which side of the market deserves attention and which activity should be ignored.
The goal here is context, not action.
________________________________________
Purpose on Daily
The Daily timeframe is used to:
• Define directional bias for the week
• Prepare position-building zones
• Identify environments where participation is unnecessary or elevated-risk
• Reduce overtrading by narrowing focus
Daily charts answer one question only:
“If I participate this week, which side makes sense?”
________________________________________
What Matters Most (Public View)
SA Range Indicator (RI):
→ Is the market transitioning or trending?
→ Is energy building, releasing, or rotating?
SA ZoneEngine (visual context only):
→ Are daily moves aligned with higher-timeframe structure?
→ Is price operating with or against dominant bias?
These visuals explain environment, not decisions.
________________________________________
How to Interpret Public Daily Posts
• Daily is not timing
• Daily is not execution
• Daily is not a signal
Daily charts prepare the trader mentally and structurally by clarifying:
• what deserves patience
• what deserves caution
• what deserves no attention at all
________________________________________
Messaging Line
“Daily charts prepare the trade — they don’t execute it.”
________________________________________
SEO Intent
daily equity bias, position preparation, market structure analysis
________________________________________
🤝 For Those Who Find Value
If these daily posts help you see the market more clearly:
• Follow, boost, and share my scripts, Ideas, and MINDS posts
• Feel free to message me directly with questions or build requests
• Constructive feedback and collaboration are always welcome
For traders who want to go deeper, optional memberships may include:
• Additional signal access
• Early previews
• Occasional free tools and upgrades
🔗 Membership & Signals
trianchor.gumroad.com
________________________________________
________________________________________
⏱ 15-MIN — PREPARE / POSITION MODE
Developer Note: Setup Formation Phase
The 15-minute timeframe is where setups begin to form, not where they are acted on.
This view exists to separate developing structure from noise.
________________________________________
Purpose on 15-Minute
The 15-minute timeframe is used to:
• Spot trap-prone conditions
• Identify developing structure
• Observe compression, rotation, or early expansion
• Prepare for execution — without acting
This timeframe answers a different question:
“Is something forming — or is this noise?”
________________________________________
What Matters Most (Public View)
SA Range Indicator (RI):
→ Compression → expansion transitions
→ Energy buildup vs premature release
SA CloudRegimes (visual only):
→ Whether price behavior reflects continuation, pullback, or contraction
→ Whether movement is controlled or impulsive
These visuals describe behavior, not entries.
________________________________________
How to Interpret Public 15-Minute Posts
• 15m is setup formation
• 15m is environmental awareness
• 15m is not execution
Most errors occur when traders act before structure has finished forming.
This timeframe exists to slow that impulse down.
________________________________________
Messaging Line
“Preparation happens before the move — not during it.”
________________________________________
SEO Intent
15 minute futures setup, market preparation, stop hunt behavior
________________________________________
🤝 For Those Who Find Value
If these posts help you better recognize developing structure:
• Follow, boost, and share my scripts, Ideas, and MINDS posts
• Feel free to message me directly with questions or build requests
• Constructive feedback and collaboration are always welcome
For traders who want to go deeper, optional memberships may include:
• Additional signal access
• Early previews
• Occasional free tools and upgrades
🔗 Membership & Signals
trianchor.gumroad.com
Daily (D) — Swing Bias / “This is the side that has permission”
Goal: Define swing participation: are we in a supported trend or mean-revert risk?
How to use:
• Daily RECLAIM = “permission restored” after a shock move / trend resumption.
• Use it to decide:
Hold adds / reduce hedges / stop fighting direction.
Best use case:
• After earnings/news displacement days
• After large liquidation candles
• After a major gap day
Settings:
• dispMult 1.1–1.5
• reclaimWindow 12–25
• cooldown 6–12
🔵 DAILY — Swing Environment & Risk Framing
1️⃣ Range Indicator (RI)
• Compression → swing expansion likely
• Expansion → continuation or exhaustion
Use:
Tells you whether to expect patience or momentum.
________________________________________
2️⃣ ZoneEngine (Structure)
• Confirms whether daily swings align with higher bias
• Filters false daily breakouts
Use:
Only trust daily moves that occur inside structure.
________________________________________
3️⃣ Cloud / Reclaim (Behavior)
• Trend Clouds → continuation environment
• Pullback Clouds → reload or fade zones
• Reclaim shows acceptance back into value
Use:
Distinguishes real pullbacks from traps.
________________________________________
4️⃣ Stop-Hunt Proxy
• Clears weak swing participants
• Often precedes continuation when aligned
Use:
Stop-hunt + compression + trend cloud = swing continuation context.
Attorney Ko's Moving Average 3 Stochastic책 고변호사 주식강의에 나오는 이평선과 스토캐스틱을 적용했다.
60이평선을 40이평선, 120이평선을 80이평선으로 바꿨다.
I applied the moving averages and stochastics from Attorney Koh's stock lecture.
I changed the 60 moving average to the 40 moving average, and the 120 moving average to the 80 moving average.
Average Directional Index (Colored by DMI)This is a simple oscillator that plots the ADX line, but color-coded as to whether DMI+ is above DMI- or vice versa. In short, when ADX line is green, bulls are in control; and when ADX line is red, bears are in control.
Daily Relative Strength (Daily Update)📊 Daily Relative Strength Rank Table (Crypto / Multi-Asset)
This indicator provides a daily relative strength ranking of multiple assets using normalized percentage returns (Z-Scores). It is designed to help traders quickly identify which tokens are outperforming or underperforming the group, both today (live) and yesterday (finalized).
🔍 How It Works
Each asset’s daily percentage return is calculated from the daily close.
Returns are then normalized (Z-score) across the selected group, showing how far each asset deviates from the group average.
Assets are ranked from strongest to weakest based on today’s normalized score.
📈 Table Columns
Rank – Relative position vs other assets (higher = stronger)
Token – Asset symbol
Today Z – Live, intraday relative strength (updates in real time)
Yday Z – Frozen relative strength from the previous daily close
The Yesterday score does not repaint and remains constant throughout the day, allowing for clear comparison between today’s performance and the prior session.
🎯 Why Use This Indicator?
Quickly spot leaders and laggards
Compare assets on a percent-based, normalized scale
Avoid price bias (low-price and high-price assets are treated equally)
Ideal for rotation strategies, momentum trading, and market strength analysis
⚙️ Customization
All symbols can be changed directly in the indicator settings
Works on any timeframe (daily logic is handled internally)
Designed for crypto, but works with stocks, forex, or indices
🧠 Best Use Cases
Identifying top outperformers
Confirming trend continuation
Comparing sector or basket strength
Improving timing and capital allocation decisions
RSIThis Pine Script-based RSI tool monitors market momentum using a high-contrast cyan curve. It leverages Version 5 Label logic to display precise RSI values upon crossing the 30 (oversold) or 70 (overbought) thresholds, identifying high-probability mean-reversion zones and potential bullish/bearish divergences.
VWAP --S/W/M/Q/Y-- (mk)VWAP — S / W / M / Q / Y (mk)
This indicator plots multi-timeframe anchored VWAPs on a single chart, allowing you to view Session, Weekly, Monthly, Quarterly, and Yearly VWAPs simultaneously, each with optional standard-deviation bands.
It is designed for traders who use VWAP as a fair value reference across multiple market horizons and want higher-timeframe context without switching charts.
🔹 What it shows
Session VWAP (daily reset)
Weekly VWAP
Monthly VWAP
Quarterly VWAP
Yearly VWAP
Each VWAP can be enabled or disabled individually.
🔹 VWAP Bands
For every VWAP, the indicator can optionally plot:
±1 standard deviation
±2 standard deviations
±3 standard deviations
These bands help identify:
Overextended price moves
Mean-reversion zones
Higher-timeframe support and resistance
🔹 Key Features
True anchored VWAP using volume-weighted calculations
Automatic resets based on timeframe changes
Clean, color-coded levels for each timeframe
Independent visibility controls for each VWAP and its bands
Works on any market and timeframe with volume data
🔹 How to use it
Use higher-timeframe VWAPs (Monthly / Quarterly / Yearly) as major bias and balance levels
Use Session and Weekly VWAPs for intraday execution and mean-reversion setups
Combine VWAP confluence across timeframes for high-probability zones
Watch price behavior around ±1 / ±2 / ±3 bands for acceptance or rejection
ZigZag ATR PctZigZag ATR % Library
A PineScript v6 library for detecting price pivots based on ATR percentage change (volatility shifts) rather than fixed ATR multiples.
How It Works
Traditional ZigZag indicators use a fixed price threshold to detect pivots. This library takes a different approach: pivots are detected when volatility is changing significantly .
The ATR % change measures how much the Average True Range has shifted over a lookback period:
atrPct = 100 * (atr / atr - 1)
Positive ATR % = Volatility expanding (market becoming more volatile)
Negative ATR % = Volatility contracting (market calming down)
Pivots form when |ATR %| exceeds your threshold, capturing turning points during volatility transitions.
Exported Types
Settings - Configuration (ATR length, lookback, threshold, display options)
Pivot - Pivot point data (price, time, direction, volume, ATR %)
ZigZag - Main state container
Exported Functions
newInstance(settings) - Create a new ZigZag instance
update(zz, atr, atrPct) - Update on each bar
getLastPivot(zz) - Get the most recent pivot
getPivot(zz, index) - Get pivot at specific index
getPivotCount(zz) - Get total number of pivots
calcTR() - Calculate True Range
calcATR(length) - Calculate ATR using EMA
calcATRPct(atr, atrPrev) - Calculate ATR % change
calcPricePct(startPrice, endPrice) - Calculate price % change
Usage Example
//@version=6
indicator("My ZigZag", overlay = true)
import DeepEntropy/ZigZagATRPct/1 as zz
// Settings
var zz.Settings settings = zz.Settings.new(
atrLength = 14,
atrLookback = 14,
atrPctThreshold = 5.0,
depth = 10
)
var zz.ZigZag zigZag = zz.newInstance(settings)
// Calculate ATR %
float atr = zz.calcATR(14)
float atrPct = zz.calcATRPct(atr, atr )
// Update
zigZag := zz.update(zigZag, atr, atrPct)
// Access pivots
int count = zz.getPivotCount(zigZag)
if count > 0
zz.Pivot last = zz.getLastPivot(zigZag)
label.new(last.point, text = str.tostring(last.atrPct, "#.##") + "%")
Parameters
ATR Length - Period for ATR calculation (default: 14)
ATR Lookback - Bars to look back for ATR % change (default: 14)
ATR % Threshold - Minimum |ATR %| to trigger pivot detection (default: 5.0)
Depth - Minimum bars between pivots (default: 10)
Use Cases
Identify reversals during volatility regime changes
Filter noise during low-volatility consolidation
Detect breakout pivots when volatility expands
Build volatility-aware trading systems
This library detects when the market's behavior is changing, not just how much price has moved.
Current TF ADR + EMA20 Overbought / OversoldEasy indicator to show overbought or oversold
Self used, u can try urself
Enjoy
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.
Dynamic Sentiment RSI + Steroid CCI [Combined]RSI Swing Structure (LL, LH, HH, HL)
✅ RSI Sentiment Direction (Up / Down)
✅ CCI Steroid Direction (Up / Down)
✅ Buy Signal when:
RSI Swing makes LL or HL, AND
RSI Sentiment trending UP, AND
CCI trending UP
✅ Sell Signal when:
RSI Swing makes HH or LH, AND
RSI Sentiment trending DOWN, AND
CCI trending DOWN
Nov 22, 2025
Release Notes
RSI Swing Structure (LL, LH, HH, HL)
✅ RSI Sentiment Direction (Up / Down)
✅ CCI Steroid Direction (Up / Down)
✅ Buy Signal when:
RSI Swing makes LL or HL, AND
RSI Sentiment trending UP, AND
CCI trending UP
✅ Sell Signal when:
RSI Swing makes HH or LH, AND
RSI Sentiment trending DOWN, AND
CCI trending DOWN
Trading Sessions UAETrading Sessions – UAE (GMT+4)
This indicator plots the Asia, London, and New York trading sessions as clean session boxes based on UAE time (GMT+4).
Session timing is fully locked to UAE timezone and does not change with the user’s country, chart timezone, or device location. This ensures consistent session behavior for all users worldwide.
Features include:
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.
Sarina - 2EMA 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?
KCP VWAP + Previous Day High/Low + CPR [Dr.K.C.Prakash]KCP VWAP + Previous Day High/Low + CPR Indicator
Designed by Dr. K. C. Prakash
Overview
The KCP VWAP + PDH/PDL + CPR indicator is a professional intraday decision-support system that combines institutional price levels with market structure zones.
It is specially designed for index trading, scalping, and intraday positional trades.
This indicator answers three critical trader questions:
Where is fair value? → VWAP
Where is strong support & resistance? → Previous Day High / Low
Is the market trending or ranging today? → CPR Width & Position
Core Components Explained
1️⃣ VWAP (Volume Weighted Average Price)
Acts as the institutional fair value line
Price above VWAP → Bullish bias
Price below VWAP → Bearish bias
Strong continuation moves happen when price holds VWAP
KCP Insight:
“Trade with institutions, not against them.”
2️⃣ Previous Day High (PDH) & Previous Day Low (PDL)
Most respected intraday breakout & rejection levels
PDH → Supply / Resistance
PDL → Demand / Support
Trading Logic:
Break & hold above PDH → Strong bullish continuation
Break & hold below PDL → Strong bearish continuation
Rejection at PDH/PDL → Mean-reversion setups
3️⃣ CPR – Central Pivot Range
CPR consists of:
Pivot (P)
Top Central (TC)
Bottom Central (BC)
Market Strength Clues:
Narrow CPR → High-volatility trending day
Wide CPR → Range-bound / sideways day
Positioning Rule:
Price above CPR → Bullish market structure
Price below CPR → Bearish market structure






















