FOR CRT SMT – 4 CANDLE FOR CRT SMT – 4 CANDLE Indicator
This indicator detects SMT (Smart Money Technique) divergence by comparing the last 4 candle highs and lows of two different assets.
Originally designed for BTC–ETH comparison, but it works on any market, including Forex pairs.
You can open EURUSD on the chart and select GBPUSD from the settings, and the indicator will detect SMT divergence between EUR and GBP the same way it does between BTC and ETH. This makes it useful for analyzing correlated markets across crypto, forex, and more.
🔴 Upper SMT (Bearish Divergence – Red)
Occurs when:
The main chart asset makes a higher high,
The comparison asset makes a lower high.
This may signal a liquidity grab and potential reversal.
🟢 Lower SMT (Bullish Divergence – Green)
Occurs when:
The main chart asset makes a lower low,
The comparison asset makes a higher low.
This may indicate the market is sweeping liquidity before reversing upward.
📌 Features
Uses the last 4 candles of both assets.
Automatically draws divergence lines.
Shows clear “SMT ↑” or “SMT ↓” labels.
Works on Crypto, Forex, and all correlated assets.
Indicadores y estrategias
Unmitigated RTH High, Lows & Settlement Levels [Sword & Shield]Unmitigated RTH & Settlement Levels is a powerful tool for Futures and Index traders that tracks key unmitigated price levels.
Key Features:
RTH Highs & Lows: Automatically marks the High and Low of each Regular Trading Hours (RTH) session. These levels extend forward until they are mitigated (revisited) by price.
Daily Settlement: Plots the crucial Daily Settlement price from the previous session, extending it until tested.
Smart Mitigation: Levels are only marked as 'mitigated' during the RTH session, ensuring that overnight (ETH) price action doesn't prematurely remove key levels.
Clean Visualization: Unmitigated levels are shown with clear lines and labels, which automatically disappear once the level is tested, keeping your chart clean and focused on active liquidity pools.
RenkoFlow PercentPercent-based Renko blocks: Prices are dynamically recalculated using real chart data.
Smart approximation: Each block displays an accurate, rounded Renko price for clarity.
Instant trend detection: Automatic UP/DOWN block identification.
Auto-start logic: Begins from the chart’s first available price.
Clean & fast: Ideal for scalping, intraday trading, and real-time decision-making.
Multi TF Quarter & Session Candle Indicator - aamirlang [beta]Key Features:
Quarterly Labels (Q1–Q4) : Detects 90-minute HTF candles on 5-minute charts and labels them as Q1, Q2, Q3, Q4 for clear session tracking.
Session Labels (Asia, London, NY, PM) : Identifies session start times on 15-minute and 60-minute charts and labels them automatically.
CISD Detection : Highlights Critical Swing Directions to pinpoint potential market reversals.
Sweep Detection : Automatically draws sweeps to indicate price levels tested or broken.
Multi-Timeframe Support : Works seamlessly on 1m, 5m, 15m, 60m, Daily, Weekly, and Monthly charts.
How It Works:
Detects the starting time of each HTF candle and automatically detects Quarters and Sessions:
Automatically maps 5m to 90m HTF and labels Q1/Q2/Q3/Q4 to each candle.
Automatically maps 15m/60m to 6H HTF and labels sessions Asia/London/NY/PM
Other timeframes show normal candle time or standard D/W/M formatting.
CISD module identifies critical swing directions.
Sweeps are drawn automatically to highlight tested levels.
Benefits for Traders:
Quickly identify session and quarter candles without manual calculations.
Detect intraday swing directions and potential reversal zones.
Visualize volatility for better risk management.
Perfect for intraday, swing, and long-term analysis.
Promotion & Contact:
Includes a watermark for branding and promotion.
Anyone interested in adding promotion or collaborating can contact via email or text.
Find me at X @aamirlang
Warning:
This is free and version. I will be applying further functionality and may be will shift to subscription so that you can find more wonderful indicators very soon.
Please leave a comment for any suggestion and queries.
Enjoy Trading.
Sniper Zones- TradesmetrixThis indicator automatically highlights high-probability reversal zones and continuation zones by mapping the most influential supply and demand regions on the chart. These zones often act as turning points where price reacts sharply — or, when broken, signal strong momentum and trend continuation.
Whether you are a day trader or a scalper these zones help you:
✔️ Spot clean reversal opportunities before price turns
✔️ Identify breakout strength when a zone fails
✔️ Confirm trend continuation with institutional-grade clarity
✔️ Filter noise and focus only on high-value areas
✔️ Plan trades with confidence using visually clean, reliable zones
Simple, powerful, and highly actionable — this tool lets you trade with the same clarity used by professional traders, without needing to manually mark levels.
If you want to understand where price is likely to react, reverse, or expand into a fresh trend, these zones give you a huge edge.
This works on all Indian Indices and stocks designed specially for NIFTY,BANKNIFTY,FINNIFTY and also works for RELIANCE,TATAMOTORS and other stocks as well
This Indicator is accessible by taking subscription to Tradesmetrix platform which provides Automated Trade journaling and Deep Insights about your trading style and behavior so that you can improve your trading performance and this indicator is exclusively provided for our Pro users. tradesmetrix.com
XAUUSD 1m SMC Zones (BOS + Flexible TP Modes + Trailing Runner)//@version=6
strategy("XAUUSD 1m SMC Zones (BOS + Flexible TP Modes + Trailing Runner)",
overlay = true,
initial_capital = 10000,
pyramiding = 10,
process_orders_on_close = true)
//━━━━━━━━━━━━━━━━━━━
// 1. INPUTS
//━━━━━━━━━━━━━━━━━━━
// TP / SL
tp1Pips = input.int(10, "TP1 (pips)", minval = 1)
fixedSLpips = input.int(50, "Fixed SL (pips)", minval = 5)
runnerRR = input.float(3.0, "Runner RR (TP2 = SL * RR)", step = 0.1, minval = 1.0)
// Daily risk
maxDailyLossPct = input.float(5.0, "Max daily loss % (stop trading)", step = 0.5)
maxDailyProfitPct = input.float(20.0, "Max daily profit % (stop trading)", step = 1.0)
// HTF S/R (1H)
htfTF = input.string("60", "HTF timeframe (minutes) for S/R block")
// Profit strategy (Option C)
profitStrategy = input.string("Minimal Risk | Full BE after TP1", "Profit Strategy", options = )
// Runner stop mode (your option 4)
runnerStopMode = input.string( "BE only", "Runner Stop Mode", options = )
// ATR trail settings (only used if ATR mode selected)
atrTrailLen = input.int(14, "ATR Length (trail)", minval = 1)
atrTrailMult = input.float(1.0, "ATR Multiplier (trail)", step = 0.1, minval = 0.1)
// Pip size (for XAUUSD: 1 pip = 0.10 if tick = 0.01)
pipSize = syminfo.mintick * 10.0
tp1Points = tp1Pips * pipSize
slPoints = fixedSLpips * pipSize
baseQty = input.float (1.0, "Base order size" , step = 0.01, minval = 0.01)
//━━━━━━━━━━━━━━━━━━━
// 2. DAILY RISK MANAGEMENT
//━━━━━━━━━━━━━━━━━━━
isNewDay = ta.change(time("D")) != 0
var float dayStartEquity = na
var bool dailyStopped = false
equityNow = strategy.initial_capital + strategy.netprofit
if isNewDay or na(dayStartEquity)
dayStartEquity := equityNow
dailyStopped := false
dailyPnL = equityNow - dayStartEquity
dailyPnLPct = dayStartEquity != 0 ? (dailyPnL / dayStartEquity) * 100.0 : 0.0
if not dailyStopped
if dailyPnLPct <= -maxDailyLossPct
dailyStopped := true
if dailyPnLPct >= maxDailyProfitPct
dailyStopped := true
canTradeToday = not dailyStopped
//━━━━━━━━━━━━━━━━━━━
// 3. 1H S/R ZONES (for direction block)
//━━━━━━━━━━━━━━━━━━━
htOpen = request.security(syminfo.tickerid, htfTF, open)
htHigh = request.security(syminfo.tickerid, htfTF, high)
htLow = request.security(syminfo.tickerid, htfTF, low)
htClose = request.security(syminfo.tickerid, htfTF, close)
// Engulf logic on HTF
htBullPrev = htClose > htOpen
htBearPrev = htClose < htOpen
htBearEngulf = htClose < htOpen and htBullPrev and htOpen >= htClose and htClose <= htOpen
htBullEngulf = htClose > htOpen and htBearPrev and htOpen <= htClose and htClose >= htOpen
// Liquidity sweep on HTF previous candle
htSweepHigh = htHigh > ta.highest(htHigh, 5)
htSweepLow = htLow < ta.lowest(htLow, 5)
// Store last HTF zones
var float htResHigh = na
var float htResLow = na
var float htSupHigh = na
var float htSupLow = na
if htBearEngulf and htSweepHigh
htResHigh := htHigh
htResLow := htLow
if htBullEngulf and htSweepLow
htSupHigh := htHigh
htSupLow := htLow
// Are we inside HTF zones?
inHtfRes = not na(htResHigh) and close <= htResHigh and close >= htResLow
inHtfSup = not na(htSupLow) and close >= htSupLow and close <= htSupHigh
// Block direction against HTF zones
longBlockedByZone = inHtfRes // no buys in HTF resistance
shortBlockedByZone = inHtfSup // no sells in HTF support
//━━━━━━━━━━━━━━━━━━━
// 4. 1m LOCAL ZONES (LIQUIDITY SWEEP + ENGULF + QUALITY SCORE)
//━━━━━━━━━━━━━━━━━━━
// 1m engulf patterns
bullPrev1 = close > open
bearPrev1 = close < open
bearEngulfNow = close < open and bullPrev1 and open >= close and close <= open
bullEngulfNow = close > open and bearPrev1 and open <= close and close >= open
// Liquidity sweep by previous candle on 1m
sweepHighPrev = high > ta.highest(high, 5)
sweepLowPrev = low < ta.lowest(low, 5)
// Local zone storage (one active support + one active resistance)
// Quality score: 1 = engulf only, 2 = engulf + sweep (we only trade ≥2)
var float supLow = na
var float supHigh = na
var int supQ = 0
var bool supUsed = false
var float resLow = na
var float resHigh = na
var int resQ = 0
var bool resUsed = false
// New resistance zone: previous bullish candle -> bear engulf
if bearEngulfNow
resLow := low
resHigh := high
resQ := sweepHighPrev ? 2 : 1
resUsed := false
// New support zone: previous bearish candle -> bull engulf
if bullEngulfNow
supLow := low
supHigh := high
supQ := sweepLowPrev ? 2 : 1
supUsed := false
// Raw "inside zone" detection
inSupRaw = not na(supLow) and close >= supLow and close <= supHigh
inResRaw = not na(resHigh) and close <= resHigh and close >= resLow
// QUALITY FILTER: only trade zones with quality ≥ 2 (engulf + sweep)
highQualitySup = supQ >= 2
highQualityRes = resQ >= 2
inSupZone = inSupRaw and highQualitySup and not supUsed
inResZone = inResRaw and highQualityRes and not resUsed
// Plot zones
plot(supLow, "Sup Low", color = color.new(color.lime, 60), style = plot.style_linebr)
plot(supHigh, "Sup High", color = color.new(color.lime, 60), style = plot.style_linebr)
plot(resLow, "Res Low", color = color.new(color.red, 60), style = plot.style_linebr)
plot(resHigh, "Res High", color = color.new(color.red, 60), style = plot.style_linebr)
//━━━━━━━━━━━━━━━━━━━
// 5. MODERATE BOS (3-BAR FRACTAL STRUCTURE)
//━━━━━━━━━━━━━━━━━━━
// 3-bar swing highs/lows
swHigh = high > high and high > high
swLow = low < low and low < low
var float lastSwingHigh = na
var float lastSwingLow = na
if swHigh
lastSwingHigh := high
if swLow
lastSwingLow := low
// BOS conditions
bosUp = not na(lastSwingHigh) and close > lastSwingHigh
bosDown = not na(lastSwingLow) and close < lastSwingLow
// Zone “arming” and BOS validation
var bool supArmed = false
var bool resArmed = false
var bool supBosOK = false
var bool resBosOK = false
// Arm zones when first touched
if inSupZone
supArmed := true
if inResZone
resArmed := true
// BOS after arming → zone becomes valid for entries
if supArmed and bosUp
supBosOK := true
if resArmed and bosDown
resBosOK := true
// Reset BOS flags when new zones are created
if bullEngulfNow
supArmed := false
supBosOK := false
if bearEngulfNow
resArmed := false
resBosOK := false
//━━━━━━━━━━━━━━━━━━━
// 6. ENTRY CONDITIONS (ZONE + BOS + RISK STATE)
//━━━━━━━━━━━━━━━━━━━
flatOrShort = strategy.position_size <= 0
flatOrLong = strategy.position_size >= 0
longSignal = canTradeToday and not longBlockedByZone and inSupZone and supBosOK and flatOrShort
shortSignal = canTradeToday and not shortBlockedByZone and inResZone and resBosOK and flatOrLong
//━━━━━━━━━━━━━━━━━━━
// 7. ORDER LOGIC – TWO PROFIT STRATEGIES
//━━━━━━━━━━━━━━━━━━━
// Common metrics
atrTrail = ta.atr(atrTrailLen)
// MINIMAL MODE: single trade, BE after TP1, optional trailing
// HYBRID MODE: two trades (Scalp @ TP1, Runner @ TP2)
// Persistent tracking
var float longEntry = na
var float longTP1 = na
var float longTP2 = na
var float longSL = na
var bool longBE = false
var float longRunEntry = na
var float longRunTP1 = na
var float longRunTP2 = na
var float longRunSL = na
var bool longRunBE = false
var float shortEntry = na
var float shortTP1 = na
var float shortTP2 = na
var float shortSL = na
var bool shortBE = false
var float shortRunEntry = na
var float shortRunTP1 = na
var float shortRunTP2 = na
var float shortRunSL = na
var bool shortRunBE = false
isMinimal = profitStrategy == "Minimal Risk | Full BE after TP1"
isHybrid = profitStrategy == "Hybrid | Scalp TP + Runner TP"
//━━━━━━━━━━ LONG ENTRIES ━━━━━━━━━━
if longSignal
if isMinimal
longEntry := close
longSL := longEntry - slPoints
longTP1 := longEntry + tp1Points
longTP2 := longEntry + slPoints * runnerRR
longBE := false
strategy.entry("Long", strategy.long)
supUsed := true
supArmed := false
supBosOK := false
else if isHybrid
longRunEntry := close
longRunSL := longRunEntry - slPoints
longRunTP1 := longRunEntry + tp1Points
longRunTP2 := longRunEntry + slPoints * runnerRR
longRunBE := false
// Two separate entries, each 50% of baseQty (for backtest)
strategy.entry("LongScalp", strategy.long, qty = baseQty * 0.5)
strategy.entry("LongRun", strategy.long, qty = baseQty * 0.5)
supUsed := true
supArmed := false
supBosOK := false
//━━━━━━━━━━ SHORT ENTRIES ━━━━━━━━━━
if shortSignal
if isMinimal
shortEntry := close
shortSL := shortEntry + slPoints
shortTP1 := shortEntry - tp1Points
shortTP2 := shortEntry - slPoints * runnerRR
shortBE := false
strategy.entry("Short", strategy.short)
resUsed := true
resArmed := false
resBosOK := false
else if isHybrid
shortRunEntry := close
shortRunSL := shortRunEntry + slPoints
shortRunTP1 := shortRunEntry - tp1Points
shortRunTP2 := shortRunEntry - slPoints * runnerRR
shortRunBE := false
strategy.entry("ShortScalp", strategy.short, qty = baseQty * 50)
strategy.entry("ShortRun", strategy.short, qty = baseQty * 50)
resUsed := true
resArmed := false
resBosOK := false
//━━━━━━━━━━━━━━━━━━━
// 8. EXIT LOGIC – MINIMAL MODE
//━━━━━━━━━━━━━━━━━━━
// LONG – Minimal Risk: 1 trade, BE after TP1, runner to TP2
if isMinimal and strategy.position_size > 0 and not na(longEntry)
// Move to BE once TP1 is touched
if not longBE and high >= longTP1
longBE := true
// Base SL: BE or initial SL
float dynLongSL = longBE ? longEntry : longSL
// Optional trailing after BE
if longBE
if runnerStopMode == "Structure trail" and not na(lastSwingLow) and lastSwingLow > longEntry
dynLongSL := math.max(dynLongSL, lastSwingLow)
if runnerStopMode == "ATR trail"
trailSL = close - atrTrailMult * atrTrail
dynLongSL := math.max(dynLongSL, trailSL)
strategy.exit("Long Exit", "Long", stop = dynLongSL, limit = longTP2)
// SHORT – Minimal Risk: 1 trade, BE after TP1, runner to TP2
if isMinimal and strategy.position_size < 0 and not na(shortEntry)
if not shortBE and low <= shortTP1
shortBE := true
float dynShortSL = shortBE ? shortEntry : shortSL
if shortBE
if runnerStopMode == "Structure trail" and not na(lastSwingHigh) and lastSwingHigh < shortEntry
dynShortSL := math.min(dynShortSL, lastSwingHigh)
if runnerStopMode == "ATR trail"
trailSLs = close + atrTrailMult * atrTrail
dynShortSL := math.min(dynShortSL, trailSLs)
strategy.exit("Short Exit", "Short", stop = dynShortSL, limit = shortTP2)
//━━━━━━━━━━━━━━━━━━━
// 9. EXIT LOGIC – HYBRID MODE
//━━━━━━━━━━━━━━━━━━━
// LONG – Hybrid: Scalp + Runner
if isHybrid
// Scalp leg: full TP at TP1
if strategy.opentrades > 0
strategy.exit("LScalp TP", "LongScalp", stop = longRunSL, limit = longRunTP1)
// Runner leg
if strategy.position_size > 0 and not na(longRunEntry)
if not longRunBE and high >= longRunTP1
longRunBE := true
float dynLongRunSL = longRunBE ? longRunEntry : longRunSL
if longRunBE
if runnerStopMode == "Structure trail" and not na(lastSwingLow) and lastSwingLow > longRunEntry
dynLongRunSL := math.max(dynLongRunSL, lastSwingLow)
if runnerStopMode == "ATR trail"
trailRunSL = close - atrTrailMult * atrTrail
dynLongRunSL := math.max(dynLongRunSL, trailRunSL)
strategy.exit("LRun TP", "LongRun", stop = dynLongRunSL, limit = longRunTP2)
// SHORT – Hybrid: Scalp + Runner
if isHybrid
if strategy.opentrades > 0
strategy.exit("SScalp TP", "ShortScalp", stop = shortRunSL, limit = shortRunTP1)
if strategy.position_size < 0 and not na(shortRunEntry)
if not shortRunBE and low <= shortRunTP1
shortRunBE := true
float dynShortRunSL = shortRunBE ? shortRunEntry : shortRunSL
if shortRunBE
if runnerStopMode == "Structure trail" and not na(lastSwingHigh) and lastSwingHigh < shortRunEntry
dynShortRunSL := math.min(dynShortRunSL, lastSwingHigh)
if runnerStopMode == "ATR trail"
trailRunSLs = close + atrTrailMult * atrTrail
dynShortRunSL := math.min(dynShortRunSL, trailRunSLs)
strategy.exit("SRun TP", "ShortRun", stop = dynShortRunSL, limit = shortRunTP2)
//━━━━━━━━━━━━━━━━━━━
// 10. RESET STATE WHEN FLAT
//━━━━━━━━━━━━━━━━━━━
if strategy.position_size == 0
longEntry := na
shortEntry := na
longBE := false
shortBE := false
longRunEntry := na
shortRunEntry := na
longRunBE := false
shortRunBE := false
//━━━━━━━━━━━━━━━━━━━
// 11. VISUAL ENTRY MARKERS
//━━━━━━━━━━━━━━━━━━━
plotshape(longSignal, title = "Long Signal", style = shape.triangleup,
location = location.belowbar, color = color.lime, size = size.tiny, text = "L")
plotshape(shortSignal, title = "Short Signal", style = shape.triangledown,
location = location.abovebar, color = color.red, size = size.tiny, text = "S")
Absorption RatioThe Hidden Connections Between Markets
Financial markets are not isolated islands. When panic spreads, seemingly unrelated assets suddenly begin moving in lockstep. Stocks, bonds, commodities, and currencies that normally provide diversification benefits start falling together. This phenomenon, where correlations spike during crises, has devastated portfolios throughout history. The Absorption Ratio provides a quantitative measure of this hidden fragility.
The concept emerged from research at State Street Associates, where Mark Kritzman, Yuanzhen Li, Sebastien Page, and Roberto Rigobon developed a novel application of principal component analysis to measure systemic risk. Their 2011 paper in the Journal of Portfolio Management demonstrated that when markets become tightly coupled, the variance explained by the first few principal components increases dramatically. This concentration of variance signals elevated systemic risk.
What the Absorption Ratio Measures
Principal component analysis, or PCA, is a statistical technique that identifies the underlying factors driving a set of variables. When applied to asset returns, the first principal component typically captures broad market movements. The second might capture sector rotations or risk-on/risk-off dynamics. Additional components capture increasingly idiosyncratic patterns.
The Absorption Ratio measures the fraction of total variance absorbed or explained by a fixed number of principal components. In the original research, Kritzman and colleagues used the first fifth of the eigenvectors. When this fraction is high, it means a small number of factors are driving most of the market movements. Assets are moving together, and diversification provides less protection than usual.
Consider an analogy: imagine a room full of people having independent conversations. Each person speaks at different times about different topics. The total "variance" of sound in the room comes from many independent sources. Now imagine a fire alarm goes off. Suddenly everyone is talking about the same thing, moving in the same direction. The variance is now dominated by a single factor. The Absorption Ratio captures this transition from diverse, independent behavior to unified, correlated movement.
The Implementation Approach
TradingView does not support matrix algebra required for true principal component analysis. This implementation uses a closely related proxy: the average absolute correlation across a universe of major asset classes. This approach captures the same underlying phenomenon because when assets are highly correlated, the first principal component explains more variance by mathematical necessity.
The asset universe includes eight ETFs representing major investable categories: SPY and QQQ for large cap US equities, IWM for small caps, EFA for developed international markets, EEM for emerging markets, TLT for long-term treasuries, GLD for gold, and USO for oil. This selection provides exposure to equities across geographies and market caps, plus traditional diversifying assets.
From eight assets, there are twenty-eight unique pairwise correlations. The indicator calculates each using a rolling window, takes the absolute value to measure coupling strength regardless of direction, and averages across all pairs. This average correlation is then transformed to match the typical range of published Absorption Ratio values.
The transformation maps zero average correlation to an AR of 0.50 and perfect correlation to an AR of 1.00. This scaling aligns with empirical observations that the AR typically fluctuates between 0.60 and 0.95 in practice.
Interpreting the Regimes
The indicator classifies systemic risk into four regimes based on AR levels.
The Extreme regime occurs when the AR exceeds 0.90. At this level, nearly all asset classes are moving together. Diversification has largely failed. Historically, this regime has coincided with major market dislocations: the 2008 financial crisis, the 2020 COVID crash, and significant correction periods. Portfolios constructed under normal correlation assumptions will experience larger drawdowns than expected.
The High regime, between 0.80 and 0.90, indicates elevated systemic risk. Correlations across asset classes are above normal. This often occurs during the build-up to stress events or during volatile periods where fear is spreading but has not reached panic levels. Risk management should be more conservative.
The Normal regime covers AR values between 0.60 and 0.80. This represents typical market conditions where some correlation exists between assets but diversification still provides meaningful benefits. Standard portfolio construction assumptions are reasonable.
The Low regime, below 0.60, indicates that assets are behaving relatively independently. Diversification is working well. Idiosyncratic factors dominate returns rather than systematic risk. This environment is favorable for active management and security selection strategies.
The Relationship to Portfolio Construction
The implications for portfolio management are significant. Modern portfolio theory assumes correlations are stable and uses historical estimates to construct efficient portfolios. The Absorption Ratio reveals that this assumption is violated precisely when it matters most.
When AR is elevated, the effective number of independent bets in a diversified portfolio shrinks. A portfolio holding stocks, bonds, commodities, and real estate might behave as if it holds only one or two positions during high AR periods. Position sizing based on normal correlation estimates will underestimate portfolio risk.
Conversely, when AR is low, true diversification opportunities expand. The same nominal portfolio provides more independent return streams. Risk can be deployed more aggressively while maintaining the same effective exposure.
Component Analysis
The indicator separately tracks equity correlations and cross-asset correlations. These components tell different stories about market structure.
Equity correlations measure coupling within the stock market. High equity correlation indicates broad risk-on or risk-off behavior where all stocks move together. This is common during both rallies and selloffs driven by macroeconomic factors. Stock pickers face headwinds when equity correlations are elevated because individual company fundamentals matter less than market beta.
Cross-asset correlations measure coupling between different asset classes. When stocks, bonds, and commodities start moving together, traditional hedges fail. The classic 60/40 stock/bond portfolio, for example, assumes negative or low correlation between equities and treasuries. When cross-asset correlation spikes, this assumption breaks down.
During the 2022 market environment, for instance, both stocks and bonds fell significantly as inflation and rate hikes affected all assets simultaneously. High cross-asset correlation warned that the usual defensive allocations would not provide their expected protection.
Mean Reversion Characteristics
Like most risk metrics, the Absorption Ratio tends to mean-revert over time. Extremely high AR readings eventually normalize as panic subsides and assets return to more independent behavior. Extremely low readings tend to rise as some level of systematic risk always reasserts itself.
The indicator tracks AR in statistical terms by calculating its Z-score relative to the trailing distribution. When AR reaches extreme Z-scores, the probability of normalization increases. This creates potential opportunities for strategies that bet on mean reversion in systemic risk.
A buy signal triggers when AR recovers from extremely elevated levels, suggesting the worst of the correlation spike may be over. A sell signal triggers when AR rises from unusually low levels, warning that complacency about diversification benefits may be excessive.
Momentum and Trend
The rate of change in AR carries information beyond the absolute level. Rapidly rising AR suggests correlations are increasing and systemic risk is building. Even if AR has not yet reached the high regime, acceleration in coupling should prompt increased vigilance.
Falling AR momentum indicates normalizing conditions. Correlations are decreasing and assets are returning to more independent behavior. This often occurs in the recovery phase following stress events.
Practical Application
For asset allocators, the AR provides guidance on how much diversification benefit to expect from a given allocation. During high AR periods, reducing overall portfolio risk makes sense because the usual diversifiers provide less protection. During low AR periods, standard or even aggressive allocations are more appropriate.
For risk managers, the AR serves as an early warning indicator. Rising AR often precedes large market moves and volatility spikes. Tightening risk limits before correlations reach extreme levels can protect capital.
For systematic traders, the AR provides a regime filter. Mean reversion strategies may work better during high AR periods when panics create overshooting. Momentum strategies may work better during low AR periods when trends can develop independently across assets.
Limitations and Considerations
The proxy methodology introduces some approximation error relative to true PCA-based AR calculations. The asset universe, while representative, does not include all possible diversifiers. Correlation estimates are inherently backward-looking and can change rapidly.
The transformation from average correlation to AR scale is calibrated to match typical published ranges but is not mathematically equivalent to the eigenvalue ratio. Users should interpret levels directionally rather than as precise measurements.
Correlation regimes can persist longer than expected. Mean reversion signals indicate elevated probability of normalization but do not guarantee timing. High AR can remain elevated throughout extended crisis periods.
References
Kritzman, M., Li, Y., Page, S., and Rigobon, R. (2011). Principal Components as a Measure of Systemic Risk. Journal of Portfolio Management, 37(4), 112-126.
Kritzman, M., and Li, Y. (2010). Skulls, Financial Turbulence, and Risk Management. Financial Analysts Journal, 66(5), 30-41.
Billio, M., Getmansky, M., Lo, A., and Pelizzon, L. (2012). Econometric Measures of Connectedness and Systemic Risk in the Finance and Insurance Sectors. Journal of Financial Economics, 104(3), 535-559.
Delta Bars [Elykia]Delta Bars — Order Flow & Momentum Analysis
Description:
Delta Bars is an "Order Flow Oscillator" designed to instantly visualize buyer and seller aggression within every price move.
Unlike standard volume, it breaks down what is happening "under the hood" (Delta) and offers a clear reading of market reversals thanks to intelligent divergence detection.
🔥 Key Features:
1. Dual Calculation Mode:
Timeframe Mode: Displays classic Delta based on time (e.g., 1min, 5min).
Range Bars Mode: (Exclusive) Builds Delta bars based on price movement (volatility) rather than time. This filters out noise during consolidation periods and reveals true strength during impulses.
2. 🧠 Smart Auto-Detection (Plug & Play):
No need to manually calculate "Box" or "Tick" sizes for each asset. The indicator automatically recognizes the asset you are trading and applies the optimal institutional calibration:
US Indices (NQ, ES, YM...)
Forex (EURUSD, JPY...)
Crypto (BTC, ETH)
Commodities (Gold, Oil)
Note: You can still switch to manual mode if needed.
3. "Flip" Detection (Divergences) ⚡:
The indicator automatically identifies anomalies between price and Delta:
If the candle closes Green but Delta is Negative (Absorption/Failed Selling Effort).
If the candle closes Red but Delta is Positive.
These situations are marked with a ⚡ symbol and a specific highlight color (Orange by default), often signaling an imminent reversal.
4. Technical Dashboard:
A discreet panel displays the current mode and "Box" size (in ticks/points) in real-time, ensuring you always know how the data is being filtered.
How to read the signals?
1. Green/Red Bars: They indicate Net Delta (the difference between buying and selling volume). A tall bar implies strong conviction.
2. The ⚡ Symbol (The Flip): This is the most critical signal. It appears when Delta contradicts the candle direction (e.g., Positive Delta on a Bearish candle). This indicates Absorption (passive orders blocking the move) and often precedes a reversal.
3. Range Bars Mode: Use this mode to "smooth out" the market. If the market is choppy, Range Bars will filter the noise and only draw a new bar if the price actually moves.
⚠️ Important: Replay Mode
Since this indicator performs heavy calculations (simulated tick-by-tick), it includes a safety feature for Replay Mode.
To use Replay: Go to settings and set the "Force Replay Date" to a date close to your starting point. This ensures maximum fluidity and avoids TradingView limit errors.
Configuration:
Works on all timeframes but excels on seconds charts (1s, 5s) or fast minute charts (1m) for scalping.
TRADE ORBIT – Ichimoku Top/Bottom Strategy)TRADE ORBIT – Ichimoku Top/Bottom Strategy
Trade when trends start, continue, and end
✅ BUY TRADE (LONG)
Entry
Enter a BUY only if all of the following happen:
1️⃣ Green Big Dot appears below candle
→ Bottom confirmed (trend reversal)
2️⃣ Price above the Cloud
→ Market is in bullish zone
3️⃣ Tenkan above Kijun
→ Short-term trend supports direction
4️⃣ Chikou Span above price
→ Confirmation from momentum
📍 Best entry:
➡ On the candle after the big green dot if conditions remain valid
Stop Loss
Place SL below:
⭕ Bottom candle low
or
⭕ Senkou Span B (Cloud bottom)
Profit Management
Stay in the trade as long as you keep seeing small green dots
→ Trend still continuing 🟢🟢🟢
📌 Exit long when:
A big red dot appears (Top detected)
or
Price closes below the cloud
or
Tenkan crosses below Kijun
❌ SELL TRADE (SHORT)
Entry
Enter SELL only if:
1️⃣ Big Red Dot appears above candle
→ Top confirmed
2️⃣ Price below Cloud
→ Bearish market
3️⃣ Tenkan below Kijun
→ Trend aligned
4️⃣ Chikou Span below price
→ Momentum confirmed
📍 Enter on next bar if signals remain valid
Stop Loss
Place SL above:
⭕ Top candle high
or
⭕ Senkou Span B (Cloud upper band)
Exit
Stay in short while small red dots continue 🔴🔴🔴
Close when:
A big green bottom dot appears
or
Price closes above cloud
or
Tenkan crosses above Kijun
Setup Keltner Banda 3 e 5 - MMS + RSI + Distância Tabela
📊 Indicator Overview: Keltner Bands + RSI + Distance Table
This custom TradingView indicator combines three powerful tools into a single, visually intuitive setup:
Keltner Channels (Bands 3x and 5x ATR)
Relative Strength Index (RSI)
Dynamic Table Displaying RSI and Price Distance from Moving Average (MMS)
🔧 Components and Functions
1. Keltner Channels (3x and 5x ATR)
Based on a Simple Moving Average (MMS) and Average True Range (ATR).
Two sets of bands are plotted:
3x ATR Bands: Used for moderate volatility signals.
5x ATR Bands: Used for high volatility extremes.
Visual fills between bands help identify overextended price zones.
2. RSI (Relative Strength Index)
Measures momentum and potential reversal zones.
Customizable overbought (default 70) and oversold (default 30) levels.
RSI values are color-coded in the table:
Green for RSI ≤ 30 (oversold)
Blue for 30 < RSI ≤ 70 (neutral)
Red for RSI > 70 (overbought)
3. Distance Table (Price vs. MMS)
Displays the real-time distance between the current price and the MMS:
In points (absolute difference)
In percentage (relative to MMS)
Helps traders assess how far price has deviated from its mean.
📈 How to Use
Trend Reversal Signals
Look for price crossing back inside the 3x or 5x Keltner Bands.
Confirm with RSI:
RSI > 70 + price re-entering from above = potential short
RSI < 30 + price re-entering from below = potential long
Volatility Zones
Price outside the 5x band indicates extreme movement.
Use this to anticipate mean reversion or breakout continuation.
Table Insights
Monitor RSI and price distance in real time.
Use color cues to quickly assess momentum and stretch.
⚙️ Customization
Adjustable parameters for:
MMS period
ATR multipliers
RSI period and thresholds
Table position on chart
Fill colors between bands
This indicator is ideal for traders who want a clean, data-rich visual tool to track volatility, momentum, and price deviation in one place.
VIX + Weekly ATR Hybrid RangeVIX + Weekly ATR Hybrid Range VIX + Weekly ATR Hybrid Range VIX + Weekly ATR Hybrid Range
Gartley Pattern ULTRA V6[NXT2017]+VolumeProfile+POC+SignalCountsGartley Pattern ULTRA V6 is a professional harmonic scanner designed to automatically detect and visualize valid Gartley patterns across multiple pivot lengths. Unlike standard indicators, this script includes advanced institutional tools like Volume Profile integration per pattern and a statistical dashboard.
Key Features: Multi-Pivot Scanning: Scans for patterns simultaneously across 9 different pivot lengths (from 5 to 233) to find structures on micro and macro levels. Volume Profile Integration: Automatically draws a Volume Profile (VP) covering the range from Point X to the current bar to analyze supply and demand within the pattern structure. POC Indication: Highlights the Point of Control (POC) to identify key support/resistance levels within the pattern. Statistics Dashboard: A table displaying the number of Bullish and Bearish patterns found for each pivot size. Customizable: Full control over colors, tolerance levels, and display options.
The Gartley Pattern Rules Used: This script strictly follows the classic ratios for the Gartley pattern: B Point: Strictly a 0.618 retracement of the XA leg. C Point: Retracement of AB (0.382 – 0.886). Crucially, Point C must not exceed Point A. D Point (Entry): The defining characteristic is the 0.786 retracement of the XA leg . Point D must not exceed Point X.
Settings & Inputs: Deviation Tolerance: Adjust the strictness of the ratio matching (default 30% allows for market noise). Volume Profile: Toggle the VP on/off, adjust resolution (rows), and transparency. Filter & History: Prevents duplicate signals for the same price structure.
How to use: Add the indicator to your chart. Bullish Gartleys are highlighted in Green and Bearish Gartleys in Fuchsia. The pattern completes at the D-point (78.6% of XA). Use the Volume Profile to confirm if the reversal is happening at a high-volume node.
This is a update of v1:
Vegas plus by stanleyThis Pine Script implements a comprehensive trend-following strategy known popularly as the **Vegas Tunnel Method**. It combines multiple Exponential Moving Averages (EMAs) to define trends, pullbacks, and breakouts.
Here is a step-by-step walkthrough of how the code works, broken down by its components and logic.
---
### 1. The Anatomy (The Indicators)
The script uses three distinct groups of Moving Averages to define the market structure.
#### A. The Fast EMAs (The Trigger & Exit)
* **EMA 12 (Signal):** The fastest line. It is used to trigger entries (crossing the tunnel).
* **EMA 21 (Exit):** Used as a trailing stop. If the price crosses this line against your trade, the script signals an exit.
* **EMA 55 (Filter):** A medium-term filter, often used visually to gauge trend health.
#### B. The "Hero" Tunnel (The Action Zone)
* **EMAs 144 & 169 & 200:** These creates the main "Tunnel."
* **Function:** This acts as dynamic Support and Resistance.
* **Bullish:** If the 144 (Top) is above the 200 (Bottom), the tunnel is painted Blue.
* **Bearish:** If the 144 is below the 200, it is painted Red.
#### C. The "Anchor" Tunnel (The Deep Trend)
* **EMAs 576 & 676:** This creates a massive, slow-moving background tunnel.
* **Function:** It tells you the long-term trend. Generally, you only want to take Buy signals if price is above this Anchor, though the script logic focuses primarily on the Hero tunnel for triggers.
---
### 2. State Memory (`var` Variables)
This is a sophisticated part of the script. It uses `var` variables to "remember" where the price was in the past.
* `originPrice`: Remembers if the price was last seen **Above** (1) or **Below** (-1) the tunnel.
* `originEMA`: Remembers if the EMA 12 was last seen **Above** (1) or **Below** (-1) the tunnel.
**Why is this needed?**
To distinguish between a **Breakout** (crossing from Bear to Bull) and a **Pullback** (already Bull, dipped into tunnel, and coming back out).
---
### 3. The Four Entry Triggers
The script looks for four specific scenarios to generate a Buy or Sell signal. You can turn these on/off in the settings.
#### Trigger 1: Price U-Turn (Trend Continuation)
* **Logic:** The Price was *already* above the tunnel (`originPrice == 1`), dipped down, and is now crossing back up (`crossover`).
* **Meaning:** This is a classic "Buy the Dip" signal within an existing trend.
#### Trigger 2: EMA U-Turn (Lagging Confirmation)
* **Logic:** Similar to Trigger 1, but uses the **EMA 12** line instead of the Price candle.
* **Meaning:** This is safer but slower. It waits for the average price to curl back out of the tunnel.
#### Trigger 3: Breakthrough (Momentum Shift)
* **Logic:** The EMA 12 was previously *below* the tunnel (`originEMA == -1`) and has just crossed *above* it (`crossover`).
* **Meaning:** This is a Trend Reversal signal. The market has shifted from Bearish to Bullish.
#### Trigger 4: Wick Rejection (Touch & Go)
* **Logic:**
1. Price is generally above the tunnel.
2. The `Low` of the current candle touches the tunnel.
3. The `Low` of the *previous* candle did NOT touch the tunnel.
4. The candle closes *outside* (above) the tunnel.
* **Meaning:** The price tested the support zone and was immediately rejected (bounced off), leaving a wick.
---
### 4. Trade Management (State Machine)
The script uses a variable called `tradeState` to manage signals so they don't spam your chart.
* `tradeState = 0`: Flat (No position).
* `tradeState = 1`: Long.
* `tradeState = -1`: Short.
**The Rules:**
1. **Entry:** If `validLong` is triggered AND `tradeState` is not already 1 -> Change state to 1 (Long) and plot a **BUY** label.
2. **Holding:** If you are already in State 1, the script ignores new Buy signals.
3. **Exit:** If `tradeState` is 1 AND price closes below EMA 21 -> Change state to 0 (Flat) and plot an **Exit L** label.
---
### 5. Visual Summary
* **Green Label:** Buy Signal (Long Entry).
* **Red Label:** Sell Signal (Short Entry).
* **Grey X:** Exit Signal (Close the position).
* **Blue/Red Tunnel:** The "Hero" tunnel (144/169/200).
* **Grey Background Tunnel:** The "Anchor" tunnel (576/676).
### How to read the signals:
You are looking for the price to interact with the **Hero Tunnel** (the thinner, brighter one).
1. **Trend:** Look at the slope of the Anchor (thick grey) tunnel.
2. **Setup:** Wait for price to come back to the Hero Tunnel.
3. **Trigger:** Wait for a **Green Label**. This means the price dipped into the tunnel and is now blasting out (U-Turn), or has rejected the tunnel (Wick), or has broken through a new trend (Breakthrough).
4. **Exit:** Close the trade when the **Grey X** appears (Price crosses the EMA 21).
CypherPattern ULTRA V6 [NXT2017]+VolumeProfile+POC +SignalCountsCypher Pattern ULTRA V6 is a comprehensive harmonic scanner designed to automatically detect and visualize valid Cypher patterns across multiple pivot lengths. Unlike standard harmonic indicators, this script includes advanced features like Volume Profile integration per pattern and a statistical dashboard.
Key Features: Multi-Pivot Scanning: Scans for patterns simultaneously across 9 different pivot lengths (from 5 to 233) to find structures on micro and macro levels. Volume Profile Integration: Automatically draws a Volume Profile (VP) covering the range from Point X to the current bar to analyze supply and demand within the pattern structure. POC Indication: Highlights the Point of Control (POC) to identify key support/resistance levels within the pattern. Statistics Dashboard: A table displaying the number of Bullish and Bearish patterns found for each pivot size. Customizable: Full control over colors, tolerance levels, and display options.
The Cypher Pattern Rules Used: This script strictly follows the specific ratios for the Cypher pattern: B Point: 0.382 – 0.618 retracement of the XA leg. C Point: 1.13 – 1.414 extension of the AB leg (C projects beyond A). D Point (Entry): The unique characteristic of the Cypher is that the D point is the 0.786 retracement of the XC leg (not XA).
Settings & Inputs: Deviation Tolerance: Adjust the strictness of the ratio matching (default 30%). Volume Profile: Toggle the VP on/off, adjust resolution (rows), and transparency. Filter & History: Prevents duplicate signals for the same price structure.
How to use: Add the indicator to your chart. Bullish patterns are highlighted in Green (default) and Bearish patterns in Pink/Fuchsia. Look for the D-point completion for potential reversal entries. Use the Volume Profile to confirm if the reversal is happening at a high-volume node.
Madrid Ribbon with ST/TEMA Filter + Hourly Trend
Madrid Moving Average Ribbon with SuperTrend/TEMA Filter + Hourly Trend Open Line
This advanced technical indicator combines three powerful trading tools into one comprehensive system for identifying trend direction, momentum, and key support/resistance levels.
📊 What's Included:
1. Madrid Moving Average Ribbon (18 EMAs/SMAs)
Displays 18 configurable moving averages (5-100 periods) creating a visual "ribbon" effect
Color-coded system: LIME (strong bullish), GREEN (bullish), MAROON (weak bearish), RED (strong bearish), GRAY (neutral/filtered)
Choose between Exponential (EMA) or Simple (SMA) moving averages
The ribbon helps identify trend strength, direction, and potential reversals
2. SuperTrend/TEMA Filter System
Zero-lag Triple Exponential Moving Average (TEMA) for fast trend detection
SuperTrend indicator using ATR-based volatility bands
Combined filter logic: Only displays ribbon colors when BOTH SuperTrend AND TEMA confirm the trend direction
Reduces false signals and whipsaw during choppy market conditions
Fully customizable parameters (Fast/Slow TEMA periods, ATR multiplier, MA length)
Can be toggled ON/OFF to see unfiltered Madrid Ribbon
3. Hourly Trend Open Line
Plots the opening price of your selected higher timeframe (default: 1-hour)
Acts as dynamic support/resistance and trend bias indicator
Background coloring: Green when price is above the line (bullish bias), Red when below (bearish bias)
Customizable timeframe from 1-minute to Daily
Great for multi-timeframe analysis and confirming trade direction
🎯 How to Use:
Trend Following: Enter long when ribbon turns LIME/GREEN, enter short when MAROON/RED
Trend Confirmation: Use the Hourly Trend Open Line to confirm direction - trade longs above the line, shorts below
Filter Noise: Enable SuperTrend/TEMA filter to remove low-probability setups in ranging markets
Exit Signals: Watch for ribbon color changes or price crossing the Hourly Trend Open Line
⚡ Alert System:
Filtered Buy Signal: When trend changes to bullish (confirmed by both SuperTrend and TEMA)
Filtered Sell Signal: When trend changes to bearish (confirmed by both SuperTrend and TEMA)
Filtered Trend Change: Any trend direction change
⚙️ Customization Options:
Toggle SuperTrend/TEMA filter on/off
Adjust TEMA periods (Fast: 22, Slow: 144 default)
Modify SuperTrend settings (ATR multiplier, MA length)
Change Hourly Trend timeframe
Customize all colors and line widths
Choose EMA or SMA for ribbon calculation
💡 Best Practices:
Works on all timeframes and instruments
Use higher timeframe Trend Open Line for swing trading
Combine with volume analysis for confirmation
Best suited for trending markets; consider disabling in tight ranges
Test settings on your specific instrument for optimal performance
📝 Note: This indicator requires the 'loxx/loxxexpandedsourcetypes/4' library for TEMA calculations.
This indicator is ideal for traders who want a comprehensive, all-in-one solution for trend identification, momentum analysis, and multi-timeframe confluence.
Buy vs Sell Volume EMA + Smart Momentum Shift (Crypto)This is a volume-based momentum indicator for crypto that:
Splits total volume into buy vs. sell volume based on candle direction.
Applies EMAs to buy/sell volume and tracks slope and acceleration of those EMAs.
Looks for moments where buyer volume momentum is improving and seller momentum is fading.
Optionally requires RSI and/or MACD confirmation, a “near recent low” location filter, and a score threshold based on several micro-conditions.
Outputs:
Colored background depending on whether buy or sell volume dominates.
EMA crossover arrows (“Buy” and “Sell”) for simpler regime shifts.
Green dots (“Strong Buy Momentum Shift”) when all filters are satisfied.
Alert conditions for the above signals.
It runs in a separate pane (overlay=false) and is explicitly designed for crypto, but works on any symbol/interval.
VIX + Weekly ATR Hybrid RangeVIX + Weekly ATR Hybrid Range best used for complete range with accuracy
5-Bar BreakoutThis indicator shows if the price is breaking out above the high or the low of the previous 5 bars




















