BBMA By K1M4K-ID- Final Validated Re-Entry//@version=6
indicator("BBMA By K1M4K-ID- Final Validated Re-Entry", overlay=true, max_labels_count=500)
// === INPUT BB ===
lengthBB = input.int(20, title="BB Period")
devBB = input.float(2.0, title="Deviation")
src = input.source(close, title="Source")
bbColorMid = input.color(color.purple, title="Mid BB Color")
bbColorTop = input.color(color.purple, title="Top BB Color")
bbColorLow = input.color(color.purple, title="Low BB Color")
showFill = input.bool(true, title="Show BB Fill")
showReEntrySignals = input.bool(true, "Show Re-Entry Signals (✅)")
showSignalTable = input.bool(true, "Show Signal Table")
// === BB CALCULATION ===
basis = ta.sma(src, lengthBB)
dev = devBB * ta.stdev(src, lengthBB)
topBB = basis + dev
lowBB = basis - dev
// === PLOT BB ===
pMid = plot(basis, title="Mid BB", color=bbColorMid, linewidth=2)
pTop = plot(topBB, title="Top BB", color=bbColorTop, linewidth=2)
pLow = plot(lowBB, title="Low BB", color=bbColorLow, linewidth=2)
fill(pTop, pLow, color=showFill ? color.new(color.purple, 85) : na, title="BB Fill")
// === INPUT MA SETTING ===
ma_func(source, length) => ta.wma(source, length)
// === MA HIGH/LOW ===
ma5_high = ma_func(high, 5)
ma10_high = ma_func(high, 10)
ma5_low = ma_func(low, 5)
ma10_low = ma_func(low, 10)
// === PLOT MA ===
p_ma5_high = plot(ma5_high, title="MA 5 High", color=color.green, linewidth=2)
p_ma10_high = plot(ma10_high, title="MA 10 High", color=color.green, linewidth=2)
fill(p_ma5_high, p_ma10_high, color=color.new(color.green, 85), title="MA High Fill")
p_ma5_low = plot(ma5_low, title="MA 5 Low", color=color.red, linewidth=2)
p_ma10_low = plot(ma10_low, title="MA 10 Low", color=color.red, linewidth=2)
fill(p_ma5_low, p_ma10_low, color=color.new(color.red, 85), title="MA Low Fill")
// === EMA 50 ===
ema50 = ta.ema(close, 50)
plot(ema50, title="EMA 50", color=color.blue, linewidth=3)
// === CSA KUKUH (LOGIKA ASLI LU - TIDAK DIUBAH) ===
var bool hasCsaBuy = false
var bool hasCsaSell = false
isCsaKukuhBuy = close > ma5_high and close > ma10_high and close > basis
isCsaKukuhSell = close < ma5_low and close < ma10_low and close < basis
if isCsaKukuhBuy and not hasCsaBuy
hasCsaBuy := true
hasCsaSell := false
else if isCsaKukuhSell and not hasCsaSell
hasCsaSell := true
hasCsaBuy := false
showCsaBuy = isCsaKukuhBuy and not hasCsaBuy
showCsaSell = isCsaKukuhSell and not hasCsaSell
plotshape(showCsaBuy, title="CSA Kukuh Buy First", location=location.belowbar, color=color.green, style=shape.labelup, text="CSAK", textcolor=color.white, size=size.small)
plotshape(showCsaSell, title="CSA Kukuh Sell First", location=location.abovebar, color=color.red, style=shape.labeldown, text="CSAK", textcolor=color.white, size=size.small)
// === CSM (HANYA SAAT KELUAR DARI DALAM BB) ===
wasInsideBB = (close >= lowBB and close <= topBB )
csmBuySignal = wasInsideBB and close > topBB
csmSellSignal = wasInsideBB and close < lowBB
plotshape(csmBuySignal, title="CSM Buy", location=location.abovebar, color=color.green, style=shape.triangleup, text="CSM", size=size.tiny)
plotshape(csmSellSignal, title="CSM Sell", location=location.belowbar, color=color.red, style=shape.triangledown, text="CSM", size=size.tiny)
// === CSA (BREAKOUT TANPA MELEWATI MID BB) ===
isCsaBuy = close > ma5_high and close > ma10_high and close <= basis
isCsaSell = close < ma5_low and close < ma10_low and close >= basis
plotshape(isCsaBuy, title="CSA Buy", location=location.belowbar, color=color.new(color.green, 60), style=shape.circle, text="CSA", size=size.tiny)
plotshape(isCsaSell, title="CSA Sell", location=location.abovebar, color=color.new(color.red, 60), style=shape.circle, text="CSA", size=size.tiny)
// === EXTREME ===
basis_ext = ta.sma(close, 20)
dev_ext = 2 * ta.stdev(close, 20)
isExtremeBuy() => ta.wma(low, 5) < basis_ext - dev_ext
isExtremeSell() => ta.wma(high, 5) > basis_ext + dev_ext
plotshape(isExtremeBuy(), title="Extreme Buy", location=location.belowbar, color=color.green, style=shape.labelup, text="E", size=size.tiny, textcolor=color.white)
plotshape(isExtremeSell(), title="Extreme Sell", location=location.abovebar, color=color.red, style=shape.labeldown, text="E", size=size.tiny, textcolor=color.white)
// === ZZL MA ===
isZzlBuy = (ma5_high > basis and ma10_high > basis and ma5_low > basis and ma10_low > basis and
(ma5_high <= basis or ma10_high <= basis or ma5_low <= basis or ma10_low <= basis))
isZzlSell = (ma5_high < basis and ma10_high < basis and ma5_low < basis and ma10_low < basis and
(ma5_high >= basis or ma10_high >= basis or ma5_low >= basis or ma10_low >= basis))
var bool zzlBuyShown = false
var bool zzlSellShown = false
if isZzlBuy and not zzlBuyShown
label.new(bar_index, low, "Z", style=label.style_label_up, color=color.green, textcolor=color.white)
zzlBuyShown := true
if not isZzlBuy
zzlBuyShown := false
if isZzlSell and not zzlSellShown
label.new(bar_index, high, "Z", style=label.style_label_down, color=color.red, textcolor=color.white)
zzlSellShown := true
if not isZzlSell
zzlSellShown := false
// ===========================================
// === VALIDASI + RE-ENTRY (H4 & H1) ===
// ===========================================
// --- Ambil data ---
= request.security(syminfo.tickerid, "240", )
wasInside_h4 = request.security(syminfo.tickerid, "240", (close >= (ta.sma(close, lengthBB) - devBB * ta.stdev(close, lengthBB) ) and close <= (ta.sma(close, lengthBB) + devBB * ta.stdev(close, lengthBB) )))
csmBuy_h4 = wasInside_h4 and request.security(syminfo.tickerid, "240", close > (ta.sma(close, lengthBB) + devBB * ta.stdev(close, lengthBB)))
csmSell_h4 = wasInside_h4 and request.security(syminfo.tickerid, "240", close < (ta.sma(close, lengthBB) - devBB * ta.stdev(close, lengthBB)))
csakBuy_h4 = close_h4 > ma5h_h4 and close_h4 > ma10h_h4 and close_h4 > basis_h4
csakSell_h4 = close_h4 < ma5l_h4 and close_h4 < ma10l_h4 and close_h4 < basis_h4
csaBuy_h4 = close_h4 > ma5h_h4 and close_h4 > ma10h_h4 and close_h4 <= basis_h4
csaSell_h4 = close_h4 < ma5l_h4 and close_h4 < ma10l_h4 and close_h4 >= basis_h4
csmBuy_h1 = request.security(syminfo.tickerid, "60", (close >= (ta.sma(close, lengthBB) - devBB * ta.stdev(close, lengthBB) ) and close <= (ta.sma(close, lengthBB) + devBB * ta.stdev(close, lengthBB) )) and close > (ta.sma(close, lengthBB) + devBB * ta.stdev(close, lengthBB)))
csmSell_h1 = request.security(syminfo.tickerid, "60", (close >= (ta.sma(close, lengthBB) - devBB * ta.stdev(close, lengthBB) ) and close <= (ta.sma(close, lengthBB) + devBB * ta.stdev(close, lengthBB) )) and close < (ta.sma(close, lengthBB) - devBB * ta.stdev(close, lengthBB)))
csakBuy_h1 = request.security(syminfo.tickerid, "60", close > ta.wma(high,5) and close > ta.wma(high,10) and close > ta.sma(close, lengthBB))
csakSell_h1 = request.security(syminfo.tickerid, "60", close < ta.wma(low,5) and close < ta.wma(low,10) and close < ta.sma(close, lengthBB))
csaBuy_h1 = request.security(syminfo.tickerid, "60", close > ta.wma(high,5) and close > ta.wma(high,10) and close <= ta.sma(close, lengthBB))
csaSell_h1 = request.security(syminfo.tickerid, "60", close < ta.wma(low,5) and close < ta.wma(low,10) and close >= ta.sma(close, lengthBB))
csmBuy_m15 = request.security(syminfo.tickerid, "15", close > (ta.sma(close, lengthBB) + devBB * ta.stdev(close, lengthBB)))
csmSell_m15 = request.security(syminfo.tickerid, "15", close < (ta.sma(close, lengthBB) - devBB * ta.stdev(close, lengthBB)))
csakBuy_d = request.security(syminfo.tickerid, "D", close > ta.wma(high,5) and close > ta.wma(high,10) and close > ta.sma(close, lengthBB))
csakSell_d = request.security(syminfo.tickerid, "D", close < ta.wma(low,5) and close < ta.wma(low,10) and close < ta.sma(close, lengthBB))
csaBuy_d = request.security(syminfo.tickerid, "D", close > ta.wma(high,5) and close > ta.wma(high,10) and close <= ta.sma(close, lengthBB))
csaSell_d = request.security(syminfo.tickerid, "D", close < ta.wma(low,5) and close < ta.wma(low,10) and close >= ta.sma(close, lengthBB))
// --- Validasi ---
validCsakH4Buy = csakBuy_h4 and ta.highest(csmBuy_h1 ? 1 : 0, 4) == 1
validCsakH4Sell = csakSell_h4 and ta.highest(csmSell_h1 ? 1 : 0, 4) == 1
validCsakH1Buy = csakBuy_h1 and ta.highest(csmBuy_m15 ? 1 : 0, 4) == 1
validCsakH1Sell = csakSell_h1 and ta.highest(csmSell_m15 ? 1 : 0, 4) == 1
validCsmH1Buy = csmBuy_h1 and (csaBuy_h4 or csakBuy_h4) and ta.highest(csmBuy_m15 ? 1 : 0, 4) == 1
validCsmH1Sell = csmSell_h1 and (csaSell_h4 or csakSell_h4) and ta.highest(csmSell_m15 ? 1 : 0, 4) == 1
validCsmH4Buy = csmBuy_h4 and (csaBuy_d or csakBuy_d) and ta.highest(csmBuy_h1 or csmSell_h1 ? 1 : 0, 4) == 1
validCsmH4Sell = csmSell_h4 and (csaSell_d or csakSell_d) and ta.highest(csmBuy_h1 or csmSell_h1 ? 1 : 0, 4) == 1
// --- Re-Entry Area ---
inReEntryBuy = low <= math.max(ma5_low, ma10_low)
inReEntrySell = high >= math.min(ma5_high, ma10_high)
// --- Flag Valid + Hit Detection ---
var bool vCsakH4B = false, vCsakH4S = false
var bool vCsakH1B = false, vCsakH1S = false
var bool vCsmH4B = false, vCsmH4S = false
var bool vCsmH1B = false, vCsmH1S = false
var bool hitCsakH4B = false, hitCsakH4S = false
var bool hitCsakH1B = false, hitCsakH1S = false
var bool hitCsmH4B = false, hitCsmH4S = false
var bool hitCsmH1B = false, hitCsmH1S = false
// Reset hit setiap candle
hitCsakH4B := false
hitCsakH4S := false
hitCsakH1B := false
hitCsakH1S := false
hitCsmH4B := false
hitCsmH4S := false
hitCsmH1B := false
hitCsmH1S := false
// Aktifkan flag saat valid
vCsakH4B := validCsakH4Buy ? true : vCsakH4B
vCsakH4S := validCsakH4Sell ? true : vCsakH4S
vCsakH1B := validCsakH1Buy ? true : vCsakH1B
vCsakH1S := validCsakH1Sell ? true : vCsakH1S
vCsmH4B := validCsmH4Buy ? true : vCsmH4B
vCsmH4S := validCsmH4Sell ? true : vCsmH4S
vCsmH1B := validCsmH1Buy ? true : vCsmH1B
vCsmH1S := validCsmH1Sell ? true : vCsmH1S
// Deteksi & reset saat re-entry
if vCsakH4B and inReEntryBuy
hitCsakH4B := true
vCsakH4B := false
if vCsakH4S and inReEntrySell
hitCsakH4S := true
vCsakH4S := false
if vCsakH1B and inReEntryBuy
hitCsakH1B := true
vCsakH1B := false
if vCsakH1S and inReEntrySell
hitCsakH1S := true
vCsakH1S := false
if vCsmH4B and inReEntryBuy
hitCsmH4B := true
vCsmH4B := false
if vCsmH4S and inReEntrySell
hitCsmH4S := true
vCsmH4S := false
if vCsmH1B and inReEntryBuy
hitCsmH1B := true
vCsmH1B := false
if vCsmH1S and inReEntrySell
hitCsmH1S := true
vCsmH1S := false
// --- Plot Re-Entry ---
//plotshape(showReEntrySignals and hitCsakH4B, location=location.belowbar, color=color.teal, style=shape.labelup, text="✅", size=size.normal)
//plotshape(showReEntrySignals and hitCsakH4S, location=location.abovebar, color=color.orange, style=shape.labeldown, text="✅", size=size.normal)
//plotshape(showReEntrySignals and hitCsakH1B, location=location.belowbar, color=color.green, style=shape.labelup, text="✅", size=size.small)
//plotshape(showReEntrySignals and hitCsakH1S, location=location.abovebar, color=color.red, style=shape.labeldown, text="✅", size=size.small)
//plotshape(showReEntrySignals and hitCsmH1B, location=location.belowbar, color=color.green, style=shape.labelup, text="✅ CSM", size=size.tiny)
//plotshape(showReEntrySignals and hitCsmH1S, location=location.abovebar, color=color.red, style=shape.labeldown, text="✅ CSM", size=size.tiny)
//plotshape(showReEntrySignals and hitCsmH4B, location=location.belowbar, color=color.teal, style=shape.labelup, text="✅ CSM", size=size.tiny)
//plotshape(showReEntrySignals and hitCsmH4S, location=location.abovebar, color=color.orange, style=shape.labeldown, text="✅ CSM", size=size.tiny)
// ===========================================
// === TABEL SIGNAL H1 & H4 (FINAL) ===
// ===========================================
var table sigTable = table.new(position.top_right, 4, 5, border_width=1)
if barstate.islast and showSignalTable
table.cell(sigTable, 0, 0, "TF", text_color=color.white, bgcolor=color.black)
table.cell(sigTable, 1, 0, "Signal", text_color=color.white, bgcolor=color.black)
table.cell(sigTable, 2, 0, "Status", text_color=color.white, bgcolor=color.black)
table.cell(sigTable, 3, 0, "Re-Entry", text_color=color.white, bgcolor=color.black)
table.cell(sigTable, 0, 1, "H4", text_color=color.white, bgcolor=color.black)
table.cell(sigTable, 1, 1, "CSAK Buy", text_color=color.green, bgcolor=color.new(color.green, 90))
table.cell(sigTable, 2, 1, vCsakH4B ? "✅ Valid" : "-", text_color=vCsakH4B ? color.green : color.gray, bgcolor=color.new(vCsakH4B ? color.green : color.gray, 90))
table.cell(sigTable, 3, 1, hitCsakH4B ? "✅ Hit" : "-", text_color=hitCsakH4B ? color.teal : color.gray, bgcolor=color.new(hitCsakH4B ? color.teal : color.gray, 90))
table.cell(sigTable, 0, 2, "H4", text_color=color.white, bgcolor=color.black)
table.cell(sigTable, 1, 2, "CSAK Sell", text_color=color.red, bgcolor=color.new(color.red, 90))
table.cell(sigTable, 2, 2, vCsakH4S ? "✅ Valid" : "-", text_color=vCsakH4S ? color.red : color.gray, bgcolor=color.new(vCsakH4S ? color.red : color.gray, 90))
table.cell(sigTable, 3, 2, hitCsakH4S ? "✅ Hit" : "-", text_color=hitCsakH4S ? color.orange : color.gray, bgcolor=color.new(hitCsakH4S ? color.orange : color.gray, 90))
table.cell(sigTable, 0, 3, "H1", text_color=color.white, bgcolor=color.black)
table.cell(sigTable, 1, 3, "CSM Buy", text_color=color.green, bgcolor=color.new(color.green, 90))
table.cell(sigTable, 2, 3, vCsmH1B ? "✅ Valid" : "-", text_color=vCsmH1B ? color.green : color.gray, bgcolor=color.new(vCsmH1B ? color.green : color.gray, 90))
table.cell(sigTable, 3, 3, hitCsmH1B ? "✅ Hit" : "-", text_color=hitCsmH1B ? color.teal : color.gray, bgcolor=color.new(hitCsmH1B ? color.teal : color.gray, 90))
table.cell(sigTable, 0, 4, "H1", text_color=color.white, bgcolor=color.black)
table.cell(sigTable, 1, 4, "CSM Sell", text_color=color.red, bgcolor=color.new(color.red, 90))
table.cell(sigTable, 2, 4, vCsmH1S ? "✅ Valid" : "-", text_color=vCsmH1S ? color.red : color.gray, bgcolor=color.new(vCsmH1S ? color.red : color.gray, 90))
table.cell(sigTable, 3, 4, hitCsmH1S ? "✅ Hit" : "-", text_color=hitCsmH1S ? color.orange : color.gray, bgcolor=color.new(hitCsmH1S ? color.orange : color.gray, 90))
Siklus
ICT Power of 3 identify the high-probability Power of 3 pattern by analyzing price behavior rather than just specific times of day. It focuses on how the market builds, traps, and then expands.
1. Accumulation (The Setup)
Logic: The script monitors volatility using the Average True Range (ATR). When volatility drops below its recent average, the script recognizes that orders are being "accumulated."
Visual: A Blue Dotted Box appears. This marks the equilibrium zone where buy and sell side liquidity is being engineered above and below the high/low of the range.
2. Manipulation (The Trap)
Logic: The script looks for a "Sweep." This is defined as price moving outside the blue accumulation box but failing to sustain that move. In the video, this is the "Judas Swing" or false breakout.
Visual: A Red Diamond appears above or below the bar. This signals that the script has detected a liquidity grab—essentially, the market has "tricked" breakout traders into the wrong side of the market.
3. Distribution (The Expansion)
Logic: This is identified through Displacement. The script calculates the average candle body size. When a candle appears that is significantly larger (based on your Displacement Multiplier), it confirms that "Smart Money" has entered the market.
Visual: A Green Triangle appears. This marks the start of the distribution phase, which is the "meat" of the move where you want to be positioned.
Levels BY Lukelevel two continuation
level 3 reversal zone---
work in combination with your system
luke
check out my youtube page ADHD Traders channel
StO Price Action - Luminous Daily RoadmapShort Summary
- Luminous Daily Roadmap (LDR) are special trading days
- Marks entire trading days using background coloring
- Creates a clear daily roadmap directly on the chart
- Designed to stay minimal and non-intrusive
Full Description
Overview
- LDR is a proprietary forex trading schedule
- Dates of major trend reversals or significant market continuations
- Highlights full trading days using background colors
- Improves visual structure and day-to-day orientation
- Focuses purely on time segmentation, not price signals
- Suitable for all markets and timeframes
Daily Marking Logic
- Each trading day is visually marked across all its bars
- Background coloring spans the full session of the day
- Works consistently across intraday and higher timeframes
Year Look Back (YLB)
- YLB defines the starting year for day marking
- Markings are only applied from the selected year onward
- Allows focused analysis on recent or specific years
Visualization
- Background color is fully customizable
- Uses high transparency to avoid hiding price action
Usage
- Useful for session-based and daily analysis
- Supports routine-based trading and journaling
- Enhances visual rhythm of the chart
Notes
- This indicator is purely visual and non-predictive
- No alerts or signals are generated
- Best used as a structural overlay for orientation
- Can be combined with any price action or indicator-based workflow
Value Area PRO (TPO/Volume Session VAH/VAL/POC) 📌 AP Capital Value Area PRO (TPO / Volume)
AP Capital Value Area PRO is a session-based value area indicator designed for Gold (XAUUSD), NASDAQ (NAS100), and other CFD instruments.
It focuses on where the market has accepted price during the current session and highlights high-probability interaction zones used by professional traders.
Unlike rolling lookback volume profiles, this indicator builds a true session value area and provides actionable signals around VAH, VAL, and POC.
🔹 Core Features
Session-Anchored Value Area
Value Area is built only during the selected session
Resets cleanly at session start
Levels develop during the session and can be extended forward
No repainting or shifting due to lookback changes
TPO or Volume Mode
TPO (Time-at-Price) mode – ideal for CFDs and tick-volume data
Volume mode – uses broker volume if preferred
Same logic, different weighting method
Fixed Price Bin Size
Uses a fixed bin size (e.g. 0.10 for Gold, 0.25–0.50 for NAS100)
Produces cleaner, more realistic VAH/VAL levels
Avoids distorted profiles caused by dynamic bin scaling
VAH / VAL / POC Levels
VAH (Value Area High)
VAL (Value Area Low)
POC (Point of Control) (optional)
Lines can be extended to act as forward reference levels
🔹 Trading Signals & Alerts
Value Re-Entry
Identifies false breakouts where price:
Trades outside value
Then closes back inside
Often seen before strong mean-reversion or continuation moves.
Acceptance
Detects initiative activity using:
Multiple consecutive closes outside value
Filters out weak single-candle breaks
Rejection
Flags strong rejection candles:
Large candle body
Wick outside value
Close back inside the value area
These conditions are especially effective on Gold intraday.
🔹 Optional Profile Histogram
Right-side volume/TPO histogram
Buy/sell imbalance visualization
Fully optional to reduce chart clutter and improve performance
🔹 Best Use Cases
Recommended markets
XAUUSD (Gold)
NAS100 / US100
Other index or metal CFDs
Recommended timeframes
5m, 15m, 30m
Suggested settings
Mode: TPO
Value Area: 70%
Bin size:
Gold: 0.10
NAS100: 0.25 or 0.50
🔹 How Traders Use It
Trade rejections at VAH / VAL
Look for acceptance to confirm trend days
Use re-entries to fade failed breakouts
Combine with trend filters, EMA structure, or session context
⚠️ Disclaimer
This indicator is provided for educational and analytical purposes only and does not constitute financial advice. Always manage risk appropriately.
Session Range Boxes(MTF)📦 Indicator Name
Session Range Boxes (MTF)
Multi-Timeframe Directional Session Range Visualization
📘 Description
Session Range Boxes (MTF) is a multi-timeframe market structure tool that visually highlights price range behavior across different time sessions using clean, directional range boxes.
Each box represents the High–Low range of a completed or live session, automatically colored based on directional bias:
🟢 Bullish → Session Close > Session Open
🔴 Bearish → Session Close < Session Open
⚪ Neutral → Session Close = Session Open
This allows traders to instantly identify trend strength, balance zones, volatility expansion, and key support/resistance areas across multiple timeframes — all on a single chart.
🔍 What This Indicator Shows
For every enabled timeframe, the indicator:
Draws a range box from session open to session close
Continuously updates live session High & Low
Locks the final color once the session completes
Keeps historical boxes for structure and context
Supported timeframes:
Quarterly
Half-Yearly
Yearly
Monthly
Weekly
Daily
Hourly
30-Minute
15-Minute
5-Minute
⚙️ Default Behavior
By default, the indicator enables:
Weekly
Daily
Hourly
This default setup is intentionally chosen to suit most traders and provides:
Higher-timeframe structure (Weekly)
Swing context (Daily)
Intraday execution levels (Hourly)
🧠 How to Use It Effectively
📈 Higher-Timeframe Analysis (Swing / Positional Trading)
Recommended combinations:
Weekly + Daily
Monthly + Weekly
Use cases:
Identify dominant market bias
Spot compression vs expansion
Define higher-timeframe support & resistance zones
⚡ Intraday Trading (Day Trading)
Recommended combinations:
Daily + Hourly
Hourly + 30-Minute
Use cases:
Track intraday range development
Identify directional day types
Trade breakouts, rejections, or mean-reversion within session ranges
🚀 Scalping & Precision Entries
Recommended combinations:
Hourly + 15-Minute
30-Minute + 5-Minute
Use cases:
Fine-tune entries within larger session ranges
Align lower-timeframe trades with higher-timeframe bias
Spot micro range expansion and contraction
🎨 Customization Options
Bullish / Bearish / Neutral colors
Box fill transparency
Border transparency & color
Maximum historical boxes per timeframe
This allows you to keep charts clean, lightweight, and performance-friendly.
💡 Best Practices
Avoid enabling too many timeframes at once — clarity beats clutter
Use higher-timeframe boxes for bias, lower-timeframe boxes for entries
Combine with:
Market structure
Volume
VWAP
Liquidity concepts
Price action confirmation
Session Range Boxes (MTF) is a clean, powerful visual tool designed to help traders:
Understand session-based price behavior
Align trades across timeframes
Improve structure awareness without clutter
Whether you are a scalper, day trader, or swing trader, this indicator adapts seamlessly to your workflow.
Act AlgoPanneer Selvam is inviting you to a scheduled Zoom meeting
Topic: Online Follow-Up Session (Every Sunday)
Time: 07:00 AM (IST)
Pre-Market Levels Monitor - CandleClub (20 Stocks)Monitor 20 stocks simultaneously with automatic breakout/breakdown alerts based on pre-market and previous day levels.
What It Does
This indicator tracks four critical price levels for up to 20 stocks in a single dashboard:
- PMH (Pre-Market High) - Highest price from 4:00 AM - 9:30 AM ET
- PML (Pre-Market Low) - Lowest price from 4:00 AM - 9:30 AM ET
- PDH (Previous Day High) - Previous trading day's high
- PDL (Previous Day Low) - Previous trading day's low
Key Features
✅ Real-time Dashboard - All 20 stocks displayed in a color-coded table
- Green cells = Price above level (bullish)
- Red cells = Price below level (bearish)
- Gray cells = Level not yet broken
✅ Smart Alerts - Automatic notifications when stocks break key levels
- Bullish Breakout: Price breaks BOTH PMH and PDH
- Bearish Breakdown: Price breaks BOTH PML and PDL
- Maximum 2 alerts per direction per stock per day (prevents spam)
✅ Zero Manual Work - Set it and forget it
- Levels auto-update daily at 4:00 AM ET
- Works during pre-market, regular hours, and displays data on weekends
- Edge detection ensures alerts fire only once per break
✅ Fully Customizable
- Choose any 20 US stocks
- Adjustable table position and size
- Sort by total alerts, bullish alerts, or bearish alerts
- Customize session times if needed
How To Use
1. IMPORTANT: Use on a 1-minute chart (required for data batching)
2. Enable "Extended Hours" in chart settings to see pre-market data
3. Configure your 20 ticker symbols in indicator settings
4. Set up TradingView alerts for notifications
Perfect For
- Pre-market traders monitoring multiple stocks
- Day traders tracking breakout opportunities
- Swing traders watching key support/resistance levels
- Anyone who wants automated multi-stock level monitoring
Technical Details
- Pine Script v6 - Latest version for optimal performance
- Optimized batching - Stays under TradingView's API call limits
- 20-stock maximum - Due to request.security() call restrictions (20 stocks × 2 calls = 40 limit)
- TradingView Standard plan or higher required
Alert Examples
"Alert: AAPL Bullish Breakout - Break #1
PMH: $183.25 (broken)
PDH: $181.50 (broken)
Current: $183.75
Time: 10:23:15"
Default Stocks Included
Technology: AAPL, MSFT, GOOGL, AMZN, META, NVDA, TSLA, NFLX, AMD, INTC
Finance: JPM, BAC, WFC, GS, MS, C
Healthcare: JNJ, UNH, PFE, ABBV, MRK, TMO
Consumer: WMT, HD, MCD
(All symbols are fully customizable)
Settings Overview
- Symbols (1-20): Configure your watchlist
- Session Times: Adjust pre-market/RTH times (Eastern Time)
- Display Options: Table position, cell size, text size, sorting
- Time Zone: All times in Eastern Time (auto-converts to your local time)
Notes
- Alerts limited to 2 per direction per stock to prevent notification spam
- Use 1-minute chart required (batching system needs consecutive bars)
- Enable Extended Hours to capture pre-market data
- Maximum 80 alerts per day possible (20 stocks × 4 alerts max)
Version
1.0 - Initial Release (January 2026)
---
Created by Gautham Kanaparthy
This indicator is for educational purposes only and does not constitute financial advice. Trading involves risk.
Single Year Historical ProjectionBasic year projection onto chart from a previous year, good for reference previous years movements.
Enjoy
Look-back Value V1新增 MA10 與 MA120 的計算、繪圖、表格顯示。
新增 table_pos 參數,可選擇表格顯示位置(top_left, top_right, bottom_left, bottom_right)。
所有 table.cell 改用 具名參數 text_color,避免誤判成 width。
這樣你就能靈活選擇表格位置,並同時觀察 MA5、MA10、MA20、MA60、MA120、MA240 的扣抵分析。
Chart This in GoldProduces a historical line chart in the bottom pane to reflect how many units of spot gold (XAU) could be exchanged for one unite of the underlying asset.
Script Title: FX Exchange Simulator: Two Investors (Gain vs. LosDescriptionOverviewThis educational tool is designed to help traders and beginners understand the mechanics of currency exchange rates in the EUR/USD pair. It simulates two distinct investor scenarios based on the highest and lowest prices over a user-defined period (default: 100 bars).The Two ScenariosThe script compares how the direction of exchange and the timing of the trade impact final purchasing power:Investor 1 (Starting with USD - The Strategic Entry):At the Low: Converts $1,000 USD into EUR by dividing the amount by the exchange rate.At the High: Converts those EUR back into USD by multiplying.Result: Demonstrates how buying a currency when it is "cheap" (at the low) increases your total capital in dollars.Investor 2 (Starting with EUR - The Timing Error):At the Low: Panics and converts 1,000€ into USD by multiplying.At the High: Tries to recover the 1,000€ by dividing the USD back at a higher rate.Result: Demonstrates how selling a currency when it is "cheap" and buying it back when it is "expensive" leads to a significant loss of purchasing power.FeaturesDynamic Historical Analysis: Automatically finds the highest and lowest points within the selected lookback period.Step-by-Step Calculation Table: A clean, top-centered table showing the initial amount, the exchange process, the final total, and the ROI (Return on Investment) percentage.Visual Annotations: Labels on the chart pinpoint exactly where the "Minimum" and "Maximum" occurred to provide visual context for the trade simulation.Fully Customizable: Users can adjust the initial capital amount and the lookback period via the settings menu.Mathematics Behind the ScriptThe script uses the following formulas for the calculations:Profit Scenario (USD to EUR):$$\text{Total USD} = \left( \frac{\text{Initial USD}}{\text{Price}_{min}} \right) \times \text{Price}_{max}$$Loss Scenario (EUR to USD):$$\text{Total EUR} = \left( \text{Initial EUR} \times \text{Price}_{min} \right) / \text{Price}_{max}$$InstructionsAdd the script to your chart (best used on EUR/USD).Look at the labels to see where the period extremes are.Check the table at the top to see the financial outcome of both investors.Use the "Settings" to change the initial amount or the bar period to test different market cycles.DisclaimerThis script is for educational purposes only. It is intended to illustrate currency exchange mechanics and does not constitute financial advice.
Obsidians Gold RevengeMany traders (including institutional desks) track lunar cycles on Gold (XAUUSD) because of the psychological impact on market sentiment. The common theory—often attributed to methods like Gann analysis—is:
🌑 New Moon: Often correlates with Market Bottoms (Buy Signals) or "New Beginnings."
🌕 Full Moon: Often correlates with Market Tops (Sell Signals) or "Exhaustion."
Here is a script that mathematically calculates the Moon Phase based on the lunar synodic month (approx. 29.53 days). It will plot these events on your chart so you can visually backtest if Gold respects these cycles.
How to use this for testing
Add it to your Chart: Apply it to the XAUUSD (Gold) chart.
Timeframe: This works best on 4-Hour (4H) or Daily (1D) charts. (On 15m charts, the moon phase covers many candles, so the label will appear on the specific candle where the phase officially "switched").
What to look for:
Look at the Dark Blue (New Moon) areas. Did price form a bottom or start a rally there?
Look at the Yellow (Full Moon) areas. Did price peak and reverse downward there?
Note: Lunar cycles are considered a "timing tool" rather than a directional indicator. They often indicate when a reversal might happen, but you should combine this with your Institutional Candle zones to confirm the direction!
First Candle Session Levels 1, 2, and 3. Please read the second paragraph, to literally find the power of 3 at each of those starting candles, (Time and space).
FIRST CANDLE SESSION LEVELS
This indicator automatically marks the high and low of the first candle from up to three customizable time periods and projects those levels forward as horizontal lines across your chart.
What It Does:
You specify a time (for example, 10:03 AM in your timezone), and the indicator captures the high and low of the first candle at that time. It then draws horizontal lines at those exact price levels that extend forward, showing you how price interacts with these levels for the rest of the day.
Why Use It:
The first candle at a specific time often sets important support and resistance levels. These levels frequently act as barriers where price bounces, breaks through for strong moves, or returns to test later. By marking these levels automatically, you can focus on trading rather than manually drawing lines.
Key Features:
Track 3 Different Times - Monitor three separate times simultaneously with independent settings for each
Adjustable Candle Count - Use just the first candle (default) or combine multiple candles (up to 60) to create a wider range
Full Customization - Each time period has its own color settings, line styles, and visual options so you can easily distinguish between them
Extends Forward - Lines project into the future so you can see when price approaches these key levels in real-time
Any Timezone - Set the timezone for each time period to match your local market or any global market
How Traders Use It:
Traders use these levels as reference points for entries and exits. Some watch for price to break above the high or below the low as signals for directional moves. Others use the high and low as boundaries for range trading. Many use these levels simply as decision points for managing their positions.
The indicator works on any timeframe and is effective on any liquid instrument where specific times are significant to your trading strategy.
Use the setting to place the first candle at these times.
1) 5:30 a.m. UK — Asia → London Transition
Purpose: Liquidity engineering
What it does:
Builds stop pools, runs Asian highs/lows, creates false breaks
Expect: Sharp probes, low follow-through
2) 8:00 a.m. UK — London Open
Purpose: Manipulation
What it does:
Expands range, traps early direction traders
Expect: Fake moves, wicks, reversals
3) 10:00 a.m. UK — True Daily Open (5:00 a.m. NY)
Purpose: Bias is revealed
What it does:
Algorithms switch to delivery, liquidity is sought with intent
Expect: Displacement, structure shift
4) 2:30 p.m. UK — NYSE Cash Open (9:30 a.m. NY)
Purpose: Volume injection
What it does:
Confirms, accelerates, or violently reverses the move
Expect: Fast candles, large ranges
5) 3:30–4:00 p.m. UK — NY Continuation / Rebalance
Purpose: Range completion
What it does:
Completes the day’s objective or rebalances positions
Expect: Continuation or profit-taking
One-line framework
Early times build liquidity → 10:00 reveals direction → 2:30 delivers power
Magnitude of MovementThie calculase the ratio between Mod of Open Price-Current Price and Mod of Open Volume and current volume
AI Reversal Probability Zones (Dual Mode)This custom-built indicator is designed to detect potential bullish and bearish reversals by aggregating multiple high-probability signals into a unified score. It blends momentum, volatility, trend deviation, and candle structure into a single visual line, enhanced by dynamic color zones that represent the probability and strength of a market reversal.
First FVG per Session - Big Boss Traders)First FVG per Session - Big Boss Traders)
All persistent variables (fvgTop, fvgBottom, boxes) declared with var at the top.
No assignment to na without var → compiles error-free.
FVG boxes and levels are dark orange.
First FVG per session is drawn and prolonged dynamically.
Background colors per session remain.
NQ ICT NY Session ChecklistNQ ICT NY Session Checklist
A manual, on-chart checklist indicator designed to enforce ICT execution rules during the New York session on Nasdaq (NQ). The script displays a step-by-step confirmation panel for higher-timeframe bias, liquidity identification, liquidity sweep, market structure shift, fair value gap entry, and risk/reward validation. It helps prevent early entries, FOMO, and overtrading by clearly indicating when all conditions are met and the trader is ready to execute.
Renko Top 2 Picker### **1s Renko Momentum Scanner (HMA Zero-Lag Edition)**
This custom TradingView indicator is engineered specifically for high-frequency Renko traders. It solves the critical problem of identifying which major currency pair has the liquidity and directional inertia to sustain a fixed-brick Renko trend on a 1-second chart.
Because TradingView cannot screen 1-second data directly, this script acts as a "bridge," analyzing 1-minute and 5-minute flow metrics to probability-score the likely performance of a 1-second chart.
---
### **Core Logic & Assumptions**
1. **The "Engine" (HMA 300):**
* **Logic:** The script uses a Hull Moving Average (HMA) with a length of 300 to smooth the scoring output.
* **Why:** On a 1-second chart, 300 bars equals 5 minutes of data. The HMA provides a "Zero-Lag" response, reacting instantly to new breakouts while ignoring the split-second noise that causes standard scanners to flicker.
2. **The "Minute Reset" Solution:**
* **Problem:** Standard scripts fail on 1s charts because metrics like "Current Volume" reset to zero at the start of every new minute (e.g., at 10:05:00), causing signals to crash.
* **Solution:** This script calculates momentum using a "Rolling Window" anchored to the *previous* minute's close and volume. This ensures the signal remains stable and tradable across the :59 to :00 second boundary.
3. **Renko-Specific Scoring:**
* **Displacement > Direction:** The script prioritizes *how far* price is moving (Displacement %) over simple direction. Renko bricks require physical distance to form; without displacement, you pay spread costs for a flat chart.
* **Liquidity Gating:** It ignores pairs with low relative volume. A 1-second Renko chart requires high institutional flow to form clean bricks without gapping.
---
### **Indicator Inputs**
* **Refresh Display (Seconds):**
* *Default: 5*
* Controls how often the text on your screen updates. Set this to 5 or 10 seconds to prevent the text from "dancing," allowing you to read the recommendation clearly.
* **Score Smoothing (HMA):**
* *Default: 300*
* The "Memory" of the scanner.
* **300:** Represents a 5-minute lookback. Recommended for most 1s scalping to identify established trends.
* **120:** Represents a 2-minute lookback. Use this only if you want to catch breakouts aggressively and accept more false signals.
* **Table Position:**
* *Default: Bottom Right*
* Choose where the scanner panel appears on your chart to avoid covering your Renko price action.
* **Major Pairs:**
* *Defaults: EURUSD, GBPUSD, USDJPY, USDCHF, AUDUSD, USDCAD, NZDUSD*
* These fields are pre-filled with the standard "FX:" prefix. **Crucial:** If your broker uses suffixes (e.g., "EURUSD.pro" or "EURUSDm"), you must update these inputs to match your broker's specific symbol format, or the scanner will return "N/A".
---
### **How to Interpret the Output**
The panel displays a **Primary** and **Secondary** recommendation.
* **Green Background:** The pair has a "Strong" score (> 4.0). This indicates high probability conditions for 1s Renko trend following.
* **Gray Background:** The pair is the "best of the bunch," but overall market momentum is weak. Exercise caution, as the 1s chart may be choppy.
Al Sat Alpha Hunter System [MTF + Risk Manager]çok güzel yerlerden al sat komutu çıkıyor ve bunu size ücretsiz vermek istedim sizde faydalanın
The Fantastic 4 - Momentum Rotation StrategyOverview
The Fantastic 4 is a tactical momentum rotation indicator. It rotates capital monthly across four carefully selected assets based on their 75-day Rate of Change (ROC), allocating only to assets with positive momentum and proportionally weighting them by their momentum strength.
This indicator tracks the strategy's historical performance, displays current allocation recommendations, and sends monthly rebalance alerts so you can easily manage your portfolio. Simply set your capital amount and the indicator shows exactly how much to invest in each asset.
Why These Four Assets?
The selection of 20-year Bonds, Gold, Russell 2000, and Emerging Markets is based on their specific volatility and decorrelation characteristics, which allow the strategy to react quickly to market shifts while providing protection during downturns.
Russell 2000 (Small Caps)
Chosen over the S&P 500 because it is more "lively" and active (Nowadays you could use also the Nasdaq). Its trends are steeper and more vertical, making it easier for a momentum indicator to catch clear trends. While the S&P 500 has more inertia, the Russell 2000 develops faster, allowing the strategy to capture gains in shorter periods.
Emerging Markets
Included because they can act like a "rocket," offering explosive growth potential while maintaining high decorrelation from developed equity markets. When emerging markets trend, they trend hard.
20-Year Bonds
Selected because they are the most decorrelated asset from equities. When a stock market crash occurs, capital typically flows into fixed income, and long-term bonds (20-year) notice this influx the most, making their price reaction more significant and easier to trade. This is the strategy's primary "safe haven."
Gold
Along with bonds, gold serves as a defensive asset providing a "shield" for the portfolio when general market conditions deteriorate. It offers additional decorrelation and crisis protection.
How the Strategy Works
The 75-Day Momentum Engine
The strategy uses a 75-day momentum lookback (roughly 3.5 months), which is considered very "agile" compared to other models like Global Equity Momentum (GEM) that use 200-day periods. This shorter window allows the strategy to:
React quickly to changes in trend
Catch upward movements in volatile assets early
Exit quickly when trends break
Monthly Rebalancing Process
At the end of each month:
Step 1: Calculate 75-day ROC for each asset
Step 2: Filter out assets with negative momentum (they receive 0% allocation)
Step 3: Distribute capital proportionally based on momentum strength
Step 4: Apply 5% minimum threshold (smaller allocations become zero)
Step 5: Apply 80% maximum cap (no single asset exceeds 80%, remainder stays in cash)
The 80% Ceiling Rule
There is an 80% investment ceiling for any single asset to prevent over-exposure. If only one asset (like bonds) has positive momentum, 80% goes to that asset and 20% remains in cash/liquidity.
Behavior in Bearish Markets
When markets turn bearish, the strategy protects capital through several mechanisms:
Automatic Risk-Off
Because the strategy only invests in assets with positive momentum, it automatically moves away from crashing equities. If an asset's trend becomes negative, the strategy stays "on the sidelines" for that asset.
The Bond Haven
During prolonged bearish periods or sudden crashes (like COVID-19), the strategy typically shifts into 20-year bonds. During the COVID-19 crash in March 2020, while global markets were collapsing, strategies like this reportedly yielded positive returns by being positioned in bonds.
Full Liquidity Option
If no assets show positive momentum, the strategy moves to 100% cash. This is rare given the decorrelation between the four assets—when equities crash, bonds and gold typically rise.
What This Indicator Does
This is a tracking and alerting tool that:
Calculates the optimal allocation based on current momentum
Shows historical monthly performance of the strategy
Simulates portfolio equity growth from your specified starting capital
Displays exact dollar amounts to invest in each asset
Sends monthly rebalance alerts with complete instructions
Detects missing data to prevent false signals
Features
Dynamic allocation table showing weights, dollar amounts, and ROC values
Monthly returns history with color-coded performance
Data availability detection with visual status indicators
Configurable alerts for rebalancing, go-to-cash, and missing data
Simulated equity curve from initial capital
Settings Guide
Assets
Configure your four ETFs. The default European ETFs are:
Asset 1 - XETR:IS04: iShares 20+ Year Treasury Bond (Bonds)
Asset 2 - XETR:GZUR: Gold ETC
Asset 3 - XETR:XRS2: Xtrackers Russell 2000 (Small Caps)
Asset 4 - XETR:XMME: Xtrackers Emerging Markets (EM)
For US markets, consider: TLT (20-year bonds), GLD (Gold), IWM (Russell 2000), EEM (Emerging Markets)
Strategy Settings
ROC Period - Momentum lookback in daily bars. Default: 75 days (~3.5 months)
Max Allocation % - Maximum weight for any single asset. Default: 80%
Min Allocation % - Threshold below which allocation becomes zero. Default: 5%
Capital
Initial Capital - Your portfolio value. The indicator calculates exact amounts for each asset based on this. Default: $20,000
Display
Table Positions - Position the allocation and history tables on screen
Months of History - How many past months to display (3-24)
Alerts
Monthly Rebalance Alert - Sends complete allocation details at month end
Go-to-Cash Alert - Alerts when all assets have negative momentum
Missing Data Alert - Warns when asset data is unavailable
How to Use
Initial Setup
Add indicator to any chart and switch to MONTHLY timeframe
Configure your four ETF tickers
Set your portfolio capital amount
Position the tables where you prefer
Setting Up Alerts
Click Alert button or press Alt+A
Set Condition to "Fanta4"
Select "Any alert() function call"
Choose notification method (Email, Push, Webhook, etc.)
Set expiration to "Open-ended"
Monthly Workflow
Receive rebalance alert at the start of each month
Alert shows exact percentages AND dollar amounts for each asset
Adjust your portfolio accordingly
No action needed during the month
Reading the Tables
Green = positive returns/momentum
Red = negative returns/momentum
Orange "N/A" = missing data
Alloc column shows weight distribution (e.g., "45/35/20/—")
Alert Message Example
Monthly alerts include:
Target month for the new allocation
Current portfolio value
Each asset's percentage AND dollar amount
Each asset's momentum (ROC) value
Cash allocation if applicable
Total return since inception
Historical Context
This strategy combines elements of:
Dual Momentum (Gary Antonacci) - Relative and absolute momentum
Global Equity Momentum (GEM) - But with shorter 75-day vs 200-day lookback
Risk parity concepts - Decorrelated asset selection
The key innovation is the specific asset selection optimized for momentum trading and the agile 75-day lookback period that allows faster reactions to trend changes.
Data Requirements
The strategy activates only when all four assets have valid price data (minimum 75 days of history). The data status row shows checkmarks for available data. Note: Some ETFs have limited history (e.g., XMME data starts June 2017).
Limitations
This is a tracking indicator, not an automated trading system
Past performance is hypothetical and does not guarantee future results
Requires all four assets to have valid data; partial allocation not supported
Monthly rebalancing may miss shorter-term momentum shifts
Transaction costs, slippage, and taxes are not included in simulation
ETF availability and liquidity vary by region
The 75-day momentum may whipsaw in choppy, trendless markets
Disclaimer
This indicator is for educational and informational purposes only. It does not constitute financial advice.
Version History
v1.0 - Initial release with momentum rotation, allocation tables, data validation, and monthly alerts






















