ORB + FVG A+ PRO (All-in-One) [QQQ]Configurable ORB + FVG + filters (VIX, ORB range, relative volume) + A+ PRO (retest at the FVG edge + rejection) + anti-fakeout + orange reminder “CONFIRM POC/HVN (Volume Profile)” right when the A+ signal appears
Patrones de gráficos
MNQ Pro Scalping | SMA20 + VWAP Color //@version=5
TIFFANY//@version=5
indicator("MNQ Pro Scalping | SMA20 + VWAP Color + ATR SLTP + Fake Breakout", overlay=true)
// ===== INPUTS =====
smaLen = input.int(20, "SMA Length")
atrLen = input.int(14, "ATR Length")
slMult = input.float(1.0, "SL = ATR x", step=0.1)
tpMult = input.float(1.5, "TP = ATR x", step=0.1)
showNY = input.bool(true, "Only New York Session (09:30–16:00 ET)")
// ===== NY SESSION FILTER =====
inNY = not showNY or time(timeframe.period, "0930-1600")
// ===== SMA 20 =====
sma20 = ta.sma(close, smaLen)
smaColor = close > sma20 ? color.green : color.red
plot(sma20, "SMA 20", color=smaColor, linewidth=2)
// ===== VWAP (COLOR CHANGE) =====
vwapVal = ta.vwap(hlc3)
vwapColor = close > vwapVal ? color.green : color.red
plot(vwapVal, "VWAP", color=vwapColor, linewidth=2)
// ===== ATR =====
atr = ta.atr(atrLen)
// ===== CROSS CONDITIONS =====
crossUp = ta.crossover(close, sma20)
crossDown = ta.crossunder(close, sma20)
// ===== VALID TRADE CONDITIONS =====
longCond = crossUp and close > vwapVal and inNY
shortCond = crossDown and close < vwapVal and inNY
// ===== ATR SL / TP LEVELS =====
longSL = close - atr * slMult
longTP = close + atr * tpMult
shortSL = close + atr * slMult
shortTP = close - atr * tpMult
// ===== PLOT SL / TP WHEN SIGNAL =====
plot(longCond ? longSL : na, "Long SL", color=color.red, style=plot.style_linebr)
plot(longCond ? longTP : na, "Long TP", color=color.green, style=plot.style_linebr)
plot(shortCond ? shortSL : na, "Short SL", color=color.red, style=plot.style_linebr)
plot(shortCond ? shortTP : na, "Short TP", color=color.green, style=plot.style_linebr)
// ===== FAKE BREAKOUT DETECTION =====
// Giá cắt SMA nhưng đóng nến quay ngược lại
fakeUp = ta.crossover(high, sma20) and close < sma20
fakeDown = ta.crossunder(low, sma20) and close > sma20
plotshape(fakeUp and inNY, title="Fake Up", style=shape.xcross, location=location.abovebar, color=color.red, size=size.small)
plotshape(fakeDown and inNY, title="Fake Down", style=shape.xcross, location=location.belowbar, color=color.green, size=size.small)
// ===== SIGNAL SHAPES =====
plotshape(longCond, title="LONG", style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plotshape(shortCond, title="SHORT", style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)
// ===== ALERTS =====
alertcondition(longCond,
title="MNQ LONG – ATR Setup",
message="MNQ LONG: Cross ABOVE SMA20 | Above VWAP | ATR SL/TP valid")
alertcondition(shortCond,
title="MNQ SHORT – ATR Setup",
message="MNQ SHORT: Cross BELOW SMA20 | Below VWAP | ATR SL/TP valid")
alertcondition(fakeUp,
title="Fake Breakout UP",
message="WARNING: Fake breakout ABOVE SMA20")
alertcondition(fakeDown,
title="Fake Breakout DOWN",
message="WARNING: Fake breakout BELOW SMA20")
PCR Put-Call Ratio//@version=5
indicator("PCR Put-Call Ratio", overlay=false, precision=4)
// Input parameters
pcrLength = input(20, "PCR Length", group="Settings")
maLength = input(5, "MA Length", group="Settings")
showOI = input(true, "Use Open Interest", group="Settings")
// Get PCR data from CBOE (requires daily data availability)
pcrData = request.security("CBOE:PC", "D", close)
// Calculate moving average of PCR
pcrMA = ta.sma(pcrData, maLength)
// Levels for interpretation
overbought = 1.2
oversold = 0.6
neutral = 0.9
// Plot PCR value
plot(pcrData, title="PCR Value", color=color.blue, linewidth=2)
plot(pcrMA, title="PCR MA", color=color.orange, linewidth=1)
// Add reference lines
hline(overbought, "Overbought (Bearish)", color.red, linestyle=hline.style_dashed)
hline(neutral, "Neutral", color.gray, linestyle=hline.style_dotted)
hline(oversold, "Oversold (Bullish)", color.green, linestyle=hline.style_dashed)
// Background coloring based on sentiment
bgColor = pcrData > overbought ? color.new(color.red, 80) :
pcrData < oversold ? color.new(color.green, 80) :
color.new(color.gray, 90)
bgcolor(bgColor)
ORB + FVG + PDH/PDL ORB + FVG + PDH/PDL is an all-in-one day-trading overlay that plots:
Opening Range (ORB) high/low with optional box and extension
Fair Value Gaps (FVG) with optional “unmitigated” levels + mitigation lines
Previous Day High/Low history (PDH/PDL) drawn as one-day segments (yesterday’s levels plotted across today’s session only)
Includes presets (ORB only / FVG only / Both) and optional alerts for ORB touches, ORB break + retest, FVG entry, and PDH/PDL touches.
Cup & Handle Finder by Mashrab🚀 New Tool Alert: The "Perfect Cup" Finder
Hey everyone! I’ve built a custom indicator to help us find high-quality Cup & Handle setups before they breakout.
Most scripts just look for random highs and lows, but this one uses a geometric algorithm to ensure the base is actually round (avoiding those messy V-shapes).
How it works:
🔵 Blue Arc: This marks a verified, institutional-quality Cup.
🟠 Orange Box: This is the "Handle Zone." If you see this connecting to the current candle, it means the setup is live and ready for a potential entry!
Best Usage:
Works best on Weekly (1W) charts.
It’s designed to be an "Early Warning" system—alerting you while the handle is still forming so you don't miss the move.
Give it a try and let me know what you find! 📉📈
takeshi_2Step_Screener_MOU_KAKU_FIXED3//@version=5
indicator("MNO_2Step_Screener_MOU_KAKU_FIXED3", overlay=true, max_labels_count=500)
// =========================
// Inputs
// =========================
emaSLen = input.int(5, "EMA Short (5)")
emaMLen = input.int(13, "EMA Mid (13)")
emaLLen = input.int(26, "EMA Long (26)")
macdFast = input.int(12, "MACD Fast")
macdSlow = input.int(26, "MACD Slow")
macdSignal = input.int(9, "MACD Signal")
macdZeroTh = input.float(0.2, "MOU: MACD near-zero threshold", step=0.05)
volLookback = input.int(5, "Volume MA days", minval=1)
volMinRatio = input.float(1.3, "MOU: Volume ratio min", step=0.1)
volStrong = input.float(1.5, "Strong volume ratio (Breakout/KAKU)", step=0.1)
volMaxRatio = input.float(3.0, "Volume ratio max (filter)", step=0.1)
wickBodyMult = input.float(2.0, "Pinbar: lowerWick >= body*x", step=0.1)
pivotLen = input.int(20, "Resistance lookback", minval=5)
pullMinPct = input.float(5.0, "Pullback min (%)", step=0.1)
pullMaxPct = input.float(15.0, "Pullback max (%)", step=0.1)
breakLookbackBars = input.int(5, "Pullback route: valid bars after break", minval=1)
// --- Breakout route (押し目なし初動ブレイク) ---
useBreakoutRoute = input.bool(true, "Enable MOU Breakout Route (no pullback)")
breakConfirmPct = input.float(0.3, "Break confirm: close > R*(1+%)", step=0.1)
bigBodyLookback = input.int(20, "Break candle body MA length", minval=5)
bigBodyMult = input.float(1.2, "Break candle: body >= MA*mult", step=0.1)
requireCloseNearHigh = input.bool(true, "Break candle: close near high")
closeNearHighPct = input.float(25.0, "Close near high threshold (% of range)", step=1.0)
allowMACDAboveZeroInstead = input.bool(true, "Breakout route: allow MACD GC above zero instead")
// 表示
showEMA = input.bool(true, "Plot EMAs")
showMou = input.bool(true, "Show MOU label")
showKaku = input.bool(true, "Show KAKU label")
showDebugTbl = input.bool(false, "Show debug table (last bar)")
locChoice = input.string("Below Bar", "Label location", options= )
lblLoc = locChoice == "Below Bar" ? location.belowbar : location.abovebar
// =========================
// EMA
// =========================
emaS = ta.ema(close, emaSLen)
emaM = ta.ema(close, emaMLen)
emaL = ta.ema(close, emaLLen)
// plot は if の中に入れない(naで制御)
plot(showEMA ? emaS : na, color=color.new(color.yellow, 0), title="EMA 5")
plot(showEMA ? emaM : na, color=color.new(color.blue, 0), title="EMA 13")
plot(showEMA ? emaL : na, color=color.new(color.orange, 0), title="EMA 26")
emaUpS = emaS > emaS
emaUpM = emaM > emaM
emaUpL = emaL > emaL
goldenOrder = emaS > emaM and emaM > emaL
above26_2days = close > emaL and close > emaL
// 勝率維持の土台(緩めない)
baseTrendOK = (emaUpS and emaUpM and emaUpL) and goldenOrder and above26_2days
// =========================
// MACD
// =========================
= ta.macd(close, macdFast, macdSlow, macdSignal)
macdGC = ta.crossover(macdLine, macdSig)
macdUp = macdLine > macdLine
macdNearZero = math.abs(macdLine) <= macdZeroTh
macdGCAboveZero = macdGC and macdLine > 0 and macdSig > 0
macdMouOK = macdGC and macdNearZero and macdUp
macdBreakOK = allowMACDAboveZeroInstead ? (macdMouOK or macdGCAboveZero) : macdMouOK
// =========================
// Volume
// =========================
volMA = ta.sma(volume, volLookback)
volRatio = volMA > 0 ? (volume / volMA) : na
volumeMouOK = volRatio >= volMinRatio and volRatio <= volMaxRatio
volumeStrongOK = volRatio >= volStrong and volRatio <= volMaxRatio
// =========================
// Candle patterns
// =========================
body = math.abs(close - open)
upperWick = high - math.max(open, close)
lowerWick = math.min(open, close) - low
pinbar = (lowerWick >= wickBodyMult * body) and (lowerWick > upperWick) and (close >= open)
bullEngulf =
close > open and close < open and
close >= open and open <= close
bigBull =
close > open and
open < emaM and close > emaS and
(body > ta.sma(body, 20))
candleOK = pinbar or bullEngulf or bigBull
// =========================
// Resistance / Pullback route
// =========================
res = ta.highest(high, pivotLen)
pullbackPct = res > 0 ? (res - close) / res * 100.0 : na
pullbackOK = pullbackPct >= pullMinPct and pullbackPct <= pullMaxPct
brokeRes = ta.crossover(close, res )
barsSinceBreak = ta.barssince(brokeRes)
afterBreakZone = (barsSinceBreak >= 0) and (barsSinceBreak <= breakLookbackBars)
pullbackRouteOK = afterBreakZone and pullbackOK
// =========================
// Breakout route (押し目なし初動ブレイク)
// =========================
breakConfirm = close > res * (1.0 + breakConfirmPct / 100.0)
bullBreak = close > open
bodyMA = ta.sma(body, bigBodyLookback)
bigBodyOK = bodyMA > 0 ? (body >= bodyMA * bigBodyMult) : false
rng = math.max(high - low, syminfo.mintick)
closeNearHighOK = not requireCloseNearHigh ? true : ((high - close) / rng * 100.0 <= closeNearHighPct)
mou_breakout =
useBreakoutRoute and
baseTrendOK and
breakConfirm and
bullBreak and
bigBodyOK and
closeNearHighOK and
volumeStrongOK and
macdBreakOK
mou_pullback = baseTrendOK and volumeMouOK and candleOK and macdMouOK and pullbackRouteOK
mou = mou_pullback or mou_breakout
// =========================
// KAKU (Strict): 8条件 + 最終三点
// =========================
cond1 = emaUpS and emaUpM and emaUpL
cond2 = goldenOrder
cond3 = above26_2days
cond4 = macdGCAboveZero
cond5 = volumeMouOK
cond6 = candleOK
cond7 = pullbackOK
cond8 = pullbackRouteOK
all8_strict = cond1 and cond2 and cond3 and cond4 and cond5 and cond6 and cond7 and cond8
final3 = pinbar and macdGCAboveZero and volumeStrongOK
kaku = all8_strict and final3
// =========================
// Display (統一ラベル)
// =========================
showKakuNow = showKaku and kaku
showMouPull = showMou and mou_pullback and not kaku
showMouBrk = showMou and mou_breakout and not kaku
plotshape(showMouPull, title="MOU_PULLBACK", style=shape.labelup, text="猛",
color=color.new(color.lime, 0), textcolor=color.black, location=lblLoc, size=size.tiny)
plotshape(showMouBrk, title="MOU_BREAKOUT", style=shape.labelup, text="猛B",
color=color.new(color.lime, 0), textcolor=color.black, location=lblLoc, size=size.tiny)
plotshape(showKakuNow, title="KAKU", style=shape.labelup, text="確",
color=color.new(color.yellow, 0), textcolor=color.black, location=lblLoc, size=size.small)
// =========================
// Alerts
// =========================
alertcondition(mou, title="MNO_MOU", message="MNO: MOU triggered")
alertcondition(mou_breakout, title="MNO_MOU_BREAKOUT", message="MNO: MOU Breakout triggered")
alertcondition(mou_pullback, title="MNO_MOU_PULLBACK", message="MNO: MOU Pullback triggered")
alertcondition(kaku, title="MNO_KAKU", message="MNO: KAKU triggered")
// =========================
// Debug table (optional)
// =========================
var table t = table.new(position.top_right, 2, 14, border_width=1, border_color=color.new(color.white, 60))
fRow(_name, _cond, _r) =>
bg = _cond ? color.new(color.lime, 70) : color.new(color.red, 80)
tx = _cond ? "OK" : "NO"
table.cell(t, 0, _r, _name, text_color=color.white, bgcolor=color.new(color.black, 0))
table.cell(t, 1, _r, tx, text_color=color.white, bgcolor=bg)
if showDebugTbl and barstate.islast
// ❗ colspanは使えないので2セルでヘッダーを作る
table.cell(t, 0, 0, "MNO Debug", text_color=color.white, bgcolor=color.new(color.black, 0))
table.cell(t, 1, 0, "", text_color=color.white, bgcolor=color.new(color.black, 0))
fRow("BaseTrend", baseTrendOK, 1)
fRow("MOU Pullback", mou_pullback, 2)
fRow("MOU Breakout", mou_breakout, 3)
fRow("Break confirm", breakConfirm, 4)
fRow("Break big body", bigBodyOK, 5)
fRow("Break close high", closeNearHighOK, 6)
fRow("Break vol strong", volumeStrongOK, 7)
fRow("Break MACD", macdBreakOK, 8)
fRow("KAKU all8", all8_strict, 9)
fRow("KAKU final3", final3, 10)
fRow("MOU any", mou, 11)
fRow("KAKU", kaku, 12)
indicator("MouNoOkite_InitialMove_Screener", overlay=true)//@version=5
indicator("猛の掟・初動スクリーナー(5EMA×MACD×出来高×ローソク)", overlay=true, max_labels_count=500)
// =========================
// Inputs
// =========================
emaSLen = input.int(5, "EMA Short (5)")
emaMLen = input.int(13, "EMA Mid (13)")
emaLLen = input.int(26, "EMA Long (26)")
macdFast = input.int(12, "MACD Fast")
macdSlow = input.int(26, "MACD Slow")
macdSignal = input.int(9, "MACD Signal")
volLookback = input.int(5, "出来高平均(日数)", minval=1)
volMinRatio = input.float(1.3, "出来高倍率(初動点灯)", step=0.1)
volStrong = input.float(1.5, "出来高倍率(本物初動)", step=0.1)
volMaxRatio = input.float(2.0, "出来高倍率(上限目安)", step=0.1)
wickBodyMult = input.float(2.0, "ピンバー判定: 下ヒゲ >= (実体×倍率)", step=0.1)
pivotLen = input.int(20, "直近高値/レジスタンス判定のLookback", minval=5)
pullMinPct = input.float(5.0, "押し目最小(%)", step=0.1)
pullMaxPct = input.float(15.0, "押し目最大(%)", step=0.1)
showDebug = input.bool(true, "デバッグ表示(条件チェック)")
// =========================
// EMA
// =========================
emaS = ta.ema(close, emaSLen)
emaM = ta.ema(close, emaMLen)
emaL = ta.ema(close, emaLLen)
plot(emaS, color=color.new(color.yellow, 0), title="EMA 5")
plot(emaM, color=color.new(color.blue, 0), title="EMA 13")
plot(emaL, color=color.new(color.orange, 0), title="EMA 26")
emaUpS = emaS > emaS
emaUpM = emaM > emaM
emaUpL = emaL > emaL
// 26EMA上に2日定着
above26_2days = close > emaL and close > emaL
// 黄金隊列
goldenOrder = emaS > emaM and emaM > emaL
// =========================
// MACD
// =========================
= ta.macd(close, macdFast, macdSlow, macdSignal)
// ヒストグラム縮小(マイナス圏で上向きの準備)も見たい場合の例
histShrinking = math.abs(macdHist) < math.abs(macdHist )
histUp = macdHist > macdHist
// ゼロライン上でGC(最終シグナル)
macdGCAboveZero = ta.crossover(macdLine, macdSig) and macdLine > 0 and macdSig > 0
// 参考:ゼロ直下で上昇方向(勢い準備)
macdRisingNearZero = (macdLine < 0) and (macdLine > macdLine ) and (math.abs(macdLine) <= math.abs(0.5))
// =========================
// Volume
// =========================
volMA = ta.sma(volume, volLookback)
volRatio = volMA > 0 ? (volume / volMA) : na
volumeOK = volRatio >= volMinRatio and volRatio <= volMaxRatio
volumeStrongOK = volRatio >= volStrong
// =========================
// Candle patterns
// =========================
body = math.abs(close - open)
upperWick = high - math.max(open, close)
lowerWick = math.min(open, close) - low
// 長い下ヒゲ(ピンバー系): 実体が小さく、下ヒゲが優位
pinbar = (lowerWick >= wickBodyMult * body) and (lowerWick > upperWick) and (close >= open)
// 陽線包み足(前日陰線を包む)
bullEngulf =
close > open and close < open and
close >= open and open <= close
// 5EMA・13EMA を貫く大陽線(勢い)
bigBull =
close > open and
open < emaM and close > emaS and
(body > ta.sma(body, 20)) // “相対的に大きい”目安
candleOK = pinbar or bullEngulf or bigBull
// =========================
// 押し目 (-5%〜-15%) & レジブレ後
// =========================
recentHigh = ta.highest(high, pivotLen)
pullbackPct = recentHigh > 0 ? (recentHigh - close) / recentHigh * 100.0 : na
pullbackOK = pullbackPct >= pullMinPct and pullbackPct <= pullMaxPct
// “レジスタンスブレイク”簡易定義:直近pivotLen高値を一度上抜いている
// → その後に押し目位置にいる(現在が押し目)
brokeResistance = ta.crossover(close, recentHigh ) or (close > recentHigh )
afterBreakPull = brokeResistance or brokeResistance or brokeResistance or brokeResistance or brokeResistance
breakThenPullOK = afterBreakPull and pullbackOK
// =========================
// 最終三点シグナル(ヒゲ × 出来高 × MACD)
// =========================
final3 = pinbar and macdGCAboveZero and volumeStrongOK
// =========================
// 猛の掟 8条件チェック(1つでも欠けたら「見送り」)
// =========================
// 1) 5EMA↑ 13EMA↑ 26EMA↑
cond1 = emaUpS and emaUpM and emaUpL
// 2) 5>13>26 黄金隊列
cond2 = goldenOrder
// 3) ローソク足が26EMA上に2日定着
cond3 = above26_2days
// 4) MACD(12,26,9) ゼロライン上でGC
cond4 = macdGCAboveZero
// 5) 出来高が直近5日平均の1.3〜2.0倍
cond5 = volumeOK
// 6) ピンバー or 包み足 or 大陽線
cond6 = candleOK
// 7) 押し目 -5〜15%
cond7 = pullbackOK
// 8) レジスタンスブレイク後の押し目
cond8 = breakThenPullOK
all8 = cond1 and cond2 and cond3 and cond4 and cond5 and cond6 and cond7 and cond8
// =========================
// 判定(2択のみ)
// =========================
isBuy = all8 and final3
decision = isBuy ? "買い" : "見送り"
// =========================
// 表示
// =========================
plotshape(isBuy, title="BUY", style=shape.labelup, text="買い", color=color.new(color.lime, 0), textcolor=color.black, location=location.belowbar, size=size.small)
plotshape((not isBuy) and all8, title="ALL8_OK_but_noFinal3", style=shape.labelup, text="8条件OK (最終3未)", color=color.new(color.yellow, 0), textcolor=color.black, location=location.belowbar, size=size.tiny)
// デバッグ(8項目チェック結果)
if showDebug and barstate.islast
var label dbg = na
label.delete(dbg)
txt =
"【8項目チェック】 " +
"1 EMA全上向き: " + (cond1 ? "達成" : "未達") + " " +
"2 黄金隊列: " + (cond2 ? "達成" : "未達") + " " +
"3 26EMA上2日: " + (cond3 ? "達成" : "未達") + " " +
"4 MACDゼロ上GC: " + (cond4 ? "達成" : "未達") + " " +
"5 出来高1.3-2.0: "+ (cond5 ? "達成" : "未達") + " " +
"6 ローソク条件: " + (cond6 ? "達成" : "未達") + " " +
"7 押し目5-15%: " + (cond7 ? "達成" : "未達") + " " +
"8 ブレイク後押し目: " + (cond8 ? "達成" : "未達") + " " +
"最終三点(ヒゲ×出来高×MACD): " + (final3 ? "成立" : "未成立") + " " +
"判定: " + decision
dbg := label.new(bar_index, high, txt, style=label.style_label_left, textcolor=color.white, color=color.new(color.black, 0))
// アラート
alertcondition(isBuy, title="猛の掟 BUY", message="猛の掟: 買いシグナル(8条件+最終三点)")
11-MA Institutional System (ATR+HTF Filters)11-MA Institutional Trading System Analysis.
This is a comprehensive Trading View Pine Script indicator that implements a sophisticated multi-timeframe moving average system with institutional-grade filters. Let me break down its key components and functionality:
🎯 Core Features
1. 11 Moving Average System. The indicator plots 11 customizable moving averages with different roles:
MA1-MA4 (5, 8, 10, 12): Fast-moving averages for short-term trends
MA5 (21 EMA): Short-term anchor - critical pivot point
MA6 (34 EMA): Intermediate support/resistance
MA7 (50 EMA): Medium-term bridge between short and long trends
MA8-MA9 (89, 100): Transition zone indicators
MA10-MA11 (150, 200): Long-term anchors for major trend identification
Each MA is fully customizable:
Type: SMA, EMA, WMA, TMA, RMA
Color, width, and enable/disable toggle
📊 Signal Generation System
Three Signal Tiers: Short-Term Signals (ST)
Trigger: MA8 (EMA 8) crossing MA21 (EMA 21)
Filters Applied:
✅ ATR-based post-cross confirmation (optional)
✅ Momentum confirmation (RSI > 50, MACD positive)
✅ Volume spike requirement
✅ HTF (Higher Timeframe) alignment
✅ Strong candle body ratio (>50%)
✅ Multi-MA confirmation (3+ MAs supporting direction)
✅ Price beyond MA21 with conviction
✅ Minimum bar spacing (prevents signal clustering)
✅ Consolidation filter
✅ Whipsaw protection (ATR-based price threshold)
Medium-Term Signals (MT)
Trigger: MA21 crossing MA50
Less strict filtering for swing trades
Major Signals
Golden Cross: MA50 crossing above MA200 (major bullish)
Death Cross: MA50 crossing below MA200 (major bearish)
🔍 Advanced Filtering System1. ATR-Based ConfirmationPrice must move > (ATR × 0.25) beyond the MA after crossover
This prevents false signals during low-volatility consolidation.2. Momentum Filters
RSI (14)
MACD Histogram
Rate of Change (ROC)
Composite momentum score (-3 to +3)
3. Volume Analysis
Volume spike detection (2x MA)
Volume classification: LOW, MED, HIGH, EXPL
Directional volume confirmation
4. Higher Timeframe Alignment
HTF1: 60-minute (default)
HTF2: 4-hour (optional)
HTF3: Daily (optional)
Signals only trigger when current TF aligns with HTF trend
5. Market Structure Detection
Break of Structure (BOS): Price breaking recent swing highs/lows
Order Blocks (OB): Institutional demand/supply zones
Fair Value Gaps (FVG): Imbalance areas for potential fills
📈 Comprehensive DashboardReal-Time Metrics Display: {scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;} ::-webkit-scrollbar{display:none}MetricDescriptionPriceCurrent close priceTimeframeCurrent chart timeframeSHORT/MEDIUM/MAJORTrend classification (🟢BULL/🔴BEAR/⚪NEUT)HTF TrendsHigher timeframe alignment indicatorsMomentumSTR↑/MOD↑/WK↑/WK↓/MOD↓/STR↓VolatilityLOW/MOD/HIGH/EXTR (based on ATR%)RSI(14)Color-coded: >70 red, <30 greenATR%Volatility as % of priceAdvanced Dashboard Features (Optional):
Price Distance from Key MAs
vs MA21, MA50, MA200 (percentage)
Color-coded: green (above), red (below)
MA Alignment Score
Calculates % of MAs in proper order
🟢 for bullish alignment, 🔴 for bearish
Trend Strength
Based on separation between MA21 and MA200
NONE/WEAK/MODERATE/STRONG/EXTREME
Consolidation Detection
Identifies low-volatility ranges
Prevents signals during sideways markets
⚙️ Customization OptionsFilter Toggles:
☑️ Require Momentum
☑️ Require Volume
☑️ Require HTF Alignment
☑️ Use ATR post-cross confirmation
☑️ Whipsaw filter
Min bars between signals (default: 5)
Dashboard Styling:
9 position options
6 text sizes
Custom colors for header, rows, and text
Toggle individual metrics on/off
🎨 Visual Elements
Signal Labels:
ST▲/ST▼ (green/red) - Short-term
MT▲/MT▼ (blue/orange) - Medium-term
GOLDEN CROSS / DEATH CROSS - Major signals
Volume Spikes:
Small labels showing volume class + direction
Example: "HIGH🟢" or "EXPL🔴"
Market Structure:
Dashed lines for Break of Structure levels
Automatic detection of swing highs/lows
🔔 Alert Conditions
Pre-configured alerts for:
Short-term bullish/bearish crosses
Medium-term bullish/bearish crosses
Golden Cross / Death Cross
Volume spikes
💡 Key Strengths
Institutional-Grade Filtering: Multiple confirmation layers reduce false signals
Multi-Timeframe Analysis: Ensures alignment across timeframes
Adaptive to Market Conditions: ATR-based thresholds adjust to volatility
Comprehensive Dashboard: All critical metrics in one view
Highly Customizable: 100+ input parameters
Signal Quality Over Quantity: Strict filters prioritize high-probability setups
⚠️ Usage Recommendations
Best for: Swing trading and position trading
Timeframes: Works on all TFs, optimized for 15m-Daily
Markets: Stocks, Forex, Crypto, Indices
Signal Frequency: Conservative (quality over quantity)
Combine with: Support/resistance, price action, risk management
🔧 Technical Implementation Notes
Uses Pine Script v6 syntax
Efficient calculation with minimal repainting
Maximum 500 labels for performance
Security function for HTF data (no lookahead bias)
Array-based MA alignment calculation
State variables to track signal spacing
This is a professional-grade trading system that combines classical technical analysis (moving averages) with modern institutional concepts (market structure, order blocks, multi-timeframe alignment).
The extensive filtering system is designed to eliminate noise and focus on high-probability trade setups.
takeshi GPT//@version=5
indicator("猛の掟・初動スクリーナーGPT", overlay = true, timeframe = "", timeframe_gaps = true)
// ======================================================
// ■ 1. パラメータ設定
// ======================================================
// EMA長
emaFastLen = input.int(5, "短期EMA (5)", minval = 1)
emaMidLen = input.int(13, "中期EMA (13)", minval = 1)
emaSlowLen = input.int(26, "長期EMA (26)", minval = 1)
// 出来高
volMaLen = input.int(5, "出来高平均期間", minval = 1)
volMultInitial = input.float(1.3, "出来高 初動ライン (×)", minval = 1.0, step = 0.1)
volMultStrong = input.float(1.5, "出来高 本物ライン (×)", minval = 1.0, step = 0.1)
// 押し目・レジスタンス
pullbackLookback = input.int(20, "直近高値の探索期間", minval = 5)
pullbackMinPct = input.float(5.0, "押し目下限 (%)", minval = 0.0, step = 0.1)
pullbackMaxPct = input.float(15.0, "押し目上限 (%)", minval = 0.0, step = 0.1)
// ピンバー判定パラメータ
pinbarWickRatio = input.float(2.0, "ピンバー下ヒゲ/実体 比率", minval = 1.0, step = 0.5)
pinbarMaxUpperPct = input.float(25.0, "ピンバー上ヒゲ比率上限 (%)", minval = 0.0, step = 1.0)
// 大陽線判定
bigBodyPct = input.float(2.0, "大陽線の最低値幅 (%)", minval = 0.1, step = 0.1)
// ======================================================
// ■ 2. 基本テクニカル計算
// ======================================================
emaFast = ta.ema(close, emaFastLen)
emaMid = ta.ema(close, emaMidLen)
emaSlow = ta.ema(close, emaSlowLen)
// MACD
= ta.macd(close, 12, 26, 9)
// 出来高
volMa = ta.sma(volume, volMaLen)
// 直近高値(押し目判定用)
recentHigh = ta.highest(high, pullbackLookback)
drawdownPct = (recentHigh > 0) ? (recentHigh - close) / recentHigh * 100.0 : na
// ======================================================
// ■ 3. A:トレンド(初動)条件
// ======================================================
// 1. 5EMA↑ 13EMA↑ 26EMA↑
emaUpFast = emaFast > emaFast
emaUpMid = emaMid > emaMid
emaUpSlow = emaSlow > emaSlow
condTrendUp = emaUpFast and emaUpMid and emaUpSlow
// 2. 黄金並び 5EMA > 13EMA > 26EMA
condGolden = emaFast > emaMid and emaMid > emaSlow
// 3. ローソク足が 26EMA 上に2日定着
condAboveSlow2 = close > emaSlow and close > emaSlow
// ======================================================
// ■ 4. B:モメンタム(MACD)条件
// ======================================================
// ヒストグラム縮小+上向き
histShrinkingUp = (math.abs(histLine) < math.abs(histLine )) and (histLine > histLine )
// ゼロライン直下〜直上での上向き
nearZeroRange = 0.5 // ゼロライン±0.5
macdNearZero = math.abs(macdLine) <= nearZeroRange
// MACDが上向き
macdTurningUp = macdLine > macdLine
// MACDゼロライン上でゴールデンクロス
macdZeroCrossUp = macdLine > signalLine and macdLine <= signalLine and macdLine > 0
// B条件:すべて
condMACD = histShrinkingUp and macdNearZero and macdTurningUp and macdZeroCrossUp
// ======================================================
// ■ 5. C:需給(出来高)条件
// ======================================================
condVolInitial = volume > volMa * volMultInitial // 1.3倍〜 初動点灯
condVolStrong = volume > volMa * volMultStrong // 1.5倍〜 本物初動
condVolume = condVolInitial // 「8掟」では1.3倍以上で合格
// ======================================================
// ■ 6. D:ローソク足パターン
// ======================================================
body = math.abs(close - open)
upperWick = high - math.max(close, open)
lowerWick = math.min(close, open) - low
rangeAll = high - low
// 安全対策:0除算回避
rangeAllSafe = rangeAll == 0.0 ? 0.0000001 : rangeAll
bodyPct = body / close * 100.0
// ● 長い下ヒゲ(ピンバー)
lowerToBodyRatio = (body > 0) ? lowerWick / body : 0.0
upperPct = upperWick / rangeAllSafe * 100.0
isBullPinbar = lowerToBodyRatio >= pinbarWickRatio and upperPct <= pinbarMaxUpperPct and close > open
// ● 陽線包み足(bullish engulfing)
prevBearish = close < open
isEngulfingBull = close > open and prevBearish and close >= open and open <= close
// ● 5EMA・13EMAを貫く大陽線
crossFast = open < emaFast and close > emaFast
crossMid = open < emaMid and close > emaMid
isBigBody = bodyPct >= bigBodyPct
isBigBull = close > open and (crossFast or crossMid) and isBigBody
// D条件:どれか1つでOK
condCandle = isBullPinbar or isEngulfingBull or isBigBull
// ======================================================
// ■ 7. E:価格帯(押し目位置 & レジスタンスブレイク)
// ======================================================
// 7. 押し目 -5〜15%
condPullback = drawdownPct >= pullbackMinPct and drawdownPct <= pullbackMaxPct
// 8. レジスタンス突破 → 押し目 → 再上昇
// 直近 pullbackLookback 本の高値をレジスタンスとみなす(現在足除く)
resistance = ta.highest(close , pullbackLookback)
// レジスタンスブレイクが起きたバーからの経過本数
brokeAbove = ta.barssince(close > resistance)
// ブレイク後に一度レジ上まで戻したか
pulledBack = brokeAbove != na ? ta.lowest(low, brokeAbove + 1) < resistance : false
// 現在は再上昇方向か
reRising = close > close
condBreakPull = (brokeAbove != na) and (brokeAbove <= pullbackLookback) and pulledBack and reRising
// ======================================================
// ■ 8. 最終 8条件 & 三点シグナル
// ======================================================
// 8つの掟
condA = condTrendUp and condGolden and condAboveSlow2
condB = condMACD
condC = condVolume
condD = condCandle
condE = condPullback and condBreakPull
all_conditions = condA and condB and condC and condD and condE
// 🟩 最終三点シグナル
// 1. 長い下ヒゲ 2. MACDゼロライン上GC 3. 出来高1.5倍以上
threePoint = isBullPinbar and macdZeroCrossUp and condVolStrong
// 「買い確定」= 8条件すべて + 三点シグナル
buy_confirmed = all_conditions and threePoint
// ======================================================
// ■ 9. チャート表示 & スクリーナー用出力
// ======================================================
// EMA表示
plot(emaFast, color = color.orange, title = "EMA 5")
plot(emaMid, color = color.new(color.blue, 10), title = "EMA 13")
plot(emaSlow, color = color.new(color.green, 20), title = "EMA 26")
// 初動シグナル
plotshape(
all_conditions and not buy_confirmed,
title = "初動シグナル(掟8条件クリア)",
style = shape.labelup,
color = color.new(color.yellow, 0),
text = "初動",
location = location.belowbar,
size = size.small)
// 三点フルシグナル(買い確定)
plotshape(
buy_confirmed,
title = "三点フルシグナル(買い確定)",
style = shape.labelup,
color = color.new(color.lime, 0),
text = "買い",
location = location.belowbar,
size = size.large)
// スクリーナー用 series 出力(非表示)
plot(all_conditions ? 1 : 0, title = "all_conditions (8掟クリア)", display = display.none)
plot(buy_confirmed ? 1 : 0, title = "buy_confirmed (三点+8掟)", display = display.none)
Trend detection zero lag Trend Detection Zero-Lag (v6)
Trend Detection Zero-Lag is a high-performance trend identification indicator designed for intraday traders, scalpers, and swing traders who require fast trend recognition with minimal lag. It combines a zero-lag Hull Moving Average, slope analysis, swing structure logic, and adaptive volatility sensitivity to deliver early yet stable trend signals.
This indicator is optimized for real-time decision-making, particularly in fast markets where traditional moving averages react too slowly.
Core Features
🔹 Zero-Lag Trend Engine
Uses a Zero-Lag Hull Moving Average (HMA) to reduce lag by approximately 40–60% versus standard moving averages.
Provides earlier trend shifts while maintaining smoothness.
🔹 Multi-Factor Trend Detection
Trend direction is determined using a hybrid engine:
HMA slope (momentum direction)
Rising / falling confirmation
Swing structure detection (HH/HL vs LH/LL)
ATR-adjusted dynamic sensitivity
This approach allows fast flips when conditions change, without excessive noise.
Adaptive Volatility Sensitivity
Sensitivity dynamically adjusts based on ATR relative to price
In high volatility: faster reaction
In low volatility: smoother, more stable trend state
This ensures the indicator adapts across:
Trend days
Range days
Volatility expansion or contraction
Trend Duration Intelligence
The indicator tracks historical trend durations and maintains a rolling memory of recent bullish and bearish phases.
From this, it calculates:
Current trend duration
Average historical duration for the active trend direction
This helps traders gauge:
Whether a trend is early, mature, or extended
Probability of continuation vs exhaustion
Strength Scoring
A normalized Trend Strength Score (0–100) is calculated using:
Zero-lag slope magnitude
ATR normalization
This provides a quick read on:
Weak / choppy trends
Healthy trend continuation
Overextended momentum
Visual Design
Color-coded Zero-Lag HMA
Bullish trend → user-defined bullish color
Bearish trend → user-defined bearish color
Designed for dark mode / neon-style charts
Clean overlay with no clutter
Trend Detection Zero-Lag is built for traders who need:
Faster trend recognition
Adaptive behavior across market regimes
Structural confirmation beyond simple moving averages
Clear, actionable visual signals
IFVGs [NINE]Overview
The IFVG Indicator is a precision-engineered tool designed to identify and display Inversion Fair Value Gaps (IFVGs), a powerful price action concept rooted in ICT (Inner Circle Trader) methodology. This indicator automatically detects when price closes through an existing Fair Value Gap, causing the zone to "invert" and flip its directional bias, signaling potential areas of institutional interest for future price reactions.
What is an Inversion Fair Value Gap?
A Fair Value Gap (FVG) is a three-candle pattern where a gap exists between the wicks of the first and third candles, representing an imbalance in price delivery. These zones often act as magnets for price to return and "fill" the inefficiency.
An Inversion Fair Value Gap (IFVG) occurs when price doesn't just tap into an FVG, it closes through it with a candle body. This "inversion" transforms the zone:
A Bullish FVG that gets closed through becomes a Bearish IFVG (potential resistance/supply zone)
A Bearish FVG that gets closed through becomes a Bullish IFVG (potential support/demand zone)
IFVGs represent areas where the market has shown its hand — institutional order flow has aggressively moved through a prior inefficiency, and the inverted zone now becomes a point of interest for potential reversals or continuations.
Key Features
Automatic IFVG Detection
The indicator continuously monitors for Fair Value Gaps and automatically converts them to IFVGs when price body closes through the zone. No manual identification required.
Multiple Display Styles
Choose from four distinct visualization modes to match your chart aesthetic:
Level — Clean, minimal single line at the IFVG extreme (top for bullish, bottom for bearish)
Normal — Filled zone with dashed borders and dot label
Minimalist — High/low boundary lines with connecting link
Classic — Filled box with 50% midline only
Full Customization
Independent colors for bullish and bearish IFVGs
Adjustable transparency for zone fills
Optional 50% midline (Consequent Encroachment level)
Flexible label styles: "IFVG" or "+/−" notation
Multiple label sizes: Tiny, Small, Normal, Large
Smart Extension Options
Extend to Current Bar — Zones dynamically extend as price progresses
Extend to Confirmation — Zones end at the bar where inversion occurred
Manual Offset — Fine-tune extension length in bars
Clustered IFVG Filter
Prevents chart clutter by ensuring only one IFVG per direction forms within a 5-bar cooldown period. When a single candle closes through multiple FVGs, only the first IFVG of that directional series is displayed — eliminating redundant signals and keeping your chart clean.
FVG Lookback Control
Limit which FVGs can become IFVGs based on their age. Options include 10, 50, 100, 200, or 300 bars. This filters out old, stale FVGs that may create less relevant inversions.
Session Time Filters
Optional time-based filtering allows you to focus on specific trading sessions:
Configurable session windows (e.g., 9:30 AM - 12:00 PM)
Support for two independent session filters
Multiple timezone options including New York, London, Tokyo, and more
Volume Imbalance Detection
Optionally include Volume Imbalances (VIs) — gaps between candle bodies rather than wicks — expanding the scope of detectable inefficiencies.
Invalidation Tracking
IFVGs are automatically invalidated when price closes back through the zone in the opposite direction, with optional display of invalidated zones.
How to Use
Entry Confirmation
IFVGs serve as areas for trade entries. When price returns to a confirmed IFVG:
Bullish IFVG — Look for long entries as price taps the zone from above
Bearish IFVG — Look for short entries as price taps the zone from below
Settings Reference
Inversion Fair Value Gaps
Show IFVGs? — Master toggle for IFVG display
Style — Level, Normal, Minimalist, or Classic
Transparency % — Zone fill opacity (0-100)
Historical Display — Maximum IFVGs to show per direction
Bullish/Bearish Colors — Independent color selection
Show Invalidated? — Display IFVGs that have been invalidated
Extend IFVGs? — Enable dynamic zone extension
Extension Mode — Current Bar or Confirmation
Manual Offset — Additional bars to extend
High/Low Lines — Show boundary lines (Minimalist style)
50% Midline — Show Consequent Encroachment level
Show Labels? — Display zone labels
Label Style — IFVG or +/− notation
FVG Lookback — Maximum age of FVGs that can invert
Clustered Filter — Prevent multiple same-direction IFVGs in quick succession
Volume Imbalances — Include body gaps in detection
Session Filters
Enable 1st/2nd Time Filter — Activate session filtering
Session Times — Define active trading windows
Timezone — Reference timezone for session calculations
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice, and nothing contained herein constitutes a recommendation, solicitation, or offer to buy or sell any securities, options, or other financial instruments.
Trading involves substantial risk of loss and is not suitable for all investors. Past performance is not indicative of future results. You should carefully consider your investment objectives, level of experience, and risk appetite before making any trading decisions.
The developer of this indicator makes no representations or warranties regarding the accuracy, completeness, or reliability of the information provided. You are solely responsible for your own trading decisions and any profits or losses that may result.
Always conduct your own research and consider seeking advice from a licensed financial professional before trading.
Daily OpenThis is a protected/private script. To request access, please provide:
TradingView username (required)
Your main market(s) and timeframe(s)
Intended use (education / backtesting / live trading)
(Optional) Any proof of eligibility if applicable
Once your request is reviewed, access will be granted to the username provided.
Usage Terms:
No copying, modifying, distributing, publishing, or reselling of this script or its logic
Access is granted to approved accounts only
This script is a tool for analysis and not financial advice; you assume all trading risks
The author reserves the right to update the script or revoke access at any time
Suspension Blocks [TakingProphets]-----------------------------------------------------------------------------------------------
SUSPENSION BLOCKS
-----------------------------------------------------------------------------------------------
Suspension Blocks are a new ICT concept designed to highlight price inefficiencies created by displacement and body-to-body gaps across a precise 3-candle sequence. These structures represent areas where price was temporarily “suspended” before continuation, often acting as high-probability reaction zones on future revisits.
This indicator automatically detects, visualizes, manages, and invalidates Suspension Blocks in real time, while intelligently limiting chart clutter to only the most relevant structures near current price.
-----------------------------------------------------------------------------------------------
PURPOSE AND SCOPE
-----------------------------------------------------------------------------------------------
- Detect ICT-style Bullish and Bearish Suspension Blocks using strict 3-candle body relationships
- Require measurable body-to-body separation defined in true ticks (instrument-aware)
- Automatically draw and extend Suspension Blocks forward in time
- Invalidate blocks only when price decisively closes beyond the defining boundary
- Optionally display Consequent Encroachment (50% equilibrium) within each block
- Limit on-chart visibility to the closest N blocks per side relative to current price
- Provide session-based, directional alerting for new block formations
-----------------------------------------------------------------------------------------------
WHAT IS A SUSPENSION BLOCK
-----------------------------------------------------------------------------------------------
A Suspension Block is a 3-candle displacement pattern defined by body gaps on both sides of a middle candle.
Bullish Suspension Block logic:
- Candle 1 close is BELOW Candle 2 open by at least the Minimum Body Separation
- Candle 3 open is ABOVE Candle 2 close by at least the Minimum Body Separation
- Candle 3 open is ABOVE Candle 1 close to ensure a valid vertical range
- The block spans from Candle 1 close (low) to Candle 3 open (high)
- The block remains valid until price CLOSES below Candle 1 close
Bearish Suspension Block logic (mirror conditions):
- Candle 1 close is ABOVE Candle 2 open by at least the Minimum Body Separation
- Candle 3 open is BELOW Candle 2 close by at least the Minimum Body Separation
- Candle 3 open is BELOW Candle 1 close to ensure a valid vertical range
- The block spans from Candle 1 close (high) to Candle 3 open (low)
- The block remains valid until price CLOSES above Candle 1 close
All calculations are performed using true tick values via `syminfo.mintick` to ensure precision across instruments.
-----------------------------------------------------------------------------------------------
GENERAL SETTINGS
-----------------------------------------------------------------------------------------------
- Minimum Body Separation (ticks)
- Defines the minimum required body-to-body gap between candles
- Measured in true ticks (0.25 = quarter tick, 1.0 = full tick, etc.)
- Max Visible Blocks per Side
- Limits the number of bullish and bearish blocks displayed
- Only the closest blocks to current price remain visible
-----------------------------------------------------------------------------------------------
VISUALIZATION SETTINGS
-----------------------------------------------------------------------------------------------
- Bullish Suspension Blocks
- Toggle bullish block visibility
- Custom fill color with adjustable transparency
- Optional border with selectable line style (Solid / Dashed / Dotted)
- Bearish Suspension Blocks
- Toggle bearish block visibility
- Custom fill color with adjustable transparency
- Optional border with selectable line style (Solid / Dashed / Dotted)
- Consequent Encroachment (CE)
- Optional 50% equilibrium line drawn inside each block
- Custom color and line style
- Automatically extends with the block
Blocks dynamically extend to the current bar and are hidden or shown based on proximity to price to keep the chart clean and actionable.
-----------------------------------------------------------------------------------------------
BLOCK MANAGEMENT & INVALIDATION
-----------------------------------------------------------------------------------------------
- Each block is stored persistently and extended forward bar-by-bar
- Bullish blocks are invalidated only when price CLOSES below the block low
- Bearish blocks are invalidated only when price CLOSES above the block high
- Invalidated blocks and their CE lines are automatically removed
- Visibility logic ensures only the most relevant structures are emphasized
-----------------------------------------------------------------------------------------------
ALERT SYSTEM
-----------------------------------------------------------------------------------------------
- Optional alerts when new Suspension Blocks form
- Independent toggles for bullish and bearish alerts
- Fully customizable alert messages
- Alerts can be restricted to specific trading sessions:
- Session 1 (default: 09:30–16:00 NY)
- Session 2 (optional)
- Session 3 (optional)
- Alerts include ticker and timeframe context automatically
-----------------------------------------------------------------------------------------------
BEST USE CASES
-----------------------------------------------------------------------------------------------
- High-probability reaction zones after displacement
- Confluence with liquidity, PD arrays, and market structure
- Execution refinement within ICT-based models
- Intraday and higher-timeframe contextual bias
- Clean, rules-based identification of inefficiency zones
-----------------------------------------------------------------------------------------------
DISCLAIMER
-----------------------------------------------------------------------------------------------
This indicator is provided for educational and analytical purposes only. It does not constitute financial advice. Trading involves risk, and past performance is not indicative of future results.
© TakingProphets
-----------------------------------------------------------------------------------------------
Bottom & Top ReversalBottom & Top Reversal
Bottom Reversal (Bullish):
Opens gap down but recovers strongly
Makes new low but closes above previous close
Lime green arrow + label
Top Reversal (Bearish):
Opens gap up but fails
Makes new high but closes below previous close
Red arrow + label
Extra features:
Status table showing active patterns
Toggle each pattern on/off
Background highlights
Alert system
Gogreen.2.0The SRV EMA Pivot Volume – Trend Only indicator is designed to identify high-probability market trends by combining EMA Pivot direction, key Support & Resistance zones, and Volume strength.
This indicator focuses only on trend confirmation, helping traders stay aligned with strong market moves and avoid ranging or low-probability conditions.
TP Sniper Pro**TP Sniper Pro - Dynamic Take Profit Level Indicator**
Instantly visualize your take profit targets on any chart with clean, adjustable horizontal lines.
**Features:**
• Switch between Futures (250/500/1000), Forex (25/50/100), and Commodities (25/50/100) TP levels
• Toggle between Long and Short positions
• Set custom entry price or use current price automatically
• Clean horizontal lines that don't clutter your chart
• Adjustable line length (5-100 bars)
• Clear labels showing each TP level
• Works on any timeframe and any pair
**Perfect for:**
Traders who want quick visual reference for their take profit levels without manually drawing lines on every trade.
Time Liquidity a Zulu Kilo indicatorTime Liquidity (Daily/Weekly/Monthly/Quarterly/Yearly) — New York Time (ET)
Time Liquidity is a calendar-based “liquidity map” that tracks highs and lows for the current Day / Week / Month / Quarter / Year (using America/New_York time). When each period completes, its high/low becomes a persistent liquidity level that extends forward until price takes it—helping you quickly see where prior time-based liquidity is still “untouched.”
This is not a trading strategy and does not place trades. It is a context + levels tool designed to help you plan, frame targets, and monitor which higher-timeframe highs/lows remain in play.
What it plots:
1) Current period range boxes (optional)
-A live “bounding box” for the active D / W / M / Q / Y period, updating as new highs/lows form. This gives you better perspective
-Per-timeframe visibility controls and opacity controls.
2) Historical liquidity lines (optional)
-When a period rolls over, the completed period’s High (▲) and Low (▼) are projected forward as liquidity lines.
-Each line remains active until price breaches it (high taken when price trades above; low taken when price trades below).
-Tags identify the source timeframe (D/W/M/Q/Y) and side (high/low).
3) NeoHUD (optional)
-A compact panel showing the nearest next “untaken” liquidity above and below current price for each timeframe.
-Useful for quickly answering: “What’s the closest higher-timeframe high above me?” and “What’s the closest low below me?”
Time / session logic (important)
-All calendar boundaries are computed in New York time (America/New_York).
-Week start is Monday 00:00 ET.
-Sunday handling: you can choose whether Sunday merges into Monday (default behavior - This mostly for futures/FX markets) or is treated as a separate day (useful for Bitcoin, etc..).
(Note: This tool is calendar-based, not exchange-session-based. If your market has non-standard sessions/settlement conventions, interpret levels accordingly.)
How to use it (practical workflow)
-Turn on the timeframes you care about (D/W/M/Q/Y).
-Use current boxes to see the active period’s developing range.
-Use historical lines as a “to-do list” of still-untouched highs/lows.
-Watch the NeoHUD to stay oriented on the closest remaining liquidity above/below price (per timeframe).
For a cleaner chart or faster performance, reduce:
-Max Historical Liquidity Lines Kept / TF
-The number of enabled timeframes
-Glow/frame effects and/or boxes
Limitations / transparency
This indicator does not predict direction or guarantee outcomes; it only visualizes time-based highs/lows and whether they have been taken.
On very low timeframes or long histories, TradingView object limits may apply; use the settings above to manage chart load.
No alerts are included in this script (levels are intended for visual decision support).
Risk notice
Trading involves risk. This tool is provided for educational and informational purposes only and should not be used as the sole basis for trading decisions.
$$\text{Entry and Exit Signals (RSI, MACD, Stochastic)}$$بالتأكيد. إليك شرح كامل للكود البرمجي (Pine Script) الذي يمثل استراتيجية مؤشر الزخم الثلاثي (RSI, MACD, Stochastic) باللغة الإنجليزية، مع توضيح منطق كل شرط:
-----
## 🇺🇸 Multi-Indicator Momentum Confirmation Strategy (Pine Script Explanation)
This custom indicator is designed to generate highly confirmed **Entry (Buy)** and **Exit (Sell/Short)** signals by ensuring that three key momentum and oscillator indicators—**RSI, MACD, and Stochastic**—are all aligned in the same direction.
### 📜 Indicator Code Structure
```pinescript
//@version=5
indicator("إشارات الدخول والخروج (RSI, MACD, Stochastic)", overlay=true)
// --- 1. Indicator Settings (Inputs) ---
rsiLength = input.int(14, title="RSI Length")
rsiLevel = input.float(50, title="Positive RSI Level")
// ... MACD and Stochastic inputs
// --- 2. Calculation of Indicators ---
rsiValue = ta.rsi(close, rsiLength)
= ta.macd(close, fastLength, slowLength, signalLength)
stochK = ta.stoch(close, high, low, stochKLength)
// --- 3. Entry (Bullish) and Exit (Bearish) Conditions ---
//
// --- 4. Final Signal Determination ---
finalEntrySignal = rsiCondition_Bullish and macdCondition_Bullish and stochCondition_Bullish
finalExitSignal = rsiCondition_Bearish and macdCondition_Bearish and stochCondition_Bearish
// --- 5. Plotting the Signals ---
plotshape(
finalEntrySignal ? low : na,
style=shape.labelup,
location=location.belowbar,
text="دخول", // 'Entry'
// ... color and size settings
)
plotshape(
finalExitSignal ? high : na,
style=shape.labeldown,
location=location.abovebar,
text="خروج", // 'Exit'
// ... color and size settings
)
```
### 🧠 Logic Behind the Entry Signal ("دخول" - Buy)
A **"Entry" (Buy)** signal is generated when **ALL THREE** of the following bullish conditions are met on the same candlestick:
| Indicator | Bullish Condition (The Logic) | Why this ensures strong momentum? |
| :--- | :--- | :--- |
| **Relative Strength Index (RSI)** | **Positive AND Increasing:** (`rsiValue > 50`) AND (`rsiValue > rsiValue `) | The asset is not only gaining strength (above the 50 centerline) but its strength is actively **accelerating** (current value is higher than the previous one). |
| **Moving Average Convergence Divergence (MACD)** | **Bullish Crossover:** `macdLine > signalLine` | This indicates that the shorter-term momentum (MACD Line) has crossed above the longer-term momentum average (Signal Line), confirming a potential shift to bullish momentum. |
| **Stochastic Oscillator** | **Positive:** `stochK > 50` | The closing price is in the upper half of the recent price range, suggesting that buying pressure is dominating the current trend cycle. |
**The `finalEntrySignal` is triggered only when `RSI_Bullish AND MACD_Bullish AND Stochastic_Bullish` are true.**
-----
### 📉 Logic Behind the Exit Signal ("خروج" - Sell/Short)
A **"Exit" (Sell/Short)** signal is generated when **ALL THREE** of the following bearish conditions are met on the same candlestick:
| Indicator | Bearish Condition (The Logic) | Why this ensures strong momentum loss? |
| :--- | :--- | :--- |
| **Relative Strength Index (RSI)** | **Negative AND Decreasing:** (`rsiValue < 50`) AND (`rsiValue < rsiValue `) | The asset is losing strength (below the 50 centerline) and its weakness is actively **accelerating** (current value is lower than the previous one). |
| **Moving Average Convergence Divergence (MACD)** | **Bearish Crossover:** `macdLine < signalLine` | The shorter-term momentum has crossed below the Signal Line, confirming a potential shift to bearish momentum. |
| **Stochastic Oscillator** | **Negative:** `stochK < 50` | The closing price is in the lower half of the recent price range, suggesting that selling pressure is dominating the current trend cycle. |
**The `finalExitSignal` is triggered only when `RSI_Bearish AND MACD_Bearish AND Stochastic_Bearish` are true.**
### 💡 Visual Output
* **Entry Signal:** Plotted as a green label with the text "دخول" (**Entry**) **below the bar** (`location.belowbar`).
* **Exit Signal:** Plotted as a red label with the text "خروج" (**Exit**) **above the bar** (`location.abovebar`).
This strategy aims to filter out weak signals by requiring a high level of consensus across multiple technical dimensions.
MACD Trend Count ScoreThis indicator aims to confirm trends in an asset's price. This confirmation is achieved by counting the MACD bars in a calculation using the chosen timeframe. Positive and negative bars are considered in the calculation of the strength index, which indicates the current trend of that asset.
This Delta index summarizes the predominance of positive or negative bars in the MACD histogram over weekly, bi-weekly, monthly, bi-monthly, and quarterly periods, and, depending on the timeframe used, its result allows one to indicate the intensity of the current trend, according to the results it shows within the following ranges:
Acima de +60 → Strong Raise.
Entre +20 e +60 → Moderate High.
Entre -20 e +20 → Neutral.
Entre -60 e -20 → Moderate Low.
Abaixo de -60 → Strong Low.
SMT (ICT Concepts)Overview
Smart Money Technique (SMT) Divergence is a price action analysis method derived from Inner Circle Trader (ICT) methodology. This indicator automatically detects SMT divergences by comparing price movements across correlated financial instruments, identifying moments when assets that typically move together begin to diverge - a phenomenon often associated with potential price reversals.
An SMT divergence occurs when one instrument makes a new swing high or low while a correlated instrument fails to confirm that move. This failure to confirm suggests that the instrument may be positioning for a reversal, as the divergence indicates a lack of conviction in the current price direction across related markets.
Theoretical Foundation
What is SMT Divergence?
In correlated markets, instruments tend to move in tandem. For example, the E-mini S&P 500 (ES) and E-mini Nasdaq 100 (NQ) futures typically make swing highs and lows together due to their shared exposure to U.S. equity markets. When this correlation breaks down at key swing points, it creates an SMT divergence.
Bullish SMT Divergence:
The chart instrument creates a lower low compared to a previous swing low, while the correlated comparison instrument creates a higher low (or fails to make a lower low). This divergence at the lows suggests potential buying pressure and a possible bullish reversal.
Bearish SMT Divergence:
The chart instrument creates a higher high compared to a previous swing high, while the correlated comparison instrument creates a lower high (or fails to make a higher high). This divergence at the highs suggests potential selling pressure and a possible bearish reversal.
Why SMT Divergences Matter
SMT divergences are considered significant because they may indicate:
Accumulation or distribution occurring in one instrument but not the other
Relative strength or weakness between correlated assets
Potential exhaustion of the current trend
Early warning signs before major reversals
Indicator Features
Multi-Timeframe SMT Detection
This indicator provides simultaneous SMT detection on two timeframes:
Current Timeframe (CTF) Detection:
The indicator scans for SMT divergences on the chart's active timeframe using multiple pivot lookback periods (3, 5, 8, 13, 21, and 34 bars). This multi-period approach ensures detection of both short-term and intermediate swing points, reducing the likelihood of missing valid divergences while filtering out noise.
Higher Timeframe (HTF) Detection:
Simultaneously, the indicator monitors a higher timeframe for SMT divergences using pivot periods of 3, 5, 8, 13, and 21 HTF candles. Higher timeframe signals generally carry more significance as they represent larger market structure.
Automatic Timeframe Pairing:
When enabled, the indicator automatically selects an appropriate higher timeframe based on your chart's current timeframe:
Sub-1 minute charts pair with 5-minute
1-2 minute charts pair with 15-minute
3-4 minute charts pair with 30-minute
5 minute charts pair with 1-hour
6-9 minute charts pair with 1-hour
15 minute charts pair with 4-hour
16-59 minute charts pair with Daily
1-4 hour charts pair with Weekly
Daily charts pair with Monthly
Combined Signal Detection:
When an SMT divergence is detected on both the current timeframe and higher timeframe at the same price pivots, the indicator combines these into a single enhanced signal. Combined signals display both timeframes in the label and use the higher timeframe styling to emphasize their increased significance.
Automatic Symbol Correlation
The indicator includes comprehensive automatic symbol selection based on the instrument you are viewing. When Auto SMT is enabled, the indicator intelligently selects correlated comparison symbols.
Index Futures Correlations:
E-mini Contracts:
NQ (Nasdaq 100) compares with ES (S&P 500) and YM (Dow Jones)
ES (S&P 500) compares with NQ (Nasdaq 100) and YM (Dow Jones)
YM (Dow Jones) compares with NQ (Nasdaq 100) and ES (S&P 500)
RTY (Russell 2000) compares with ES (S&P 500) and NQ (Nasdaq 100)
Micro Contracts:
MNQ (Micro Nasdaq) compares with MES (Micro S&P) and MYM (Micro Dow)
MES (Micro S&P) compares with MNQ (Micro Nasdaq) and MYM (Micro Dow)
MYM (Micro Dow) compares with MNQ (Micro Nasdaq) and MES (Micro S&P)
M2K (Micro Russell) compares with MES (Micro S&P) and MNQ (Micro Nasdaq)
Metals Futures Correlations:
Standard Contracts:
GC (Gold) compares with SI (Silver) and PL (Platinum)
SI (Silver) compares with GC (Gold) and PL (Platinum)
PL (Platinum) compares with GC (Gold) and SI (Silver)
Micro Contracts:
MGC (Micro Gold) compares with SIL (Micro Silver) and PL (Platinum)
SIL (Micro Silver) compares with MGC (Micro Gold) and PL (Platinum)
Energy Futures Correlations:
CL (Crude Oil) compares with RB (RBOB Gasoline) and NG (Natural Gas)
RB (RBOB Gasoline) compares with CL (Crude Oil) and NG (Natural Gas)
NG (Natural Gas) compares with CL (Crude Oil) and RB (RBOB Gasoline)
MCL (Micro Crude) compares with RB (RBOB Gasoline) and NG (Natural Gas)
Major ETF Correlations:
SPY (S&P 500 ETF) compares with QQQ, DIA, and IWM
QQQ (Nasdaq 100 ETF) compares with SPY, DIA, and IWM
DIA (Dow Jones ETF) compares with SPY, QQQ, and IWM
IWM (Russell 2000 ETF) compares with SPY, QQQ, and DIA
Stock Sector Mapping:
When viewing individual stocks, the indicator automatically identifies the stock's sector and selects appropriate sector ETFs for comparison:
Technology Sector (AAPL, MSFT, GOOGL, NVDA, AMD, INTC, etc.):
Primary: QQQ (Nasdaq 100 ETF)
Secondary: XLK (Technology Select Sector SPDR)
Tertiary: SPY (S&P 500 ETF)
Financial Sector (JPM, BAC, GS, MS, WFC, etc.):
Primary: XLF (Financial Select Sector SPDR)
Secondary: KBE (SPDR S&P Bank ETF)
Tertiary: SPY (S&P 500 ETF)
Energy Sector (XOM, CVX, COP, SLB, etc.):
Primary: XLE (Energy Select Sector SPDR)
Secondary: USO (United States Oil Fund)
Tertiary: SPY (S&P 500 ETF)
Healthcare Sector (JNJ, UNH, PFE, MRK, LLY, etc.):
Primary: XLV (Health Care Select Sector SPDR)
Secondary: IBB (iShares Biotechnology ETF)
Tertiary: SPY (S&P 500 ETF)
Consumer Discretionary Sector (TSLA, HD, NKE, MCD, etc.):
Primary: XLY (Consumer Discretionary Select Sector SPDR)
Secondary: SPY (S&P 500 ETF)
Tertiary: QQQ (Nasdaq 100 ETF)
Consumer Staples Sector (PG, KO, PEP, WMT, COST, etc.):
Primary: XLP (Consumer Staples Select Sector SPDR)
Secondary: SPY (S&P 500 ETF)
Tertiary: QQQ (Nasdaq 100 ETF)
Industrial Sector (CAT, BA, HON, UPS, etc.):
Primary: XLI (Industrial Select Sector SPDR)
Secondary: SPY (S&P 500 ETF)
Tertiary: QQQ (Nasdaq 100 ETF)
Materials Sector (LIN, APD, SHW, FCX, NEM, etc.):
Primary: XLB (Materials Select Sector SPDR)
Secondary: GLD (SPDR Gold Shares)
Tertiary: SPY (S&P 500 ETF)
Utilities Sector (NEE, DUK, SO, etc.):
Primary: XLU (Utilities Select Sector SPDR)
Secondary: SPY (S&P 500 ETF)
Tertiary: QQQ (Nasdaq 100 ETF)
Real Estate Sector (AMT, PLD, CCI, etc.):
Primary: XLRE (Real Estate Select Sector SPDR)
Secondary: VNQ (Vanguard Real Estate ETF)
Tertiary: SPY (S&P 500 ETF)
Communication Services Sector (NFLX, DIS, CMCSA, VZ, T, etc.):
Primary: XLC (Communication Services Select Sector SPDR)
Secondary: SPY (S&P 500 ETF)
Tertiary: QQQ (Nasdaq 100 ETF)
Forex Correlations:
EURUSD compares with GBPUSD
GBPUSD compares with EURUSD
Cryptocurrency Correlations:
BTCUSD compares with ETHUSD
ETHUSD compares with BTCUSD
Three-Symbol Comparison
The indicator supports comparison against up to three symbols simultaneously. When multiple comparison symbols show divergence at the same pivot point, all diverging symbols are displayed in the label, providing stronger confluence. For example, if NQ shows divergence with both ES and YM at the same swing high, the label will display "ES1! + YM1!" indicating divergence confirmation from multiple correlated instruments.
Invalidation Logic
SMT divergences are not indefinitely valid. The indicator includes automatic invalidation logic based on price action following the divergence signal.
Invalidation Rules:
Bearish SMT: Invalidates when price trades above the high of the confirmation pivot (right side of the divergence)
Bullish SMT: Invalidates when price trades below the low of the confirmation pivot (right side of the divergence)
The invalidation level is set at the confirmation bar (the second pivot that completes the SMT pattern), not the extreme of both pivots. This approach aligns with the concept that once price exceeds the confirmation point, the divergence setup is no longer valid.
Invalidation Display Options:
Users can choose to show or hide invalidated SMT signals separately for current timeframe and higher timeframe divergences. When shown, invalidated signals can be displayed with different line styles and widths to visually distinguish them from active signals. Separate limits prevent excessive invalidated signals from cluttering the chart (maximum 15 invalidated signals per timeframe type).
Input Settings
General Settings
Enable SMT Detection:
Master toggle to enable or disable all SMT divergence detection. When disabled, no SMT signals will be calculated or displayed.
Direction:
Filter which divergence types to display:
Both: Display both bullish and bearish SMT divergences
Bullish: Display only bullish SMT divergences (divergence at lows)
Bearish: Display only bearish SMT divergences (divergence at highs)
Symbol Settings
Enable Auto SMT:
When enabled, the indicator automatically selects correlated comparison symbols based on the chart instrument using the correlation mappings described above. When disabled, manual symbol inputs are used.
Symbol 1 (with enable toggle):
First comparison symbol. Enabled by default. When Auto SMT is disabled, enter the desired symbol manually.
Symbol 2 (with enable toggle):
Second comparison symbol. Enabled by default. When Auto SMT is disabled, enter the desired symbol manually.
Symbol 3 (with enable toggle):
Third comparison symbol. Disabled by default. Enable for additional confirmation from a third correlated instrument.
Current Timeframe SMT Settings
Show Current TF SMTs:
Toggle visibility of SMT divergences detected on the chart's current timeframe.
Bullish Color:
Color for bullish SMT divergence lines and labels on the current timeframe.
Bearish Color:
Color for bearish SMT divergence lines and labels on the current timeframe.
Line Style:
Style for current timeframe SMT lines (solid, dashed, or dotted).
Line Width:
Width of current timeframe SMT lines (1-4 pixels).
Show Labels:
Toggle visibility of labels on current timeframe SMT divergences.
Label Style:
Normal: Displays full information including timeframe and diverging symbol names
+/-: Displays minimal "+" or "-" characters with full information available in hover tooltip
Label Size:
Size of current timeframe SMT labels (Tiny, Small, Normal, or Large).
Show Invalidated:
Toggle visibility of invalidated current timeframe SMT signals.
Invalidated Line Style:
Line style for invalidated current timeframe SMT signals.
Invalidated Line Width:
Line width for invalidated current timeframe SMT signals.
Higher Timeframe SMT Settings
Show Higher TF SMTs:
Toggle visibility of SMT divergences detected on the higher timeframe.
Auto Timeframe:
When enabled, automatically selects an appropriate higher timeframe based on the chart's current timeframe. When disabled, uses the manually specified timeframe.
Manual Timeframe:
When Auto Timeframe is disabled, specify the higher timeframe to scan for SMT divergences.
Bullish Color:
Color for bullish SMT divergence lines and labels on the higher timeframe.
Bearish Color:
Color for bearish SMT divergence lines and labels on the higher timeframe.
Line Style:
Style for higher timeframe SMT lines (solid, dashed, or dotted).
Line Width:
Width of higher timeframe SMT lines (1-4 pixels).
Show Labels:
Toggle visibility of labels on higher timeframe SMT divergences.
Label Style:
Normal: Displays full information including timeframe and diverging symbol names
+/-: Displays minimal "+" or "-" characters with full information available in hover tooltip
Label Size:
Size of higher timeframe SMT labels (Tiny, Small, Normal, or Large).
Show Invalidated:
Toggle visibility of invalidated higher timeframe SMT signals.
Invalidated Line Style:
Line style for invalidated higher timeframe SMT signals.
Invalidated Line Width:
Line width for invalidated higher timeframe SMT signals.
Visual Representation
Line Display
SMT divergences are displayed as lines connecting the two pivot points that form the divergence:
For bearish SMT: A line connects the previous swing high to the current (higher) swing high
For bullish SMT: A line connects the previous swing low to the current (lower) swing low
The line color indicates the divergence type (bullish or bearish) and whether it was detected on the current timeframe or higher timeframe.
Label Display
Labels are positioned at the midpoint of the SMT line and display:
The timeframe on which the divergence was detected
The symbol(s) that showed divergence with the chart instrument
When using the "+/-" label style, labels show only "+" for bullish or "-" for bearish divergences, with full information accessible via hover tooltip.
All labels use monospace font formatting for consistent visual appearance.
Combined Signals
When the same divergence is detected on both current and higher timeframes, the signals are combined into a single display using higher timeframe styling. The label shows both timeframes (e.g., "M2 + M15") and all diverging symbols, indicating strong multi-timeframe confluence.
Practical Application Guidelines
Signal Interpretation
SMT divergences should be interpreted within the broader market context. Consider the following when evaluating signals:
Market Structure: SMT divergences occurring at key structural levels (previous highs/lows, order blocks, fair value gaps) tend to be more significant.
Timeframe Confluence: Signals appearing on multiple timeframes simultaneously suggest stronger institutional involvement.
Symbol Confluence: Divergences confirmed by multiple comparison symbols indicate broader market disagreement with the current price direction.
Time of Day: SMT divergences during high-volume trading sessions may carry more weight than those during low-liquidity periods.
Limitations and Considerations
Correlation Variability: Correlations between instruments can strengthen or weaken over time. The automatic symbol selection is based on typical correlations but may not always reflect current market conditions.
Pivot Detection Lag: Pivots are only confirmed after subsequent price action, meaning SMT signals appear with some delay after the actual swing point forms.
False Signals: Not all SMT divergences result in reversals. Use additional confirmation methods and proper risk management.
Data Requirements: The indicator requires sufficient historical data and may not function properly on instruments with limited price history.
Technical Notes
The indicator uses multiple pivot detection periods to identify swing points across different scales
Higher timeframe candle tracking is performed on the lower timeframe chart for precise pivot bar indexing
A deduplication system prevents the same divergence from being detected multiple times across different pivot periods
Array-based storage manages active and invalidated SMT signals with automatic cleanup to prevent memory issues
Maximum label and line counts are set to 500 each to accommodate extended analysis periods
Disclaimer
This indicator is provided for educational and informational purposes only. It is designed to assist traders in identifying potential SMT divergences based on historical price data and should not be considered as financial advice or a recommendation to buy or sell any financial instrument.
Trading financial markets involves substantial risk of loss and is not suitable for all investors. Past performance of any trading methodology, including concepts discussed in this indicator, does not guarantee future results. Users should conduct their own research and analysis before making any trading decisions.
The automatic symbol correlations and sector mappings are based on general market relationships and may not accurately reflect current or future correlations. Users are encouraged to verify correlations independently and adjust comparison symbols as needed.
Always use appropriate risk management techniques, including but not limited to position sizing and stop-loss orders. Never risk more capital than you can afford to lose.






















