BOS, CHoCH and CISD [theEccentricTrader]█ OVERVIEW
This open-source indicator plots Break of Structure (BOS), Change of Character (CHoCH) and Change in State of Delivery (CISD) events directly on the chart and provides optional alerts for each condition.
All conditions are built around my primitive swing logic and are confirmed at candle close to avoid repainting.
The script is designed as a research tool, not a trading strategy. It does not generate entries, exits, targets or risk management rules. Its purpose is to make objectively defined market structure events visible, reproducible and testable across markets and timeframes.
█ CONCEPTS
Green and Red Candles
A green candle is defined as a candle that closes at or above its open.
A red candle is defined as a candle that closes below its open.
Swing Highs and Swing Lows
A swing high is defined as a green candle, or a series of consecutive green candles, followed by a single red candle that completes the swing and forms the peak.
A swing low is defined as a red candle, or a series of consecutive red candles, followed by a single green candle that completes the swing and forms the trough.
Peak and Trough Prices
The peak price of a complete swing high is either the high of the red candle that completes the swing or the high of the preceding green candle, depending on which is higher.
The trough price of a complete swing low is either the low of the green candle that completes the swing or the low of the preceding red candle, depending on which is lower.
Basic Uptrends and Downtrends
Basic uptrends, henceforth referred to as uptrends, are formed when the most recent trough is higher than the preceding trough.
Basic downtrends, henceforth referred to as downtrends, are formed when the most recent peak is lower than the preceding peak.
Break of Structure (BOS)
A BOS occurs when price continues in the direction of the prevailing trend by breaking beyond the most recent peak or trough price. BOS implies trend continuation through structural expansion.
BOS Up occurs during an uptrend when price closes above the most recent peak.
BOS Down occurs during a downtrend when price closes below the most recent trough.
Change of Character (CHoCH)
A CHoCH occurs during an uptrend or downtrend when price breaks the most recent peak or trough price in the opposite direction to the prevailing trend, without fully reversing the higher-level trend structure. CHoCH implies early structural weakness or internal rotation rather than confirmed trend reversal.
CHoCH Up occurs during a downtrend when price closes above the most recent peak but remains below the preceding peak.
CHoCH Down occurs during an uptrend when price closes below the most recent trough but remains above the preceding trough.
Change in State of Delivery (CISD)
A CISD occurs when price breaks the most recent peak or trough price. CISD isolates pure structural displacement, independent of trend classification.
CISD Up occurs when price closes above the most recent peak without regard for trend state.
CISD Down occurs when price closes below the most recent trough without regard for trend state.
█ VISUAL OUTPUTS
Labels
Labels are plotted at the candle where each condition is confirmed.
Users can change the label colours and sizes via indicator Settings/Inputs/LABELS.
Event Lines
Horizontal dashed lines mark the peak or trough that was broken.
Trend Lines
Trend lines are drawn to contextualise trend direction for appropriate structural events.
█ ALERTS
Optional alerts are provided for all conditions. By default, all alerts are set to false.
Users can apply alerts via Indicator Settings/Inputs/ALERTS.
Sentiment
Trinity Scalping Direction DashbaordTrinity Scalping Dashboard – User Guide
**Purpose**
This indicator shows whether the current price is above or below the 5-period EMA across five key timeframes (5 min, 15 min, 1 hour, 4 hour, Daily).
It highlights when all five timeframes are aligned in the same direction (all bullish or all bearish), giving a clear "Buy", "Sell", or "No Trade Zone" signal.
**What the indicator displays**
- A dashboard table appears in one corner of the chart
- Each row shows one timeframe
- Text says "Above - Bullish" (green) or "Below - Bearish" (red) depending on whether current price is above or below the 5 EMA on that timeframe
- The bottom row shows the overall signal:
- **Buy** → all 5 timeframes are bullish (price > 5 EMA on every TF)
- **Sell** → all 5 timeframes are bearish (price < 5 EMA on every TF)
- **No Trade Zone** → mixed alignment (not all timeframes agree)
**Customizing the indicator**
- **EMA Period** — default is 5, but you can change it (e.g. to 8, 9, 13, etc.)
- **Colors** — adjust Bullish (green), Bearish (red), and No Trade (yellow) colors to your preference
- **Table Position** — choose Top Right, Bottom Right, or Bottom Left
- **Text Sizes** — separately control the size of the timeframe rows and the signal row (Tiny → Huge)
- **Header** — shows "Options Direction Dashboard" at the top of the table (you can edit the text in the code if desired)
**How to read the signal**
- **Strong Buy** — entire table green + bottom row says **Buy**
- **Strong Sell** — entire table red + bottom row says **Sell**
- **No clear direction** — mixed colors + bottom row says **No Trade Zone**
Only trade in the direction of the **full alignment** (all rows same color) for highest-probability setups.
**Alerts**
Three alert conditions are built-in:
1. **Buy Signal** — triggers when all timeframes become bullish
2. **Sell Signal** — triggers when all timeframes become bearish
3. **Signal Change** — triggers any time the overall signal changes (Buy ↔ Sell ↔ No Trade)
To set an alert:
- Right-click on the chart → **Add Alert**
- In **Condition**, select this indicator
- Choose one of the three conditions (Buy Signal / Sell Signal / Signal Change)
- Set frequency to **Once Per Bar Close** (recommended for most users)
- Customize notification (email, SMS, webhook, etc.)
**Best practices**
- Use for scalping when all EMA align and only take trades in the direction of the alignment.
- Use on higher timeframes (1H, 4H, Daily) for swing/position trading and use the smaller timeframe to time entries
- Combine with your existing price action, support/resistance or other filters
- The strongest setups occur when the signal flips from No Trade → Buy or No Trade → Sell
Stacked EMA Indicator (8/21/34/55/89)Highlights stacked EMA's on your chart and color's background when all are aligned.
EMA's adjustable to user preference.
All color's user adjustable.
EMA 9 13 15 21 50 200EMA Multi Cross Alert System is a multi-moving average indicator designed to help traders quickly identify trend shifts and momentum changes using key Exponential Moving Average (EMA) crossover signals.
The script plots six important EMAs (9, 13, 15, 21, 50, and 200) directly on the price chart, allowing traders to monitor short-term, medium-term, and long-term trend alignment in real time.
The indicator automatically generates alerts when critical EMA crossover events occur, helping traders react quickly without constantly watching charts.
btall//@version=5
strategy("AR | AlphaEdge Pro (No-Repaint) v1.0",
overlay=true,
initial_capital=100000,
commission_type=strategy.commission.percent,
commission_value=0.04,
slippage=1,
pyramiding=0,
calc_on_order_fills=true,
calc_on_every_tick=false,
process_orders_on_close=true)
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// Inputs
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
grp1 = "Trend + Signals"
useHTF = input.bool(true, "Use Higher TF Trend Filter", group=grp1)
htf = input.timeframe("240", "Higher Timeframe", group=grp1)
htfEmaLen = input.int(200, "HTF EMA Length", minval=1, group=grp1)
emaFastLen = input.int(21, "Fast EMA", minval=1, group=grp1)
emaSlowLen = input.int(55, "Slow EMA", minval=1, group=grp1)
stAtrLen = input.int(10, "Supertrend ATR Length", minval=1, group=grp1)
stFactor = input.float(3.0, "Supertrend Factor", minval=0.1, step=0.1, group=grp1)
rsiLen = input.int(14, "RSI Length", minval=1, group=grp1)
rsiBull = input.int(52, "RSI Bull Threshold", minval=1, maxval=99, group=grp1)
rsiBear = input.int(48, "RSI Bear Threshold", minval=1, maxval=99, group=grp1)
useVolFilter = input.bool(true, "Use Volume Filter", group=grp1)
volLen = input.int(20, "Volume SMA Length", minval=1, group=grp1)
volMult = input.float(1.2, "Volume Multiplier", minval=0.1, step=0.1, group=grp1)
grp2 = "Risk Management (ATR)"
atrLen = input.int(14, "ATR Length", minval=1, group=grp2)
slAtrMult = input.float(1.6, "Stop = ATR x", minval=0.1, step=0.1, group=grp2)
rr = input.float(2.0, "Risk:Reward (TP)", minval=0.1, step=0.1, group=grp2)
useRiskPct = input.bool(true, "Dynamic Position Size by Risk %", group=grp2)
riskPct = input.float(1.0, "Risk % of Equity per Trade", minval=0.05, step=0.05, group=grp2)
maxPosPct = input.float(20.0, "Max Position % of Equity Cap", minval=1.0, step=1.0, group=grp2)
grp3 = "Breakeven + Session"
useBE = input.bool(true, "Move Stop to Breakeven", group=grp3)
beTriggerATR = input.float(1.0, "Trigger After +ATR x", minval=0.1, step=0.1, group=grp3)
beOffsetATR = input.float(0.05, "BE Offset (ATR x)", minval=0.0, step=0.01, group=grp3)
useSession = input.bool(false, "Trade Only in Session", group=grp3)
sess = input.session("1000-1500", "Session (exchange time)", group=grp3)
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// Helper / Filters
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
inSession = not useSession or not na(time(timeframe.period, sess))
emaFast = ta.ema(close, emaFastLen)
emaSlow = ta.ema(close, emaSlowLen)
rsi = ta.rsi(close, rsiLen)
atr = ta.atr(atrLen)
volOk = not useVolFilter or (volume > ta.sma(volume, volLen) * volMult)
// Supertrend
= ta.supertrend(stFactor, stAtrLen) // stDir: 1 bullish, -1 bearish (TradingView behavior)
stBull = stDir == 1
stBear = stDir == -1
// HTF trend (lookahead_off to reduce repaint risk on historical vs realtime behavior)
htfEma = request.security(syminfo.tickerid, htf, ta.ema(close, htfEmaLen), barmerge.gaps_off, barmerge.lookahead_off)
htfBull = close >= htfEma
htfBear = close <= htfEma
trendOkLong = not useHTF or htfBull
trendOkShort = not useHTF or htfBear
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// Entry Conditions (confirmed bar to avoid “intrabar” surprises)
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
longSignal = barstate.isconfirmed and inSession and trendOkLong and stBull and close > emaFast and emaFast > emaSlow and rsi >= rsiBull and volOk
shortSignal = barstate.isconfirmed and inSession and trendOkShort and stBear and close < emaFast and emaFast < emaSlow and rsi <= rsiBear and volOk
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// Position sizing by ATR stop distance (approx; works best on stocks/spot)
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
f_posQty(_stopDist) =>
// Risk capital = equity * riskPct%
riskCapital = strategy.equity * (riskPct / 100.0)
// Qty to risk roughly riskCapital if stop hits
rawQty = _stopDist > 0 ? (riskCapital / _stopDist) : 0.0
// Cap position size by maxPosPct% of equity
maxPositionValue = strategy.equity * (maxPosPct / 100.0)
maxQty = close > 0 ? (maxPositionValue / close) : rawQty
qty = math.max(0.0, math.min(rawQty, maxQty))
qty
stopDist = atr * slAtrMult
qty = useRiskPct ? f_posQty(stopDist) : na
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// Entries
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
if (longSignal and strategy.position_size <= 0)
strategy.entry("L", strategy.long, qty=useRiskPct ? qty : na)
if (shortSignal and strategy.position_size >= 0)
strategy.entry("S", strategy.short, qty=useRiskPct ? qty : na)
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// Exits (ATR SL/TP + optional Breakeven)
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
isLong = strategy.position_size > 0
isShort = strategy.position_size < 0
entry = strategy.position_avg_price
longSL = entry - stopDist
longTP = entry + stopDist * rr
shortSL = entry + stopDist
shortTP = entry - stopDist * rr
// Breakeven logic
beTrig = atr * beTriggerATR
beOff = atr * beOffsetATR
if isLong and useBE
// if price moved in our favor enough -> raise stop to entry (+offset)
if (close - entry) >= beTrig
longSL := math.max(longSL, entry + beOff)
if isShort and useBE
if (entry - close) >= beTrig
shortSL := math.min(shortSL, entry - beOff)
// Submit exits every bar so they update dynamically
strategy.exit("XL", from_entry="L", stop=longSL, limit=longTP, when=isLong)
strategy.exit("XS", from_entry="S", stop=shortSL, limit=shortTP, when=isShort)
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// Visuals + Alerts
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
plot(emaFast, "EMA Fast", linewidth=2)
plot(emaSlow, "EMA Slow", linewidth=2)
plot(stLine, "Supertrend", linewidth=2)
plot(useHTF ? htfEma : na, "HTF EMA", linewidth=2)
plotshape(longSignal, title="Long Signal", style=shape.triangleup, location=location.belowbar, size=size.tiny, text="L")
plotshape(shortSignal, title="Short Signal", style=shape.triangledown, location=location.abovebar, size=size.tiny, text="S")
alertcondition(longSignal, title="AlphaEdge Long", message="AlphaEdge LONG on {{ticker}} @ {{close}}")
alertcondition(shortSignal, title="AlphaEdge Short", message="AlphaEdge SHORT on {{ticker}} @ {{close}}")
Benner Cycle Map (A/B/C)Benner Cycle Map (A/B/C Years) + Macro Events • Educational Overlay
Description:
This script is an educational overlay that visualizes the classic Benner Cycle “A/B/C” year map (as presented on the historical Benner card) and optionally plots a curated set of major macro/market events (e.g., 1929 Crash, 9/11, Lehman, COVID) for historical context.
⚠️ Important: This indicator is NOT a trading strategy, does NOT generate buy/sell signals, and does NOT predict future market outcomes. It should not be used as financial advice.
What it shows:
A years (Panic)
B years (Good Times / Sell years)
C years (Hard Times / Buy/Accumulate years)
Optional Macro Events Overlay (context markers only)
Key features
Dynamic rebuild on zoom/pan (keeps labels aligned with the visible range)
Full customization: label position (Top/Center/Bottom), colors, opacity, sizes
Multiple label formats: horizontal, stacked, or vertical-styled (simulated via line breaks)
Background regime shading with selectable overlap priority
Two on-chart panels: Legend + Current Year Status
How to use (educational use-case)
Use this overlay to study historical clustering of the mapped years against price behavior and major events. It’s best viewed on higher timeframes (weekly/monthly) to reduce clutter.
Disclaimer
Markets are complex and influenced by countless variables. The Benner cycle map and the event markers shown here are provided for learning and visualization only. Past patterns do not guarantee future results. Always do your own research and risk management.
Ticker Dashboard [rogman]TICKER DASHBOARD INDICATOR
Overview
A comprehensive real-time market dashboard that displays critical trading information in a compact, color-coded table overlay. Designed for quick at-a-glance analysis of price action, trend direction, market conditions, and relative performance. Automatically detects asset type (stocks, futures, CFDs, forex, crypto) and adjusts session display accordingly.
Table Layout
ROW 1: PRICE & MARKET STATUS
Trend Dot: 🟢 when 8 EMA > 21 EMA (bullish), 🔴 when below (bearish)
Ticker: Current symbol, colored green/red based on change from previous close
Price: Real-time price, updates during extended hours
Chg $: Dollar change from previous day's close (updates in afterhours)
VWAP: ▲V (green) if price above VWAP, ▼V (red) if below
S:/Q:: SPY and QQQ real-time status — 🟢 up from previous close, 🔴 down from previous close
ROW 2: MOVING AVERAGES & RELATIVE STRENGTH
RS 8 EMA 21 EMA 50 SMA
RS (Relative Strength vs SPY):
⊕ (green): Outperforming SPY by >0.5%
⊖ (red): Underperforming SPY by >0.5%
⊜ (gray): Neutral (within ±0.5%)
8/21/50 MAs: Values color-coded green if price above, red if below
ROW 3: SESSION, RANGE & VOLUME
Session - Low - Range Bar - High - Vol:██████
Session Indicator (Auto-detects Asset Type)
Stocks:
IconStatusHours (ET)🔔Market Open9:30am - 4:00pm⏰Pre-Market4:00am - 9:29am🌙After-Hours4:01pm - 8:00pm⛔️Closed8:00pm - 4:00am, Weekends
Futures & CFDs:
IconStatusHours (ET)🔔OpenSunday 6pm - Friday 5pm (with daily 5-6pm break)⛔️ClosedFriday 5pm - Sunday 6pm, Daily 5-6pm maintenance
Forex & DXY:
IconStatusHours (ET)🔔OpenSunday 5pm - Friday 5pm (24/5, no daily break)⛔️ClosedFriday 5pm - Sunday 5pm
Crypto:
IconStatus🔔Always Open (24/7)
Range Bar
Visual representation showing current price position within daily high/low range using a ║ marker.
Volume Blocks
6 blocks compared to 30-day average volume:
Volume % Color Block Fill
<75% avg🔴 RedFills 1 block per 10% below 75% (e.g., 24% = 6 red blocks)
75-125% avg⬜ GrayFills 1-6 blocks as volume increases through normal range
>125% avg🟢 GreenFills 1 block per 10% above 125%
ROW 4: VOLUME DETAILS (Optional)
Vol: XXM 30D Avg: XXM Ratio: X%
Vol: Current daily volume (in millions)
30D Avg: 30-day average volume (in millions)
Ratio: Current volume as percentage of average
Toggle on/off in settings via "Show Volume Row"
Settings
Customize table background and border colors
Position table in multiple locations on chart
Customize text color and size
Asset Type Detection
The indicator automatically detects the asset type and adjusts behavior
Example Displays
Stock During Market Hours
┌────┬──────┬────────┬─────────┬────┬─────────────┐
│ 🟢 │ TSLA │ 421.81 │ +$12.50 │ ▲V │ S:🟢 Q:🟢 │
├────┼──────┼────────┼─────────┼────┼─────────────┤
│ ⊕ │ 8: 418.50│ 21: 415.20 │ 50: 410.35 │
├────┼──────┼────────┼─────────┼────┼─────────────┤
│ 🔔 │ 409 │ ─────║──│ 425 │Vol: │ ███░░░ │
└────┴──────┴────────┴─────────┴────┴─────────────┘
Stock During Pre-Market
┌────┬──────┬────────┬─────────┬────┬─────────────┐
│ 🔴 │ AAPL │ 178.25 │ -$2.30 │ ▼V │ S:🔴 Q:🔴 │
├────┼──────┼────────┼─────────┼────┼─────────────┤
│ ⊖ │ 8: 179.80│ 21: 181.50 │ 50: 183.20 │
├────┼──────┼────────┼─────────┼────┼─────────────┤
│ ⏰ │ 177 │ ──║──── │ 180 │Vol: │ █░░░░░ │
└────┴──────┴────────┴─────────┴────┴─────────────┘
Crypto (Always Open)
┌────┬──────┬──────────┬─────────┬────┬─────────────┐
│ 🟢 │ BTC │ 67,450 │ +$1,250 │ ▲V │ S:🟢 Q:🟢 │
├────┼──────┼──────────┼─────────┼────┼─────────────┤
│ ⊕ │ 8: 66,800│ 21: 65,500 │ 50: 63,200 │
├────┼──────┼──────────┼─────────┼────┼─────────────┤
│ 🔔 │ 65,000 │ ──────║── │ 68,000 │Vol: │ ████░░ │
└────┴──────┴──────────┴─────────┴────┴─────────────┘
Futures (Closed)
┌────┬──────┬─────────┬─────────┬────┬─────────────┐
│ 🔴 │ ES1! │ 5,425 │ -$15.00 │ ▼V │ S:🔴 Q:🔴 │
├────┼──────┼─────────┼─────────┼────┼─────────────┤
│ ⊜ │ 8: 5,430 │ 21: 5,445 │ 50: 5,480 │
├────┼──────┼─────────┼─────────┼────┼─────────────┤
│ ⛔️ │ 5,400 │ ───║──── │ 5,450 │Vol: │ ██░░░░ │
└────┴──────┴─────────┴─────────┴────┴─────────────┘
Technical Notes
Session detection uses timenow for real-time accuracy (not bar time)
All session times are based on America/New_York timezone
Volume calculations use daily timeframe regardless of chart timeframe
Moving averages calculated on current chart timeframe
Price color reflects change from previous close (not day open)
Money Management Trade Data BoxTrade Data Box - Money Management Indicator
Overview
This indicator provides real-time position sizing and risk management calculations directly on your chart. It displays a clean data box that helps traders maintain disciplined risk management by automatically calculating the optimal number of contracts to trade based on ATR (Average True Range) volatility measurements.
What It Does
The indicator solves a critical problem that many traders face: determining the correct position size before entering a trade. Instead of manually calculating how many contracts to trade based on your risk tolerance and stop loss distance, this tool does all the math for you in real-time.
Key Features
ATR-Based Stop Loss & Target Calculation
Uses the Average True Range to set dynamic stop losses and profit targets that adapt to current market volatility
ATR multipliers allow you to customize how conservative or aggressive your stops and targets are (reasonable reward-to-risk ratio).
Automatic Position Sizing
Calculates exactly how many contracts you should trade to risk a specific dollar amount
Takes into account your defined risk per trade, the instrument's tick value, and the calculated stop loss distance
Updates continuously as market conditions change
Visual Data Box
Displays four critical pieces of information:
Target (ticks): How far your profit target is from entry
Stop (ticks): How far your stop loss should be placed
Risk Amount: Your fixed dollar risk per trade
Contracts: The calculated number of contracts to trade
Customization Options
Adjustable table size for different screen sizes
Six position options to place the box wherever you prefer on your chart
Optional "real close" dots to verify you're seeing actual closing prices if you are using Heiken Ashi Candles.
How Traders Use This
Set Your Risk Parameters: Input your maximum dollar risk per trade (e.g., $200) and the tick value for your instrument (e.g., $0.50 for Micro NQ (MNQ) futures)... verify your tick value before trading to ensure your risk management is correct.
Adjust ATR Settings: Customize the ATR length and multipliers based on your trading style and the instrument's characteristics.
Read the Box Before Trading: Before entering any trade, check the data box to know:
Where to place your stop loss
Where to set your profit target
How many contracts to trade to maintain consistent risk
Execute with Confidence: Enter your trade knowing you're risking exactly the amount you're comfortable with, regardless of how volatile the market is
Why This Matters
Professional traders know that position sizing is more important than entry timing. This indicator ensures you're never over-leveraged during volatile periods or under-leveraged during quiet markets. By basing calculations on ATR, your stops and targets automatically adjust to current market conditions, helping you maintain consistent risk across all trades.
Profile volume deviationThis indicator calculates the width of the 70% Value Area of a moving volume profile over a defined number of candles.
It begins by identifying the highest and lowest points of the period under review, then divides this price range into several segments. For each candle, the volume is added to the segment corresponding to the closing price, which allows a volume profile to be constructed.
Once the total volume is known, the indicator identifies the most traded segment, called the Point of Control. From this central point, it gradually widens the area upwards and downwards by adding the most voluminous adjacent segments until it covers 70% of the total volume: this is the Value Area.
The lower and upper limits of this area are then converted into prices, and their difference gives the width of the Value Area. This width can be displayed directly as a price value or as a percentage of the current price.
The indicator is mainly used to assess the state of the market: a narrow Value Area suggests a phase of compression or range, while a wide Value Area indicates a period of expansion and strong activity.
Prop Firms No-Trade News (NFP/CPI/FOMC) - 30m WarningProp Firms No-Trade News (NFP / CPI / FOMC) — 30m Warning
This indicator is designed for traders operating under **prop firm rules**, where trading during high-impact economic news is restricted or prohibited.
It highlights **no-trade windows** around the most critical U.S. macroeconomic events and helps you stay compliant, disciplined, and risk-aware.
Covered High-Impact Events
* **Non-Farm Payrolls (NFP)**
→ Automatically calculated (1st Friday of each month at 08:30 ET)
* **Consumer Price Index (CPI)**
→ Manually configurable
* **FOMC Rate Decision / Policy Statement**
→ Manually configurable
How It Works
* **30-minute warning alert** before each event
* **No-trade window shading** on the chart
* **Optional labels** for:
* Upcoming no-trade period
* Exact news release moment
* **Customizable buffers**:
* Minutes before the event
* Minutes after the event
Alerts Included
* 30-minute pre-news warning
* No-trade window start
* No-trade window end
* News release time
All alerts can be used for **manual trading discipline** or automated workflows.
Who This Is For
* Prop firm traders (evaluation or funded)
* Futures and index traders
* Traders who want **rule-based protection against emotional or impulsive trading during news**
Notes
* News times are based on **U.S. Eastern Time (ET)**
* CPI and FOMC dates must be updated manually according to the official economic calendar
* This tool does **not execute trades** — it enforces awareness and discipline
ATR + ADX Expansion This script plots in real time a shorter period ATR compared to a longer period ATR allowing one to see if the market has above or below average volatility. This helps avoid choppy sideways markets.
Secondly, the table shows whether ADX is expanding above its signal line, or contracting below it's signal line further identifying a market in expansion or contraction.
Any set up must be deployed in a healthy market environment, this indicator measures core statistics in real time to allow you see at a glance what state the market is in.
Spectre -Candles Spectre -Candles MEANS SPECTRE CANDLES -
2 candle closing main 2 candle closing main
Sequential - Heatmap [R2D2]The Professional Edge in Trend Exhaustion
In a market environment saturated with noise, the most valuable tool for a trader is clarity. Standard trend-following indicators often lag, and traditional reversal markers can be premature. The Sequential: Heatmap is a sophisticated trend-exhaustion indicator designed to identify precise market inflection points where a trend has reached its mathematical limit.
By focusing on the Exhaustion Phase (counts 7, 8, and 9) and integrating Perfection Logic, this tool filters out "weak" setups, highlighting only the high-probability price flips that professional institutional traders watch.
How It Works: The Logic of Exhaustion
The Sequential operates on the principle of price symmetry. A "Setup" occurs when a series of at least nine consecutive bars close higher (for a Sell Setup) or lower (for a Buy Setup) than the close of the bar four periods prior.
The "Perfected" Difference
A standard 9-count is often not enough for a high-conviction entry. This publication-ready script includes Perfection Logic:
Perfected Buy (9★) : The low of bar 8 or 9 must be lower than the lows of both bars 6 and 7.
Perfected Sell (9★) : The high of bar 8 or 9 must be higher than the highs of both bars 6 and 7.
This ensures that the final move in the sequence is a true "climax" before the reversal begins.
Step-by-Step Usage Guide
Step 1: Monitor the Heatmap
As a trend develops, the bars will remain standard. Once the sequence hits count 7, the Heatmap Gradient activates.
Faint Color: Momentum is beginning to stretch.
Deep Saturated Color: The trend is entering the danger zone for a reversal.
Step 2: Identify the 9★ Completion
Wait for the number 9 to appear. If a star (★) is attached, the setup is "Perfected". This is your primary signal that the current move is mathematically overextended.
Step 3: Define Your Risk with Risk Lines
Upon completion of a 9-count, the script draws a solid thin horizontal line:
Green Line (Resistance) : The ceiling of the move. Use this as a profit target for longs or a hard stop for shorts.
Red Line (Support) : The floor of the move. Use this as a profit target for shorts or a hard stop for longs.
Trading Like a Pro: Strategies for Success
To use this tool effectively at a professional level, follow these three core tenets:
Don’t Front-Run the 9 : Amateur traders often try to "guess" the reversal at count 5 or 6. Professionals wait for the Perfected 9 to close. The heatmap is designed to keep you patient.
The "Risk Line" Breaker : If price closes beyond a Risk Line (e.g., closes above the green resistance line), the exhaustion has failed, and a "Setup Trend Extension" is occurring. In this case, exit your reversal trade immediately; the trend is stronger than the exhaustion.
Confluence with Higher Timeframes : A Perfected 9 on a 15-minute chart is strong; a Perfected 9 on a 15-minute chart that aligns with a 4-hour Risk Line is institutional grade.
ICT Macros & Visual Risk CalculatorThis "all-in-one" indicator is specifically designed for ICT (Inner Circle Trader) methodology practitioners who trade high-volatility time windows (Macros). It combines automated visual identification of these sessions with an advanced risk calculator that dynamically draws position blocks (Long/Short) based on pips, ensuring fast and precise execution.
Pivot Point ORIGINAL + Breaksalarms pivots points.......................................................................................................................................................
Break asian range break alerts
- stratégie break ou réintégration possible avec alertes intégrées .
asian range break
Gold Decisions [DayFunded]Gold Decisions 🎯
A multi-timeframe decision system designed specifically for XAUUSD (Gold) traders who want clarity, not noise.
🔍 What It Does
This indicator helps you identify high-probability trade setups by checking 5 key conditions:
1️⃣ Direction — Weekly + Daily must agree (no fighting the trend!)
2️⃣ Breakout — Daily closes beyond a key H4 zone
3️⃣ Pullback — Price returns to the cleared level (no chasing!)
4️⃣ Structure — 15-minute confirms with a break of structure
5️⃣ Entry — Clean directional close = signal
When all gates pass, you get a simple BUY or SELL label with confidence level (H/M/L).
📊 Features
✅ Clean, minimal chart labels (no spam!)
✅ Smart panel showing exactly what to watch for
✅ Win/Loss tracking to see historical performance
✅ H4 Supply/Demand zones auto-detected
✅ Asia session levels (Gold reacts to these!)
✅ Weekly/Daily high-low reference points
✅ Pullback target line for easy visual
⚠️ Important Notes
This is an indicator, not an EA — it does NOT place trades
Signals fire on confirmed bar close — no repainting
Works best on 15m to 4H timeframes
Designed for XAUUSD but may work on other pairs
🎁 Free to Use
This script is completely free. If you find it helpful, a follow or comment is always appreciated!
📖 How to Use
Add to your Gold chart (15m-4H recommended)
Watch the panel for "WATCH FOR" guidance
Wait for BUY/SELL signal
Check confidence level (H = High, M = Medium, L = Low)
Manage your own risk
Not financial advice. Trade responsibly. ✌️
Net Accumulation/Distribution ScreenerNet Accumulation or distribution days within the last 20 days. If volume is high and price is higher than 2%, is an accumulation day. If volume is high and price is below -2% is a distribution day
Power200EMA - MTF 200 EMA SuiteThe MTF 200 EMA Suite is a trend-confluence tool designed to reveal institutional support and resistance levels across multiple timeframes simultaneously. By plotting the 200-period Exponential Moving Average from six different time horizons onto a single chart, it allows you to identify "Power Zones" where various market cycles overlap.
Core Functionality
Multi-Timeframe Visibility: On a single lower-timeframe chart (like the 1m or 5m), you can see exactly where the 200 EMA sits on the 1m, 3m, 5m, 15m, 1h, and 4h horizons.
Institutional Benchmarking: The 200 EMA is the primary "line in the sand" used by institutional algorithms and bank traders to determine long-term trend bias.
Dynamic Clustering: When multiple EMA lines converge or "cluster" in one price area, it identifies a high-probability zone of institutional interest.
Floating Labels: Each line features an auto-updating label at the current price bar, allowing you to instantly identify which timeframe you are looking at without hovering over the plots.
Strategic Use
Trend Filter: Trade only in the direction where price is relative to the majority of the EMAs (e.g., only buy when price is above the 1h and 4h lines).
Mean Reversion: Use the higher-timeframe lines (1h/4h) as targets for price to return to during volatile over-extensions.
Support/Resistance: Use EMA clusters as "hard" barriers to place stops behind or to look for bounce-entry confluence.
BTC - Sentiment (Posts weighted) LSMABTC - Sentiment (Posts Weighted) LSMA | RM
Concept
In the current 2026 market regime, Bitcoin has transitioned into a mature institutional asset. However, retail "Social Liquidity" remains the primary driver of local volatility and blow-off tops. This script serves as a deterministic proxy for crowd conviction, utilizing the LUNARCRUSH:BTC_SENTIMENT feed to identify when social hype has decoupled from fundamental value.
Data Source: LunarCrush Integration
This model utilizes the native LunarCrush data prefix. Unlike simple "mention counts," the BTC_SENTIMENT metric is a percentage-based value (0-100%) representing the "Sentiment of positive posts weighted by interactions."
• Interactions vs. Volume: By weighting sentiment by interactions (likes, shares, comments), the data filters out bot-driven "spam" and focuses on what real participants are actually engaging with.
• Meaning of the Value: 100% indicates that every single interaction-weighted post is positive; 0% indicates total negativity. Historically, BTC sentiment rarely drops below 60% or stays above 90% for long, creating a predictable mean-reverting corridor.
Technical Architecture
• The LSMA Denoising Engine Raw social data is inherently "jittery." To extract a tradable signal, we apply a Least Squares Moving Average (LSMA) with a 28-day lookback.
• Mathematical Advantage: Unlike a Simple Moving Average (SMA), the LSMA calculates a linear regression line for each period to find the "best fit." This allows the indicator to track the velocity of sentiment shifts with significantly less lag, which is critical for identifying "Social Exhaustion" before a price reversal occurs.
• The Social Heat Index (SHI) Calculation: To align this data with the broader Rob Maths ecosystem, we normalize the LSMA output into a standardized 0–10 score using a Linear Feature Scaling (Min-Max) formula: SHI = ((Current LSMA - 65) / 25) * 10 ; This formula treats 65% as the "Floor" (Apathy) and 90% as the "Ceiling" (Hysteria). This 0–10 scale allows for immediate comparison against other institutional risk metrics.
Regime Audits & Usage
• Accumulation (Blue Zone / <72.5%): Social Despair. Retail interest is at a mathematical minimum. Historically, these periods of "Social Apathy" coincide with major local bottoms as institutional "Smart Money" absorbs the lack of retail demand.
• Neutral Zone (Grey): Sustainable growth. Sentiment is within the normal distribution.
• Distribution (Red Zone / >82.5%): Overheated. The crowd is in a state of maximum FOMO. When the SHI exceeds 8.5/10, the risk of a "Liquidity Flush" increases significantly.
Visual Scaling
To ensure the curve is readable, the indicator pane is hard-locked to a 65–90 scale. This prevents the "flat line" effect often seen in 0-100 oscillators and highlights the subtle divergences that occur at cycle peaks.
Disclaimer
Past performance does not guarantee future results. Social metrics are alternative data points and should be used in conjunction with price action and risk management. This is a mathematical model, not financial advice.
Tags
Rob Maths, Rob_Maths, robmaths, Bitcoin, Sentiment, LunarCrush, Quant, LSMA, OnChain, Social Liquidity
Retail Forex Sentiment Fear/Greed CurrencyPairsRetail Forex Sentiment Fear/Greed CurrencyPairs
Overview
The Retail Forex Sentiment Indicator provides sentiment data for major and cross currency pairs. This indicator displays retail trader positioning using retail brokers data, showing what percentage of retail traders are long or short on each forex pair.
Important: Indicator Split Notice
---------------------------------
Due to TradingView's limitation of 40 data requests per indicator, the original Retail Sentiment Indicator has been split into TWO separate indicators you will find on TradingView:
1. This indicator - Specialized for Forex currency pairs (30+ pairs)
[2. Retail Sentiment Indicator - Multi-Asset CFD & Fear/Greed Index - For indices, commodities, cryptocurrencies, and Fear/Greed indices
Please look at both indicators to access all available sentiment data.
Methodology and Scale Calculation
---------------------------------
This indicator operates on a **-50 to +50 scale** with zero representing perfect market equilibrium.
Scale Interpretation:
- **Zero (0)**: Market balance - exactly 50% of traders long, 50% short
- **Positive values**: Majority long (buying) pressure
- Example: If 63% of traders are long, the indicator shows +13 (63 - 50 = +13)
- **Negative values**: Majority short (selling) pressure
- Example: If 92% of traders are short, the indicator shows -42 (50 - 92 = -42)
Features
--------
- **Auto-Detection**: Automatically loads sentiment data based on the current chart symbol
- **Manual Selection**: Choose from 30+ supported currency pairs when auto-detection is unavailable
- **Visual Zones**: Clear greed/fear zones with color-coded backgrounds (green for fear zone, red for greed zone - contrarian colors)
- **Daily Updates**: Live sentiment data from retail CFD providers
Supported Currency Pairs
========================
Major Pairs
-----------
- EURUSD (most traded pair globally)
- GBPUSD (Cable)
USD Pairs
---------
- USDJPY, USDCHF, USDCAD
- USDPLN
PLN (Polish Zloty) Pairs
------------------------
- USDPLN, EURPLN, GBPPLN, CHFPLN
EUR Cross Pairs
---------------
- EURJPY, EURCHF, EURCAD, EURAUD, EURNZD, EURGBP
GBP Cross Pairs
---------------
- GBPJPY, GBPCHF, GBPCAD, GBPAUD, GBPNZD
AUD (Australian Dollar) Pairs
-----------------------------
- AUDUSD, AUDJPY, AUDCHF, AUDNZD, AUDCAD
NZD (New Zealand Dollar) Pairs
------------------------------
- NZDUSD, NZDJPY, NZDCHF, NZDCAD
CAD Cross Pairs
---------------
- CADJPY, CADCHF
CHF Cross Pairs
---------------
- CHFJPY
How to Use
----------
1. **Auto Mode** (Default): Enable "Auto-load Sentiment Data" checkbox to automatically display sentiment for the current chart's currency pair
2. **Manual Mode**: Disable auto-load and select from the dropdown menu for specific currency pairs
3. **Interpretation**:
- Values above 0 (green line) indicate retail traders are net long (greed/bullish sentiment)
- Values below 0 (red line) indicate retail traders are net short (fear/bearish sentiment)
- Extreme zones (+35 to +50 and -35 to -50) indicate strong positioning
Trading Strategy & Market Philosophy
====================================
Contrarian Trading Approach
---------------------------
The primary purpose of this indicator is based on the fundamental market principle that **the majority of retail forex traders are wrong most of the time**, and currency pairs typically move opposite to the positions held by the majority of retail participants.
Key Strategy Guidelines:
- **Contrarian Signal**: When the majority of retail traders are positioned on one side, consider opportunities in the opposite direction
- **Trend Exhaustion Signal**: When retail traders finally flip to trade WITH an established trend after being wrong for extended period, this often signals trend exhaustion
Interpretation Examples:
- High greed readings (majority long) -> Consider short opportunities
- High fear readings (majority short) -> Consider long opportunities
- Sudden sentiment flip during established trends -> Potential trend reversal signal
Forex-Specific Notes
====================
Currency Correlations
---------------------
When analyzing forex sentiment, consider that:
- USD pairs often move together (if retail is long EURUSD, they're often short USDJPY)
- Cross pairs can provide confirmation signals
- Comparing sentiment across related pairs can reveal broader positioning
Auto-Detection Support
----------------------
The indicator supports automatic detection of various broker ticker formats including:
- Standard pairs (EURUSD, GBPUSD, etc.)
- CME Futures symbols (6E, 6B, JY, etc.)
- Micro futures (M6E, M6B, MJY, etc.)
This functionality is powered by regex pattern matching. However, for some CME futures pairs—particularly those involving JPY, CAD, and CHF—auto-detection may not work properly. In such cases, disable the auto-load checkbox and manually select the ticker from the dropdown menu.
Technical Notes
---------------
- Built with PineScript v6
- Dynamic symbol detection with fallback options
- Optimized for performance with minimal resource usage
- Color-coded visualization with customizable zones
Data Sources
------------
This indicator uses curated sentiment data from retail CFD providers. Data is updated regularly and sourced from reputable financial data providers.
Data Infrastructure Status
--------------------------
Current Data Upload Process:
Please note that sentiment data uploads may occasionally experience minor interruptions. However, this should not pose significant issues as sentiment data typically changes gradually rather than rapidly.
Acknowledgments
---------------
We extend our gratitude to **TradingView** for enabling the use of custom data feeds based on GitHub repositories, making this comprehensive forex sentiment analysis possible.
Disclaimer
----------
This indicator is for educational and informational purposes only. Sentiment data should be used as part of a comprehensive trading strategy and not as the sole basis for trading decisions. Past performance does not guarantee future results. The contrarian approach described is a market theory and may not always produce profitable results. Forex trading involves significant risk of loss.
Contango/Backwardation Futures Box Desk - TT ToolsContango / Backwardation Futures Box – TT Tools
This indicator provides a clear, compact, and intuitive view of the Contango / Backwardation structure of a futures curve, displayed directly on the chart through an advanced informational box.
It is designed for discretionary traders, spread traders, and curve analysis, with an optimized visualization for both desktop and mobile use.
The box displays the real-time Contango or Backwardation structure of the futures curve, including:
curve status (Contango / Backwardation / Flat)
percentage spread between the front contracts
prices of the three expiries (Near, Mid, Far) with directional indicators
confirmation or non-confirmation of the curve structure
contract expiration date with remaining days countdown
rollover warning when expiration is approaching
The box is fully optimized for Desktop, Compact, and Mobile layouts, ensuring a clean, adaptive design and always-readable information.
Quick Start Guide
Select the futures contracts
Insert the nearest futures contracts into Front (1), Next (2) and Third (3), starting from the front-month contract.
You can easily find the correct contract using “Change Symbol”, filtering by Futures and selecting the appropriate expiry.
Check the contract expiry
Identify the rollover date directly on the chart using Events → Contract Switch.
This helps you confirm that you are analyzing the correct futures expiration.
Set the NEXT EXPIRY date
Enter the next futures expiration date in the NEXT EXPIRY (exact date) field.
Simply match it with the contract switch shown on the chart to stay perfectly aligned.
Monitor the curve
The box displays in real time:
curve structure (Contango / Backwardation / Flat)
percentage spread between expiries
prices of the three contracts with directional indicators
structure confirmation status
days-to-expiry countdown
visual rollover warning when expiration approaches
👉 Always keep contracts and expiry dates updated to ensure an accurate reading of the futures curve and to anticipate rollover phases correctly.
__________________________________________________________
Backwardation Futures Box – TT Tools
Questo indicatore mostra in modo chiaro, compatto e immediato la struttura Contango / Backwardation di una curva futures, direttamente sul grafico tramite un box informativo avanzato. È pensato per trader discrezionali, spread traders e analisi di curva, con una visualizzazione ottimizzata sia per desktop che per mobile.
Il riquadro box mostra in tempo reale la struttura di Contango o Backwardation della curva futures, includendo:
• stato della curva (Contango / Backwardation / Flat)
• spread percentuale tra le prime scadenze
• prezzi delle tre scadenze (Near, Mid, Far) con indicatori direzionali
• conferma o meno della struttura della curva
• data di scadenza del contratto e countdown ai giorni residui
• avviso di rollover imminente
Il box è ottimizzato per Desktop, Compact e Mobile, con layout adattivo e informazioni sempre leggibili.
Mini guida operativa
Selezione dei contratti
Inserisci nel box Front (1), Next (2) e Third (3) i future più prossimi a scadenza, partendo dal contratto front-month.
Puoi cercare rapidamente il contratto corretto tramite “Cambia simbolo”, filtrando per Futures e selezionando la scadenza desiderata.
Controllo della scadenza
Individua la data di rollover direttamente sul grafico tramite la sezione Eventi → Switch di contratto.
Utilizza questa informazione per verificare di stare analizzando la scadenza corretta.
Impostazione della NEXT EXPIRY
Inserisci nel campo NEXT EXPIRY (data precisa) la data di scadenza del prossimo future.
È sufficiente confrontarla con lo switch di contratto visibile sul grafico per essere allineati correttamente.
Monitoraggio della curva
Il box mostra in tempo reale:
struttura della curva (Contango / Backwardation / Flat)
spread percentuale tra le scadenze
prezzi dei tre contratti con direzione relativa
conferma o meno della struttura
countdown ai giorni residui
alert visivo di rollover imminente
👉 Mantieni sempre aggiornati contratti e data di scadenza per avere una lettura affidabile della curva futures e anticipare correttamente le fasi di rollover.
EMA Gradient Band (Custom)Simple 10-20 ema crossover band. An EMA (Exponential Moving Average) crossover is a technical analysis trading signal that occurs when a fast-moving (short-term) EMA intersects with a slow-moving (long-term) EMA, signaling potential trend reversals or continuations. Common pairs include the 9/20, 10/20, or 50/200 EMA, with the shorter-term line crossing above (bullish) or below (bearish) the longer-term line






















