SDR Dashboard: 结构距离与节奏How to trade with this "SDR Dashboard"
This indicator is not a mindless "arrow trading system", but a powerful filter and decision-making aid. Please strictly follow the following process:
Step 1: Look at the background color (set the rhythm)
Is the chart background blue? If so, your brain should switch to "only look for buying opportunities" mode. Ignore all red arrow signals.
Is the chart background red? If so, switch to "only look for selling opportunities" mode. Ignore all green arrow signals.
Is the background gray? Stay on the sidelines, or only trade in small positions.
Step 2: Wait for the oscillator to enter the area (measure the distance)
Under the blue background, patiently wait for the "Structural Distance Oscillator" main line to enter the green "support zone" below (below -80). This tells you that the price has fallen back to a favorable position in the structure.
Under the red background, wait for the main line to enter the red "resistance zone" above (above +80).
Step 3: Wait for the arrow to appear (find resonance)
This is the most critical step. When the oscillator main line has entered the favorable area, do not act immediately.
Wait patiently for a clear green (▲) or red (▼) arrow signal to appear. This arrow represents the final confirmation of "momentum" and is the resonance point of "time, place, and people".
Step 4: Confirm with the main chart (execute the transaction)
When the SDR dashboard sends a signal, return to your main chart for final confirmation.
Does this signal appear in the strong support/resistance area you marked with VPVR?
Use the **"Long and Short Positions" tool to measure whether the profit and loss ratio of this transaction is still cost-effective?
If everything is perfect, this is a high-probability transaction that is highly consistent with your trading system. Execute it and set the stop loss and take profit according to your trading plan.
This indicator condenses all our discussions - macro rhythm, structural distance, momentum confirmation - into a simple and powerful visual language. It can greatly help you filter out low-quality trading opportunities and force you to be patient and only take action when the chance of winning is the highest.
Breadth Indicators
Samrat AlertThis indicator generates buy sell signal on different timeframe on all instruments based on price and sma combination
Samrat Alert with HalfTrendThis script used Halftrend Price and SMA combination to generate buy signal on multiple timeframes on various intruments
Capitulation Candle Color✅ What It Does:
Candles turn bright green when the score ≥4 (i.e., multiple capitulation signals active).
Otherwise, candles keep their default coloring.
You can visually confirm extreme oversold conditions by seeing these green bars.
Moving averages and the lower Bollinger Band are displayed for context.
✅ How to Customize:
Adjust thresholds (e.g., make ATR threshold less strict).
Change the minimum score to trigger coloring (e.g., ≥3).
Use a different color (color.rgb(0,255,0) for neon green).
✨ HAZE PIVOTS ENHANCED ✨HAZE PIVOTS ENHANCED - Technical Analysis Indicator
Overview
A pivot point detection and visualization tool that identifies potential support and resistance zones based on price structure. The indicator uses Average True Range (ATR) for dynamic level calculation and risk management.
Key Features
Pivot Detection
Identifies swing highs and lows using customizable pivot length
Marks significant price levels where momentum may shift
Zone Visualization
Creates visual zones around pivot points
Adjustable zone width and height based on ATR multiplier
Color-coded zones for easy identification
Risk Management Levels
Automatically calculates stop loss levels using ATR
Projects potential target levels based on volatility
Displays risk-reward ratios for reference
Visual Elements
Optional signal markers at pivot points
Customizable labels and colors
Information table showing current levels
Clean, professional chart presentation
Technical Components
ATR-based calculations for adaptive levels
Pivot high/low algorithm for structure identification
Real-time alert conditions for zone formation
Persistent visual objects that update with new pivots
Customization Options
Pivot length adjustment (1-20 bars)
ATR period and multipliers
Zone dimensions and opacity
Complete color scheme control
Toggle individual visual components
Use Cases
This indicator serves as a technical analysis tool for:
Identifying potential reversal zones
Setting objective stop loss levels
Calculating risk-reward scenarios
Monitoring price structure changes
Important Notes
This is a technical analysis tool for educational purposes
Past performance does not indicate future results
Always conduct your own analysis before making decisions
The indicator provides objective technical levels only
This indicator is designed to assist with technical analysis by visualizing price structure and volatility-based levels. It does not provide trading signals or recommendations.
XAUUSD Scalping System [MACD + EMA + UT Bot + LinReg]//@version=5
indicator("XAUUSD Scalping System ", overlay=true)
// === INPUTS ===
fastLen = input.int(8, title="MACD Fast Length")
slowLen = input.int(21, title="MACD Slow Length")
signalLen = input.int(5, title="MACD Signal Smoothing")
linregLen = input.int(14, title="Linear Regression Length")
emaLen = input.int(21, title="EMA Length")
atrPeriod = input.int(10, title="UT Bot ATR Period")
atrMultiplier = input.float(2.0, title="UT Bot ATR Multiplier")
// === EMA ===
ema = ta.ema(close, emaLen)
plot(ema, title="21 EMA", color=color.orange, linewidth=1)
// === MACD ===
macdLine = ta.ema(close, fastLen) - ta.ema(close, slowLen)
signalLine = ta.ema(macdLine, signalLen)
hist = macdLine - signalLine
macdBull = hist > 0 and hist > hist
macdBear = hist < 0 and hist < hist
// === Linear Regression ===
linreg = ta.linreg(close, linregLen, 0)
bullCandle = close > linreg
bearCandle = close < linreg
barcolor(bullCandle ? color.new(color.green, 40) : bearCandle ? color.new(color.red, 40) : na)
// === UT Bot ===
atr = ta.atr(atrPeriod)
upperBand = close + atr * atrMultiplier
lowerBand = close - atr * atrMultiplier
var float trend = na
trend := na(trend ) ? 1 : trend
trend := close > upperBand ? 1 : close < lowerBand ? -1 : trend
buyUT = ta.crossover(trend, 0)
sellUT = ta.crossunder(trend, 0)
// === ENTRY CONDITIONS ===
longCondition = buyUT and bullCandle and macdBull and close > ema
shortCondition = sellUT and bearCandle and macdBear and close < ema
plotshape(longCondition, title="BUY Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY", size=size.small)
plotshape(shortCondition, title="SELL Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL", size=size.small)
bgcolor(longCondition ? color.new(color.green, 85) : shortCondition ? color.new(color.red, 85) : na, title="Signal Background")
// === Alerts ===
alertcondition(longCondition, title="BUY Alert", message="XAUUSD BUY setup triggered!")
alertcondition(shortCondition, title="SELL Alert", message="XAUUSD SELL setup triggered!")
Uniswap LP Range Helper by Dayn12Sir
A lightweight Pine Script indicator that lets you:
Visualize any v3/v4 position – set lower/upper ticks, entry price and deposit; the script draws the range and entry lines.
See token balances – labels show how much Token0 or Token1 you’ll hold when the price hits the lower or upper boundary.
Estimate earnings – enter pool TVL, 24 h volume and fee-tier (%). An optional k-factor boosts fees if your range is tighter than the average pool. The panel displays daily fees (USD) and projected APR %.
Toggle everything – check-boxes quickly hide/show range lines, entry line, balance labels or fee label.
Works on any USD-quoted chart; just update the inputs to match the pool you’re analysing.
-------------------------------------------------------------------------------------------------------------
Небольшой Pine Script-индикатор, который позволяет:
Визуализировать позицию v3/v4 — задайте нижнюю/верхнюю границы, цену входа и депозит; скрипт рисует диапазон и линию входа.
Показать остатки токенов — подписи отображают, сколько Token0 или Token1 останется при выходе по нижней или верхней границе.
Оценить доход — введите TVL пула, объём за 24 ч и комиссию пула (%). Дополнительный k-factor увеличивает доход, если ваш диапазон уже среднего. В панели выводятся суточные комиссии (USD) и прогноз APR %.
Управлять отображением — чек-боксы позволяют скрыть/показать линии диапазона, линию входа, подписи остатков или подпись комиссий.
Работает на любом графике, котируемом в USD; достаточно подставить реальные данные пула.
RSI + Stoch + Double Rebond EMA21 (GBPUSD & EURUSD)When the price makes 1 bounce on the ema21 + rsi and stocha in overbought or oversold, it sends me an alert.
RSI + Stoch + Double Rebond EMA21 (GBPUSD & EURUSD)When the price makes 1 bounce on the ema21 + rsi and stocha in overbought or oversold, it sends me an alert.
EMA 9 vs EMA 150 Cross Indicator//@version=5
indicator("EMA 9 vs EMA 150 Cross Indicator", overlay=true)
// Input EMAs
shortEmaLen = input.int(9, title="Short EMA (Fast)")
longEmaLen = input.int(150, title="Long EMA (Slow)")
// Calculate EMAs
emaShort = ta.ema(close, shortEmaLen)
emaLong = ta.ema(close, longEmaLen)
// Detect Crosses
bullishCross = ta.crossover(emaShort, emaLong)
bearishCross = ta.crossunder(emaShort, emaLong)
// Plot EMAs
plot(emaShort, title="EMA 9", color=color.gray)
emaColor = emaShort > emaLong ? color.green : color.red
plot(emaLong, title="EMA 150", color=emaColor, linewidth=2)
// Plot Arrows
plotshape(bullishCross, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.arrowup, size=size.small)
plotshape(bearishCross, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.arrowdown, size=size.small)
Mathematical Previous Day's Levels🧠 Mathematical Previous Day's Levels
This powerful indicator combines price action logic with mathematically derived levels to help traders visualize key intraday and positional support/resistance zones.
deal for:
Intraday Traders (NIFTY/BANKNIFTY focused)
Mathematical/Quant-based trading strategies
Those who combine technical levels with market structure
Anyone who wants clarity with clean visual aids
🚀 Kapsamlı Kripto Teknik Analizkta fib crt göstergesi crt bölgesi beyaz mum ile belirtilmiş fib seviyeleri otomatik yeniler
Price Density Strategy ScoreBased on the rules we defined, a composite score (-3 to +3) is calculated and displayed as colored bars below the chart:
Dark green (+3): Strong buy signal
Light green (+1, +2): Mildly bullish
Gray (0): Neutral
Light red (-1, -2): Mildly bearish
Dark red (-3): Strong sell signal
根据我们定义的规则,计算一个综合分数(-3 到 +3),并在图表下方用不同颜色的柱状图显示出来:
深绿色 (+3):强力买入信号
浅绿色 (+1, +2):温和看涨
灰色 (0):中性
浅红色 (-1, -2):温和看跌
深红色 (-3):强力卖出信号
All in one V2.3 [NMTUAN]Introducing All-in-one V2.3 : Your Complete Trading Compass!
Are you searching for a single, powerful trading system that offers a holistic view of the market and pinpoints optimal entry and exit points? Look no further than All-in-one V2.3 , the meticulously refined indicator system developed by author Nguyễn Minh Tuấn. This comprehensive solution is designed to empower traders with everything they need to navigate any financial market, on any timeframe.
All-in-one V2.3 integrates a full suite of essential trading tools, providing you with unparalleled clarity and precision:
Advanced Trend Identification: Get a crystal-clear understanding of market direction. Our system's sophisticated trend indicators help you cut through the noise, ensuring you're always aligned with the prevailing market momentum.
Dynamic Support & Resistance: Say goodbye to guesswork. All-in-one V2.3 accurately identifies dynamic support and resistance levels, giving you critical insights into potential price turning points for strategic decision-making.
Comprehensive Market Insights: From market sentiment to volatility, this system offers a panoramic view of the market's underlying dynamics. You'll gain a deeper understanding of what's driving price action, enabling more informed trades.
The true power of All-in-one V2.3 lies in its versatility and comprehensive nature. It's engineered to adapt to your trading style and preferences, making it ideal for:
Any Financial Product: Whether you trade stocks, forex, commodities, cryptocurrencies, or indices, All-in-one V2.3 provides relevant and actionable insights across the board.
Any Timeframe: From scalping on minute charts to long-term investing on daily or weekly charts, the system seamlessly adjusts to your preferred trading horizon.
With All-in-one V2.3 , you're not just getting a collection of indicators; you're gaining a fully integrated trading environment that helps you:
See the Big Picture: Understand how various market forces are interacting.
Choose Optimal Entry/Exit Points: Confidently identify when to enter and exit trades for maximum potential.
Simplify Your Analysis: Reduce clutter and focus on what truly matters for profitable trading.
Empower your trading with All-in-one V2.3 and experience market clarity like never before.
Ready to elevate your trading journey?
Zero Lag Trend Signals (MTF) [AlgoAlpha]// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at mozilla.org
// © AlgoAlpha
//@version=5
indicator("Zero Lag Trend Signals (MTF) ", shorttitle="AlgoAlpha - 0️⃣Zero Lag Signals", overlay=true)
length = input.int(70, "Length", tooltip = "The Look-Back window for the Zero-Lag EMA calculations", group = "Main Calculations")
mult = input.float(1.2, "Band Multiplier", tooltip = "This value controls the thickness of the bands, a larger value makes the indicato less noisy", group = "Main Calculations")
t1 = input.timeframe("5", "Time frame 1", group = "Extra Timeframes")
t2 = input.timeframe("15", "Time frame 2", group = "Extra Timeframes")
t3 = input.timeframe("60", "Time frame 3", group = "Extra Timeframes")
t4 = input.timeframe("240", "Time frame 4", group = "Extra Timeframes")
t5 = input.timeframe("1D", "Time frame 5", group = "Extra Timeframes")
green = input.color(#00ffbb, "Bullish Color", group = "Appearance")
red = input.color(#ff1100, "Bearish Color", group = "Appearance")
src = close
lag = math.floor((length - 1) / 2)
zlema = ta.ema(src + (src - src ), length)
volatility = ta.highest(ta.atr(length), length*3) * mult
var trend = 0
if ta.crossover(close, zlema+volatility)
trend := 1
if ta.crossunder(close, zlema-volatility)
trend := -1
zlemaColor = trend == 1 ? color.new(green, 70) : color.new(red, 70)
m = plot(zlema, title="Zero Lag Basis", linewidth=2, color=zlemaColor)
upper = plot(trend == -1 ? zlema+volatility : na, style = plot.style_linebr, color = color.new(red, 90), title = "Upper Deviation Band")
lower = plot(trend == 1 ? zlema-volatility : na, style = plot.style_linebr, color = color.new(green, 90), title = "Lower Deviation Band")
fill(m, upper, (open + close) / 2, zlema+volatility, color.new(red, 90), color.new(red, 70))
fill(m, lower, (open + close) / 2, zlema-volatility, color.new(green, 90), color.new(green, 70))
plotshape(ta.crossunder(trend, 0) ? zlema+volatility : na, "Bearish Trend", shape.labeldown, location.absolute, red, text = "▼", textcolor = chart.fg_color, size = size.small)
plotshape(ta.crossover(trend, 0) ? zlema-volatility : na, "Bullish Trend", shape.labelup, location.absolute, green, text = "▲", textcolor = chart.fg_color, size = size.small)
plotchar(ta.crossover(close, zlema) and trend == 1 and trend == 1 ? zlema-volatility*1.5 : na, "Bullish Entry", "▲", location.absolute, green, size = size.tiny)
plotchar(ta.crossunder(close, zlema) and trend == -1 and trend == -1 ? zlema+volatility*1.5 : na, "Bearish Entry", "▼", location.absolute, red, size = size.tiny)
s1 = request.security(syminfo.tickerid, t1, trend)
s2 = request.security(syminfo.tickerid, t2, trend)
s3 = request.security(syminfo.tickerid, t3, trend)
s4 = request.security(syminfo.tickerid, t4, trend)
s5 = request.security(syminfo.tickerid, t5, trend)
s1a = s1 == 1 ? "Bullish" : "Bearish"
s2a = s2 == 1 ? "Bullish" : "Bearish"
s3a = s3 == 1 ? "Bullish" : "Bearish"
s4a = s4 == 1 ? "Bullish" : "Bearish"
s5a = s5 == 1 ? "Bullish" : "Bearish"
if barstate.islast
var data_table = table.new(position=position.top_right, columns=2, rows=6, bgcolor=chart.bg_color, border_width=1, border_color=chart.fg_color, frame_color=chart.fg_color, frame_width=1)
table.cell(data_table, text_halign=text.align_center, column=0, row=0, text="Time Frame", text_color=chart.fg_color)
table.cell(data_table, text_halign=text.align_center, column=1, row=0, text="Signal", text_color=chart.fg_color)
table.cell(data_table, text_halign=text.align_center, column=0, row=1, text=t1, text_color=chart.fg_color)
table.cell(data_table, text_halign=text.align_center, column=1, row=1, text=s1a, text_color=chart.fg_color, bgcolor=s1a == "Bullish" ? color.new(green, 70) : color.new(red, 70))
table.cell(data_table, text_halign=text.align_center, column=0, row=2, text=t2, text_color=chart.fg_color)
table.cell(data_table, text_halign=text.align_center, column=1, row=2, text=s2a, text_color=chart.fg_color, bgcolor=s2a == "Bullish" ? color.new(green, 70) : color.new(red, 70))
table.cell(data_table, text_halign=text.align_center, column=0, row=3, text=t3, text_color=chart.fg_color)
table.cell(data_table, text_halign=text.align_center, column=1, row=3, text=s3a, text_color=chart.fg_color, bgcolor=s3a == "Bullish" ? color.new(green, 70) : color.new(red, 70))
table.cell(data_table, text_halign=text.align_center, column=0, row=4, text=t4, text_color=chart.fg_color)
table.cell(data_table, text_halign=text.align_center, column=1, row=4, text=s4a, text_color=chart.fg_color, bgcolor=s4a == "Bullish" ? color.new(green, 70) : color.new(red, 70))
table.cell(data_table, text_halign=text.align_center, column=0, row=5, text=t5, text_color=chart.fg_color)
table.cell(data_table, text_halign=text.align_center, column=1, row=5, text=s5a, text_color=chart.fg_color, bgcolor=s5a == "Bullish" ? color.new(green, 70) : color.new(red, 70))
/////////////////////////////////////////ALERTS FOR SMALL ARROWS (ENTRY SIGNALS)
alertcondition(ta.crossover(close, zlema) and trend == 1 and trend == 1, "Bullish Entry Signal",
message="Bullish Entry Signal detected. Consider entering a long position.")
alertcondition(ta.crossunder(close, zlema) and trend == -1 and trend == -1, "Bearish Entry Signal",
message="Bearish Entry Signal detected. Consider entering a short position.")
/////////////////////////////////////////ALERTS FOR TREND CONDITIONS
alertcondition(ta.crossover(trend, 0), "Bullish Trend")
alertcondition(ta.crossunder(trend, 0), "Bearish Trend")
alertcondition(ta.cross(trend, 0), "(Bullish or Bearish) Trend")
alertcondition(ta.crossover(s1, 0), "Bullish Trend Time Frame 1")
alertcondition(ta.crossunder(s1, 0), "Bearish Trend Time Frame 1")
alertcondition(ta.cross(s1, 0), "(Bullish or Bearish) Trend Time Frame 1")
alertcondition(ta.crossover(s2, 0), "Bullish Trend Time Frame 2")
alertcondition(ta.crossunder(s2, 0), "Bearish Trend Time Frame 2")
alertcondition(ta.cross(s2, 0), "(Bullish or Bearish) Trend Time Frame 2")
alertcondition(ta.crossover(s3, 0), "Bullish Trend Time Frame 3")
alertcondition(ta.crossunder(s3, 0), "Bearish Trend Time Frame 3")
alertcondition(ta.cross(s3, 0), "(Bullish or Bearish) Trend Time Frame 3")
alertcondition(ta.crossover(s4, 0), "Bullish Trend Time Frame 4")
alertcondition(ta.crossunder(s4, 0), "Bearish Trend Time Frame 4")
alertcondition(ta.cross(s4, 0), "(Bullish or Bearish) Trend Time Frame 4")
alertcondition(ta.crossover(s5, 0), "Bullish Trend Time Frame 5")
alertcondition(ta.crossunder(s5, 0), "Bearish Trend Time Frame 5")
alertcondition(ta.cross(s5, 0), "(Bullish or Bearish) Trend Time Frame 5")
alertcondition(ta.crossover(close, zlema) and trend == 1 and trend == 1, "Bullish Entry")
alertcondition(ta.crossunder(close, zlema) and trend == -1 and trend == -1, "Bearish Entry")
bullishAgreement = s1 == 1 and s2 == 1 and s3 == 1 and s4 == 1 and s5 == 1
bearishAgreement = s1 == -1 and s2 == -1 and s3 == -1 and s4 == -1 and s5 == -1
alertcondition(bullishAgreement, "Full Bullish Agreement", message="All timeframes agree on bullish trend.")
alertcondition(bearishAgreement, "Full Bearish Agreement", message="All timeframes agree on bearish trend.")
Super Stock Ranking v6 - Rank 1-100Overview:
This powerful indicator is designed to evaluate and rank all stocks across the entire market based on multi-timeframe price performance. It helps traders and investors quickly identify the strongest stocks—those consistently outperforming their peers over various cycles.
Key Features:
Volumatic Variable Index Dynamic Average [BigBeluga]Strong Buying Power Detector – Indicator Introduction This indicator is designed to identify stocks exhibiting strong buying pressure — a key characteristic of potential market leaders and super-performing stocks. By analyzing volume dynamics,
KY CO KHOEThis powerful custom indicator is designed to help traders identify potential super stocks—those with exceptional momentum, trend alignment, and breakout behavior. By combining multiple proven techniques into a single view, this tool gives you a data-driven edge in spotting high-probability trade setups.
“Risk-Asset Liquidity Meter”The CN10Y / DXY / HY-OAS Liquidity Gauge distills three cross-asset signals into a single real-time line that has proven highly responsive to global liquidity swings. By dividing China’s 10-year government-bond yield (a proxy for PBoC policy) by both the U.S. Dollar Index level (a barometer of worldwide dollar tightness) and the ICE BofA U.S. High-Yield credit spread (a daily read on risk appetite), the indicator rises when monetary conditions loosen—China is easing, the dollar is softening, and credit markets are calm—and falls when any of those pillars tighten. Traders pair the raw ratio with its 50-day simple moving average to smooth noise and generate directional signals: sustained moves above the MA typically foreshadow strength in Bitcoin, alt-coins, equities and EM assets, while decisive breaks below it often flag oncoming funding stress or risk-off episodes. Because all inputs update daily and are freely sourced (TVC\:CN10Y, TVC\:DXY, FRED\:BAMLH0A0HYM2), the gauge is a lightweight yet powerful compass for anyone who needs a fast, transparent snapshot of global liquidity’s push-and-pull on crypto and other risk markets.
BB Reentry Alert by miewKey Features of This System:
• Automatically detects “BB False Breakout Traps”
• Simple and easy to use – no need to wait for additional Price Action
• Higher win rate when combined with support/resistance levels or Order Blocks
True Strength Index By DejanTrue Strength Index (TSI)
The True Strength Index is a price momentum oscillator based on double smoothing processing, primarily used to identify overbought/oversold market conditions and trend strength. This version is independently developed and maintained by the Dejan Team, optimized specifically for cryptocurrency trading.
1. Key Features
Double Smoothing Processing: Utilizes two exponential moving average (EMA) calculations on price changes to reduce market noise
Momentum Indicator: Reflects both the rate and direction of price changes
Zero-line Oscillation: Typically fluctuates between +30 and -30
2. Calculation Formula
TSI = (Double-smoothed price change / Double-smoothed absolute price change) × 100
Where:
Primary EMA period: Typically 25
Secondary EMA period: Typically 13
Signal line: Usually a 7-12 period EMA
3. Usage Guidelines
Zero-line Crossovers :
TSI crosses above zero: Buy signal
TSI crosses below zero: Sell signal
Overbought/Oversold Conditions :
TSI > +30: Potential overbought condition
TSI < -30: Potential oversold condition
Divergence Analysis :
Price reaches new high while TSI fails to make new high: Potential bearish divergence
Price reaches new low while TSI fails to make new low: Potential bullish divergence
Signal Line Crossovers :
TSI crosses above signal line: Buy signal
TSI crosses below signal line: Sell signal
4. Advantages and Limitations
Advantages :
Highly responsive to price changes
Effectively filters out short-term volatility
Adaptable to multiple timeframes
Limitations :
May remain in overbought/oversold territory for extended periods during strong trends
Requires confirmation from additional indicators for reliable signals
The TSI indicator works best when combined with other technical analysis tools to enhance trading signal accuracy.
Contact:
QQ: 673008865
WeChat: dejan_he
Mongoose Conflict Risk Radar v1.1 (Separate Panel) description
The Mongoose Capital: Risk Rotation Index is a macro market sentiment tool designed to detect elevated risk conditions by aggregating signals across key asset classes.
This script evaluates trend strength across 8 ETFs representing major risk-on and risk-off flows:
GLD – Gold
VIXY – Volatility
TLT – Long-Term Bonds
SPY – S&P 500
UUP – U.S. Dollar Index
EEM – Emerging Markets
SLV – Silver
FXI – China Large-Cap
Each asset is assigned a binary signal based on price position vs. its 21-period SMA (or a crossover for bonds). The signals are then totaled into a composite Risk Rotation Score, plotted as a bar graph.
How to Use
0–2 = Low risk-on behavior
3–4 = Caution / Mixed regime
5–8 = Elevated conflict or macro stress
Use this as a macro confirmation layer for trend entries, risk reduction, or allocation shifts.
Alerts
Set alerts when the index exceeds 5 to track major rotations into defensive assets.