BALA'S Indicator - Dynamic + 5-Min + Pre-Market LevelsINTRADAY Strategy on Nifty with 15min Candle Setup.
Các mẫu biểu đồ
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条件+最終三点)")
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.
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)
Smart Money Alpha Signals (Performance Dashboard) Smart Money Alpha Signals: Identifying Market Leaders & Generating Alpha
GMP Alpha Signals (Global Market Performance Alpha) is a specialized analysis tool designed not merely to find stocks that are rising, but to identify "Alpha" assets—Market Leaders that defend their price or rise even under adverse conditions where the market index falls or consolidates.
This indicator visualizes the concept of Comparative Relative Strength (RS) and Smart Money accumulation patterns, helping traders capture profit opportunities even during bearish market phases.
Key Objectives (Purpose)
Alpha Capture: Identifying assets generating 'excess returns' that outperform the market Beta.
Smart Money Tracking: Detecting traces of 'institutional buying' and 'accumulation' that defend prices during index plunges.
Decoupling Identification: Spotting assets moving on independent catalysts or momentum, regardless of the broader market direction.
Stop Hunt Filtering: Distinguishing 'fake drops' where price dips temporarily, but Relative Strength remains intact.
Dashboard Guide
Interpretation of the information panel (Table) displayed on the chart.
Rel. Performance: Shows the excess return compared to the index over the set period. (Positive/Green = Stronger than the market).
Decoupling Strength: The correlation coefficient with the index. Lower values (0 or negative) indicate movement independent of market risk.
Bullish: The count/rate of rising or limiting losses when the index drops sharply (e.g., < -0.5%). (Gold = Market Crash Leader).
Defended: The count/rate of holding support levels when the index shows mild weakness (e.g., < -0.05%). (Gold = Strong Accumulation).
Bench. Defense: The defense rate of the comparison benchmark (e.g., TSLA, ETH). Your target asset must be higher to be considered the sector leader.
Input Options & Settings Guide
You can optimize settings according to your trading style and asset class (Stocks/Crypto).
(1) Main Settings
Major Index: The baseline market index for comparison.
(US Stocks: NASDAQ:NDX or TVC:SPX / Crypto: BINANCE:BTCUSDT)
Benchmark Symbol: A competitor within the sector.
(e.g., Set NVDA when analyzing Semiconductor stocks).
Correlation Lookback: The lookback period for judging decoupling. (Default: 30)
Performance Lookback: The number of bars to calculate cumulative returns and defense rates. (Default: 60)
(2) Dashboard Thresholds
These settings define the criteria for what qualifies as "Defended" or "Bullish".
Performance (Max %): Used to find assets that haven't pumped yet. Signals trigger only when Alpha is below this value.
Defended Logic:
Index Drop Condition: The index must drop by at least this amount to start checking. (e.g., -0.05%)
Asset Buffer: How much the asset must outperform the index drop.
(Example: If Index drops -1.0% and Buffer is 0.2%, the asset must be at least -0.8% to count as 'Defended').
Bullish Logic: Measures resilience during steeper market dumps (e.g., -0.5% drop) compared to the Defended Logic.
Volume Settings: Decides whether to count Defended/Bullish instances only when accompanied by volume above the SMA.
(3) Signal Logic Settings (Crucial)
Customize conditions to trigger alerts. The choice between AND / OR is crucial.
AND: Condition must be met SIMULTANEOUSLY with other active conditions (Conservative/High Certainty).
OR: Condition triggers the signal INDEPENDENTLY (Aggressive/Opportunity Capture).
Performance: Is the relative performance within the threshold? (Basic Filter).
Decoupling: Has the correlation dropped? (Start of independent move).
Bullish Rate: Is the Bullish rate high during market dumps?
Defended Rate (High): (Recommended) Is there continuous price defense occurring? (Accumulation detection).
Defended Rate (Low): (Warning) Has the defense rate broken down? (For Stop Loss).
Defended > Benchmark: Is it stronger than the Benchmark (2nd tier)?
Volume Spike: Has volume surged compared to the average? (Institutional involvement).
RSI Oversold: Is it in oversold territory? (Counter-trend trading).
Decoupling Move: Does the current bar show the "Index Down / Asset Up" pattern?
Min USD Volume: Transaction value filter (To exclude low liquidity assets).
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
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.
Ichimoku + VWAP + OBV + ATR Full System (NQ Daytrade)This script provides optimized scalping signals for BTC, designed mainly for the 15-minute timeframe.
Long/short entries are generated using VWAP band position and trend confirmation logic.
OBV momentum is used as a secondary filter to validate breakout or reversal conditions.
Exit signals are displayed when volatility compression or mean-reversion conditions occur.
Simple visual markers (triangles and circles) are included for easy decision-making.
롱/숏 삼각형 시그널
동그라미 청산 시그널
VWAP 밴드 기반 방향성
OBV 보조지표
이름 (Name)
BTC Scalping Signal – VWAP + OBV
짧은 설명 (Short Description)
VWAP 밴드와 OBV를 기반으로 방향성, 진입·청산 시그널을 제공하는 스캘핑 지표입니다.
긴 설명 (Long Description)
이 지표는 BTC 단기 스캘핑을 위해 설계된 것으로, 특히 15분봉 환경에 최적화되어 있습니다.
VWAP 밴드의 위치와 추세 판별 로직을 기반으로 롱·숏 진입 신호를 제공합니다.
OBV 모멘텀을 보조 필터로 사용하여 돌파 및 되돌림 가능성을 판단합니다.
시장 변동성이 축소되거나 평균회귀 신호가 감지될 때 청산 시그널을 표시합니다.
삼각형(진입), 원형(청산) 등 직관적 시각 요소를 통해 빠른 의사결정을 지원합니다.
RSI Multi-Timeframe TableHow the RSI Multi-Timeframe Table Indicator Works
This indicator displays a table showing the RSI (14) from multiple timeframes at the same time.
It helps you quickly see whether the RSI is in overbought or oversold zones across different periods (1m, 5m, 15m, 30m, 1h, 4h, and 1D).
Below is a clear explanation of how each part works:
1) Timeframes Used
The indicator analyzes the RSI from the following timeframes:
1 minute (1m)
5 minutes (5m)
15 minutes (15m)
30 minutes (30m)
1 hour (1h)
4 hours (4h)
1 day (1D)
Each row of the table represents one of these timeframes.
2) How the RSI Is Retrieved
For each timeframe, the script uses the request.security() function to fetch the RSI(14) value from that specific timeframe, even if your current chart is set to a different one.
Example: On a 1h chart, you can still see the RSI from 1m, 5m, 30m, etc.
3) Table Structure
The table appears in the top-right corner and contains 8 columns:
TF – shows the timeframe name
RSI – shows the RSI value with two decimal places
10 – marks if RSI is ≤ 10
20 – marks if RSI is ≤ 20
30 – marks if RSI is ≤ 30
70 – marks if RSI is ≥ 70
80 – marks if RSI is ≥ 80
90 – marks if RSI is ≥ 90
The extreme levels (10, 20, 80, 90) help identify possible reversal zones.
4) Markings in the Table
When a condition is true, a ● circle appears in the corresponding cell.
Examples:
If the 5m RSI is ≤ 20, a circle appears in the 20 column for the 5m row.
If the 1H RSI is ≥ 80, a circle appears in the 80 column for the 1H row.
Colors also help interpretation:
Red for strong oversold levels (≤10)
Orange and yellow for intermediate levels
Green, teal, and blue for overbought levels
5) Alerts
The indicator includes four built-in alerts:
RSI ≤ 10
RSI ≤ 20
RSI ≥ 80
RSI ≥ 90
These alerts use the RSI from the current chart timeframe.
To enable them:
Open Alerts in TradingView
Click Create Alert
Select the indicator
Choose the alert you want
Confirm
6) Purpose of This Indicator
It is useful for:
Quickly checking market strength across multiple timeframes
Identifying when several periods are overbought or oversold
Avoiding trades against market momentum
Helping confirm potential reversal points
Summary
This indicator creates a table that shows RSI values from multiple timeframes and visually highlights overbought or oversold conditions in each one.
It also includes ready-to-use alerts for the most extreme RSI levels.
Regime EngineRegime Engine
Overview
Regime Engine is a market regime detection system that classifies price action into bullish, bearish, or neutral states using weighted exponential moving average analysis. Once the regime is identified, the indicator generates buy and sell signals based on Donchian channel breakouts, filtered by ADX trend strength and RSI momentum conditions.
The Money Line
The core of regime detection is the Money Line, a weighted combination of two exponential moving averages. By default, the short EMA (8 periods) receives 60% weight while the long EMA (24 periods) receives 40% weight. This weighting allows the Money Line to be more responsive than a simple long-period average while remaining smoother than a short-period average alone.
The Money Line changes color based on the current regime: green for bullish, red for bearish, and yellow for neutral. This provides immediate visual feedback about the market state.
Regime Classification
The indicator determines market regime by comparing the relative positions of the short and long EMAs while also considering RSI levels to avoid classifying overbought or oversold conditions as trend states.
Bullish regime is identified when the short EMA is above the long EMA and RSI is not in overbought territory. This combination suggests upward momentum that is not yet exhausted.
Bearish regime is identified when the short EMA is below the long EMA and RSI is not in oversold territory. This indicates downward momentum with room to continue.
Neutral regime applies when the EMAs are close together or RSI conditions prevent trend classification. The indicator provides two optional methods for enhanced neutral detection.
Neutral Zone Detection
Markets often transition through periods where trend direction is unclear. The indicator offers two complementary methods for detecting these neutral zones.
The slope method examines the rate of change of the Money Line relative to ATR. When the Money Line is moving slowly (slope below a tolerance threshold), the market is classified as neutral regardless of EMA positioning.
The EMA distance method calculates the percentage distance between the short and long EMAs. When they are within a specified percentage of each other, the EMAs are considered too close to reliably indicate direction.
Either or both methods can be enabled, and if either triggers, the regime is classified as neutral.
Donchian Channel Signals
Buy and sell signals are generated when price interacts with the Donchian channel boundaries. The Donchian channel plots the highest high and lowest low over a lookback period (default 20 bars), offset by one bar to prevent repainting.
Buy signals trigger when price touches or breaks below the lower Donchian band, indicating a potential support level. Sell signals trigger when price touches or breaks above the upper Donchian band, indicating potential resistance.
An optional setting requires the close to confirm the break rather than just the wick, providing more conservative signal generation.
ADX Trend Strength Filter
The Average Directional Index filters signals to ensure they occur during trending conditions. When enabled, signals only fire if ADX exceeds the threshold (default 24), confirming that the market has sufficient directional momentum for breakout trades to succeed.
The indicator uses Wilder's original smoothing method for ADX calculation, providing the traditional interpretation of trend strength values.
RSI Momentum Filter
RSI provides additional signal filtering to ensure entries occur at favorable momentum levels. Buy signals require RSI to be at or below the oversold threshold (default 30), indicating potential exhaustion of selling pressure. Sell signals require RSI to be at or above the overbought threshold (default 70), suggesting exhaustion of buying pressure.
These filters can be disabled for traders who prefer unfiltered Donchian breakout signals.
BBWP Volatility Monitoring
Bollinger Band Width Percentile measures current volatility relative to its historical range. The indicator calculates BB width and ranks it against the specified lookback period (default 252 bars, approximately one trading year).
BBWP above 70% indicates elevated volatility, which may signal trend acceleration or potential reversals. BBWP below 30% indicates compressed volatility, often preceding significant moves. The information panel displays the current BBWP reading with color coding to highlight these conditions.
Signal Cooldown
To prevent signal clustering during extended breakout periods, a configurable cooldown prevents new signals of the same type for a specified number of bars after each signal. This ensures each signal represents a distinct trading opportunity.
Visual Components
The Donchian channel can display shaded bands between the upper and lower boundaries. The shading color reflects the current regime: green for bullish, magenta for bearish, and blue for neutral. This provides at-a-glance context for where price is trading within its recent range.
An ADX strength bar at the bottom of the chart uses color coding: white for weak trend (ADX below 15), orange for ranging (ADX 15-24), and blue for trending (ADX above 24). This matches the trend strength display in the information panel.
Price labels appear at signal locations showing the signal type and entry price. Labels are automatically cleaned up after reaching a configurable history limit to maintain chart performance.
Signal candles are highlighted in blue, making it easy to identify exactly which bars generated signals when reviewing historical performance.
Information Panel
A compact table displays key metrics: current regime bias, trend strength classification, BBWP volatility reading, RSI level, and ADX value. Each metric is color-coded to highlight favorable or unfavorable conditions.
The panel can be positioned at any corner or middle edge of the chart. An alternative label-based display anchored to the chart is also available for those who prefer that format.
Trend Persistence Option
By default, the regime is recalculated on every bar. An optional persistence mode changes this behavior so that the regime only changes on EMA crossovers. This reduces regime flipping during choppy conditions but may delay regime recognition during gradual trend changes.
How to Use
Monitor the Money Line color and information panel for current regime. In bullish regimes, focus on buy signals at the lower Donchian band as potential pullback entries. In bearish regimes, focus on sell signals at the upper band as potential short entries or exit points.
Use the ADX strength indicator to gauge signal reliability. Signals during trending conditions (blue ADX bar) have historically higher success rates than signals during ranging conditions (orange bar) or weak trends (white bar).
Watch BBWP for volatility context. Low BBWP readings suggest a significant move may be developing, while high readings indicate the current move may be overextended.
The combination of regime awareness, Donchian breakout signals, and ADX/RSI filtering provides a structured approach to identifying trading opportunities across different market conditions.
Settings Guidance
The default settings work well for cryptocurrency and forex markets on intraday timeframes. For stocks or longer timeframes, consider increasing the EMA periods and Donchian lookback. The ADX threshold can be adjusted based on the typical ADX range for the traded instrument.
The RSI filter levels can be relaxed (higher oversold, lower overbought) for more signals or tightened for higher-quality but less frequent signals. The cooldown period should be adjusted based on timeframe, with shorter timeframes typically requiring longer cooldown periods.
Neural Fusion ProNeural Fusion Pro
Overview
Neural Fusion Pro is a multi-factor scoring system that combines numerous technical analysis methods into a single unified score. Rather than requiring traders to monitor multiple indicators separately, this system synthesizes trend strength, momentum oscillators, volume confirmation, price structure, and price action quality into one composite reading that adapts to current market conditions.
The Scoring System
At the heart of this indicator is a weighted scoring algorithm that produces a value between -1.0 and +1.0. Positive scores indicate bullish conditions across the measured factors, while negative scores suggest bearish conditions. The magnitude of the score reflects the strength of conviction across indicators.
The score is calculated from five distinct components, each capturing a different aspect of market behavior. Users can adjust the weight given to each component based on their trading style and market preferences.
Component 1: Trend Strength and Direction
This component uses the Average Directional Index to measure trend strength and the Directional Movement indicators to determine trend direction. When ADX exceeds the trending threshold, indicating a directional market, the component contributes a positive score if the positive directional indicator leads, or a negative score if the negative directional indicator leads. In ranging markets where ADX is low, this component contributes minimally to avoid false trend signals.
Component 2: Multi-Factor Momentum
Rather than relying on a single oscillator, this component synthesizes readings from RSI, MACD histogram, Stochastic, CCI, and Rate of Change. Each oscillator is normalized to a common scale and weighted according to its reliability characteristics. RSI readings are compared against dynamic thresholds that adjust based on trend state, making the indicator more forgiving in uptrends and more demanding in downtrends.
The component also includes divergence detection. When price makes a higher high but RSI makes a lower high (bearish divergence), or when price makes a lower low but RSI makes a higher low (bullish divergence), the divergence score adjusts the momentum component accordingly.
Component 3: Volume Confirmation
Volume provides crucial confirmation of price movements. This component analyzes On-Balance Volume relative to its moving average and measures the slope of OBV to determine whether volume is supporting the price trend. Additionally, it monitors relative volume by comparing current volume to its recent average, adding confirmation when volume spikes accompany price movements.
Component 4: Price Structure and Volatility
This component evaluates where price sits within the dynamic bands and considers the current volatility regime. When price is near the lower band, the component contributes a bullish score, suggesting potential support. When price is near the upper band, it contributes a bearish score, suggesting potential resistance.
The volatility regime assessment uses ATR percentile ranking. Low volatility periods often precede significant moves, while extremely high volatility may indicate unsustainable conditions.
Component 5: Price Action Quality
This component examines the character of recent candles by tracking the ratio of bullish to bearish candles over a lookback period. Consistent bullish price action contributes a positive score, while consistent bearish action contributes negatively. This helps filter signals by confirming that price behavior aligns with other factors.
Dynamic Bands
The indicator plots adaptive bands around a central basis line. The basis can be configured as either a simple or exponential moving average. Band width is determined by ATR multiplied by a dynamic factor that incorporates both ADX (expanding bands in trending markets) and the Chaikin Oscillator (expanding bands during strong accumulation or distribution).
These bands serve multiple purposes: they provide visual context for price position, they define signal trigger zones, and they help identify overextended conditions.
Trend State Detection
The indicator classifies market conditions into three states that affect signal generation and threshold levels.
Strong Uptrend is identified when ADX is rising, ADX exceeds the strong trend threshold, and the positive directional indicator exceeds the negative. This state triggers the most aggressive buy settings, allowing entries on shallow pullbacks.
Downtrend is identified when the negative directional indicator exceeds positive DI and ADX confirms directional movement. This state applies the most conservative buy settings, requiring deep oversold conditions before generating buy signals.
Neutral applies when neither trend condition is met, using moderate threshold settings appropriate for range-bound or transitional markets.
Dynamic RSI Thresholds
A key innovation is the automatic adjustment of RSI thresholds based on trend state. In a strong uptrend, the buy RSI threshold might be set to 50, allowing entries when RSI merely pulls back to neutral rather than requiring oversold conditions. The sell threshold rises to 72, keeping traders in positions longer during favorable conditions.
In downtrends, the buy RSI threshold drops to 25, ensuring buys only trigger on genuine capitulation. The sell threshold drops to 64, making exits easier to trigger.
In neutral markets, traditional oversold and overbought levels apply, with buy triggers around RSI 30 and sell triggers around RSI 68.
This adaptive approach prevents the common problem of indicators that work well in one market environment but fail in others.
Dynamic Cooldown
The signal cooldown period adjusts based on trend strength. During normal conditions, a standard cooldown prevents signal clustering. When ADX exceeds the strong trend threshold and is rising, indicating a powerful trend, the cooldown period extends. This helps traders stay in winning positions longer by reducing the frequency of counter-trend signals.
Cascade Protection
The indicator includes protection mechanisms to prevent overtrading and averaging down into losing positions.
The BBWP (Bollinger Band Width Percentile) monitor tracks current volatility relative to historical levels. When BBWP exceeds a threshold, indicating a volatility spike often associated with sharp moves, all buy signals are frozen. This protects against entering during panic selloffs or blow-off tops.
The consecutive buy counter tracks how many buy signals have occurred without an intervening sell. After reaching the maximum (default 3), no additional buy signals are generated until a sell occurs. This prevents the destructive pattern of repeatedly buying a declining asset.
Both protection mechanisms are displayed in the information panel, allowing traders to understand why signals may or may not be firing.
Signal Generation
Buy signals require price to touch or penetrate the lower band, RSI to be below the dynamic threshold, and the market to be in a trending state (when that filter is enabled). Additionally, the cooldown period must have elapsed and cascade protection must not be blocking buys.
Sell signals require price to touch or penetrate the upper band, RSI to be above the dynamic threshold, and the cooldown to have elapsed.
Signal labels display the entry price, signal type (shallow dip, capitulation, extended, bounce sell, or neutral), and the current position in the consecutive buy count.
Visual Components
The indicator provides multiple layers of visual feedback.
Cloud shading between the bands changes based on whether the composite score is in a buy zone or sell zone. Green clouds indicate bullish score readings, while red clouds indicate bearish readings.
Background coloring reflects the overall market regime. Green background indicates a bullish regime (positive DI leadership with volume confirmation), red indicates bearish regime, and white indicates neutral conditions.
An ADX bar at the bottom of the chart uses color coding: white for ranging (very low ADX), orange for flat, and blue for trending conditions.
The information panel displays the composite score with color coding, current trend state, active RSI thresholds, divergence status, BBWP freeze status, buy counter, market regime, ADX value with trend indicator, current cooldown setting, and live RSI reading color-coded against the active thresholds.
A debug panel can be enabled to show the individual component scores, helping users understand what is driving the composite reading.
How to Use
Monitor the composite score in the information panel. Readings above the buy threshold combined with price near the lower band represent potential long entries. Readings below the sell threshold with price near the upper band suggest exit opportunities.
Pay attention to the trend state. In strong uptrends, be more willing to buy dips and more patient with holding positions. In downtrends, require stronger confirmation before entering and be quicker to take profits on bounces.
Watch the cascade protection status. If BBWP shows frozen or the buy counter is approaching maximum, exercise additional caution regardless of other signals.
Use the dynamic RSI thresholds as context. When the panel shows buy RSI threshold at 50 (strong uptrend), even a pullback to RSI 45 is a potential entry. When the threshold shows 25 (downtrend), wait for genuine capitulation conditions.
Component Weight Adjustment
The relative importance of each scoring component can be adjusted through the settings. The default weights emphasize trend strength (30%) and momentum (25%), with volume (20%), price structure (15%), and price action (10%) providing confirmation.
For trend-following strategies, consider increasing trend and momentum weights. For mean-reversion approaches, increase the price structure weight to emphasize band position. The weights should sum to approximately 1.0 for proper score scaling.
Settings Guidance
The default settings are calibrated for cryptocurrency markets on lower timeframes. For traditional markets or longer timeframes, consider adjusting the ADX trending threshold (lower values for less volatile assets), the dynamic RSI levels for each trend state, and the cascade protection parameters.
The Heikin Ashi option for band calculation can provide smoother bands but may introduce slight lag. The default setting uses standard price data for better real-time accuracy.
Helix Protocol 7Helix Protocol 7
Overview
Helix Protocol 7 is a trend-adaptive signal engine that automatically adjusts its buy and sell criteria based on current market conditions. Rather than using fixed thresholds that work well in some environments but fail in others, Helix detects whether the market is in a strong uptrend, neutral consolidation, or downtrend, then applies the appropriate signal parameters for each state. This adaptive approach helps traders buy dips aggressively in confirmed uptrends while requiring much stricter conditions before buying in downtrends.
Core Philosophy
The fundamental insight behind Helix is that the same indicator readings mean different things in different market contexts. An RSI of 45 during a strong uptrend represents a healthy pullback and buying opportunity. That same RSI of 45 during a confirmed downtrend might just be a brief pause before further decline. Helix encodes this context-awareness directly into its signal logic.
The Money Line
At the center of the indicator is the Money Line, which can be configured as either a linear regression line or a weighted combination of exponential moving averages. Linear regression provides a mathematically optimal fit through recent price data, while the weighted EMA option offers more responsiveness to recent price action. The slope of the Money Line determines whether the immediate price trend is bullish, bearish, or neutral, which affects the color of the bands and cloud shading.
Dynamic Envelope Bands
Upper and lower bands are calculated using Average True Range multiplied by a dynamic factor. When ADX indicates trending conditions, the bands automatically widen to accommodate larger price swings. The Chaikin Accumulation/Distribution indicator also influences band width, with strong accumulation or distribution causing additional band expansion. This dual adaptation helps the bands remain relevant across different volatility regimes.
Trend State Detection
Helix classifies market conditions into four distinct states using a combination of ADX behavior and Directional Movement analysis.
Strong Uptrend requires ADX to be rising (gaining momentum), ADX value above a threshold (default 25), and the positive directional indicator exceeding the negative. This combination confirms not just that price is rising, but that the trend is strengthening.
Strong Downtrend uses the same ADX requirements but with the negative directional indicator dominant. This identifies accelerating downward momentum.
Weak Downtrend is detected when ADX is falling (trend losing steam) but negative DI still exceeds positive DI. This often represents the exhaustion phase of a decline.
Neutral applies when none of the above conditions are met, typically during consolidation or when directional indicators are close together.
Adaptive Signal Thresholds
The indicator uses Fisher Transform and RSI as its primary oscillators, but the trigger levels change based on trend state.
During Strong Uptrend, buy conditions are relaxed significantly. The Fisher threshold might be set to 1.0 (only slightly below neutral) and RSI to 50, allowing entries on minor pullbacks within the established trend. Sell conditions are tightened, requiring Fisher above 2.5 and RSI above 70, letting winning positions run longer.
During Neutral conditions, both buy and sell thresholds return to traditional oversold and overbought levels. Fisher must reach -2.0 for buys and +2.0 for sells, with RSI requirements around 30 and 65 respectively.
During Downtrend, buy conditions become very strict. Fisher must reach extreme oversold levels like -2.5 and RSI must drop below 25, ensuring buys only trigger on genuine capitulation. Sell conditions are loosened, allowing exits on any meaningful bounce.
This asymmetric approach embodies the trading principle of being aggressive when conditions favor you and defensive when they do not.
Band Touch Signals
In addition to oscillator-based signals, Helix generates signals when price touches the dynamic bands. A touch of the lower band indicates potential support and generates a buy signal. A touch of the upper band suggests potential resistance and generates a sell signal. These band-based signals work alongside the oscillator signals, providing entries even when Fisher and RSI have not reached their thresholds.
Extreme Move Detection
Sometimes price moves so violently that it penetrates the bands by an unusual amount. Helix measures this penetration depth as a percentage of ATR and can flag these as "extreme" signals. Extreme signals have special properties: they can fire intra-bar (before the candle closes) to catch wick entries, they can bypass normal cooldown periods, and they can optionally bypass volatility freezes. This allows the indicator to capture panic selling events that might be missed by waiting for candle closes.
Cascade Protection System
A critical feature for risk management is the built-in cascade protection that prevents averaging down into oblivion. The system has two components.
First, it tracks Bollinger Band Width Percentile, which measures current volatility relative to its historical range. When BBWP exceeds a threshold (default 92%), indicating a volatility spike often associated with sharp directional moves, all buy signals are temporarily frozen. This prevents entries during the most dangerous market conditions.
Second, it counts consecutive buy signals without an intervening sell. After reaching the maximum (default 3), no additional buy signals are generated until a sell occurs. This absolute limit prevents the common mistake of repeatedly buying a falling asset.
The protection status is displayed in the information panel, showing current BBWP level and the consecutive buy count.
RSI Divergence Detection
Helix includes automatic detection of RSI divergences, which often precede trend reversals. Regular bullish divergence occurs when price makes a lower low but RSI makes a higher low, suggesting weakening downside momentum. Regular bearish divergence is the opposite pattern at tops. Hidden divergences, which suggest trend continuation rather than reversal, are also detected and can be displayed optionally. Divergence lines are drawn directly on the price chart connecting the relevant pivot points.
Signal Cooldown
To prevent signal clustering and overtrading, a configurable cooldown period prevents new signals for a set number of bars after each signal. This ensures each signal represents a distinct trading opportunity.
Visual Components
The indicator provides comprehensive visual feedback. The Money Line changes color based on slope direction. The cloud shading between bands reflects trend bias. An ADX bar at the bottom of the chart uses color coding to show trend state at a glance: lime for strong uptrend, red for downtrend, white for ranging (very low ADX), orange for flat, and blue for trending but not yet strong.
Price labels appear at signal locations showing the entry or exit price, the trigger type (band touch, uptrend dip, capitulation, etc.), and the current position in the consecutive buy count.
The information panel displays current trend state, divergence status, BBWP freeze status, buy counter, ADX with direction arrow, DI spread, Fisher and RSI values, and the current active thresholds for buy and sell signals. A compact mode is available for mobile devices.
How to Use
In strong uptrends, look for buy signals on pullbacks to the Money Line or lower band. The relaxed thresholds will generate more frequent entries, which is appropriate when trend momentum is confirmed. Consider letting sell signals pass if the trend remains strong.
In neutral markets, treat signals more selectively. Both buy and sell signals require significant oscillator extremes, making them higher-probability but less frequent.
In downtrends, exercise extreme caution with buy signals. The strict requirements mean buys only trigger on major oversold conditions. Respect sell signals promptly, as the loosened thresholds are designed to protect capital.
Always monitor the cascade protection status. If BBWP shows frozen or the buy counter is at maximum, the indicator is warning you that conditions are dangerous for new long entries.
Settings Guidance
The default settings are calibrated for cryptocurrency markets on 5-minute timeframes. For other assets or timeframes, consider adjusting the ADX threshold for strong trend detection (lower for less volatile assets), the Fisher and RSI thresholds for each trend state, and the BBWP freeze level based on the asset's typical volatility profile.
The indicator includes a debug panel that can be enabled to show the detailed state of all conditions, useful for understanding why signals are or are not firing.
MoneyLine CipherMoneyLine Cipher
Overview
MoneyLine Cipher is a trend-following indicator designed to identify high-probability entry and exit points by combining multiple technical analysis methods into a unified signal system. The indicator adapts its behavior based on current market conditions, becoming more aggressive in strong trends and more conservative in choppy or uncertain markets.
Core Concept: The Money Line
At the heart of this indicator is the Money Line, a linear regression line that acts as a dynamic center of price action. Unlike a simple moving average, linear regression fits a straight line through recent prices using least-squares methodology, providing a smoother representation of the underlying trend direction. The slope of this line determines whether the market is in a bullish, bearish, or neutral state.
Dynamic Envelope Bands
The indicator plots upper and lower bands around the Money Line using Average True Range (ATR) as the volatility measure. What makes these bands unique is their adaptive multiplier system. When the ADX (Average Directional Index) indicates a strong trend, the bands automatically widen to accommodate larger price swings and avoid premature exits. In ranging or weak trend conditions, the bands contract to provide tighter entry and exit zones. This dynamic adjustment helps the indicator perform consistently across different market environments.
Trend State Detection
The indicator classifies market conditions into five distinct states: Strong Uptrend, Uptrend, Neutral, Downtrend, and Strong Downtrend. This classification uses three complementary methods working together.
First, the Directional Movement Index (DMI) measures the spread between positive and negative directional indicators. A large positive spread suggests bullish momentum, while a large negative spread indicates bearish pressure.
Second, On-Balance Volume (OBV) confirms whether volume supports the indicated trend direction. For a Strong Uptrend classification, OBV must be rising above its moving average, confirming that buying pressure backs the price movement.
Third, ADX must exceed a minimum threshold for Strong trend classifications, ensuring that only genuinely trending markets receive the Strong designation.
Signal Generation
Buy and sell signals are generated using Fisher Transform and Aroon indicators, but with a crucial enhancement: the trigger thresholds adjust dynamically based on the current trend state.
The Fisher Transform converts price data into a Gaussian normal distribution, making turning points easier to identify. In a Strong Uptrend, the buy threshold relaxes (making buys easier to trigger) while the sell threshold tightens (making sells harder to trigger). This allows traders to stay in winning positions longer during favorable conditions. The opposite applies in downtrends, where the system becomes quick to exit and reluctant to enter long positions.
The Aroon indicator measures how recently price made a new high or low within the lookback period. Combined with Fisher Transform, this dual-confirmation approach reduces false signals that might occur when using either indicator alone.
Band touches also generate signals. When price reaches the lower band, a potential buy zone is identified. When price reaches the upper band, a potential sell zone is flagged.
Cascade Protection System
A key feature is the built-in protection against averaging down into a losing position. The system tracks consecutive buy signals and limits them to a configurable maximum (default: 3). After reaching this limit, no additional buy signals are generated until a sell signal resets the counter. This prevents the common mistake of repeatedly buying during a sustained decline.
Additionally, the indicator monitors Bollinger Band Width Percentile (BBWP), which measures current volatility relative to historical volatility. When BBWP exceeds a threshold (indicating a volatility spike often associated with sharp moves), buy signals are temporarily frozen. This protects against entering during panic selloffs or blow-off tops.
Extreme Move Detection
Sometimes price moves so aggressively that it penetrates the bands by an unusual amount. The indicator detects these extreme moves and can generate signals even during normal cooldown periods. The logic is that an extreme band penetration represents a significant overextension that warrants attention regardless of recent signal history. These extreme signals are visually distinguished from regular signals.
RSI Divergence
The indicator includes RSI divergence detection as an additional confirmation tool. When price makes a lower low but RSI makes a higher low (bullish divergence), it suggests weakening downside momentum and a potential reversal. Bearish divergence (price higher high, RSI lower high) warns of potential tops. Both regular and hidden divergences are detected and marked on the chart.
Signal Cooldown
To prevent overtrading and signal clustering, a configurable cooldown period prevents new signals for a set number of bars after each signal. This spacing ensures that each signal represents a distinct trading opportunity rather than repeated triggers on the same price movement.
Visual Display
The indicator provides a comprehensive information panel showing current trend state, BBWP status, consecutive buy count, ADX reading, Fisher and Aroon values, cooldown status, and current dynamic thresholds. An ADX bar at the bottom of the chart provides quick visual reference for trend strength and direction using color coding.
Signal labels display the entry or exit price along with the current buy count (for buy signals), helping traders track their position sizing.
How to Use
In uptrending markets, look for buy signals near the lower band, particularly when the trend state shows Uptrend or Strong Uptrend. These represent pullback opportunities within an established trend.
In downtrending markets, the indicator naturally reduces buy signals and increases sell sensitivity, helping traders avoid catching falling knives.
In neutral or ranging conditions, signals from both directions are generated with moderate thresholds, suitable for mean-reversion trading within the bands.
Monitor the BBWP and consecutive buy counter in the info panel. If BBWP shows "FROZEN" or the buy counter approaches the maximum, exercise additional caution with new long entries.
Settings Guidance
The default settings are optimized for 5-minute cryptocurrency charts but can be adjusted for other timeframes and assets. Key parameters to consider adjusting include the Money Line length (shorter for more responsive, longer for smoother), ATR multiplier range (wider bands reduce signals but improve accuracy), and the various threshold values for trend classification.
Fat Tony's Composite Momentum + ROC (v0.4)Fat Tony's Composite Momentum + ROC (v0.4)
Option guy settings and indicators
True Gap Finder with Revisit DetectionTrue Gap Finder with Revisit Detection
This indicator is a powerful tool for intraday traders to identify and track price gaps. Unlike simple gap indicators, this script actively tracks the status of the gap, visualizing the void until it is filled (revisited) by price.
Key Features:
Active Gap Tracking: Finds gap-up and gap-down occurrences (where Low > Previous High or High < Previous Low) and actively tracks them.
Gap Zones (Clouds): Visually shades the empty "gap zone" (the void between the gap candles), making it instantly obvious where price needs to travel to fill the gap. The cloud disappears automatically once the gap is filled.
Dynamic Labels: automatically displays price labels at the origin of the gap, showing the specific price range (High-Low) that constitutes the gap. Labels are positioned intelligently to avoid cluttering current price action.
Alerts: Configurable alerts notify you the moment a gap is filled.
Customization: Full control over colors, clouds, labels, and alert settings to match your chart style.
How it works: The indicator tracks the most recent gap. If a new gap forms, it becomes the active focus. When price moves back to "close" or "fill" this gap area, the lines and clouds automatically stop plotting, giving you a clean chart that focuses only on open business.
Bar Number IndicatorBar Number Indicator
This Pine Script indicator is designed to help intraday traders by automatically numbering candlesticks within a user-defined trading session. This is particularly useful for strategies that rely on specific bar counts (e.g., tracking the 1st, 18th, or 81st bar of the day).
Key Features:
Session-Based Counting: Automatically resets the count at the start of each new session (default 09:30 - 16:00).
Timezone Flexibility: Includes a dropdown to select your specific trading timezone (e.g., America/New_York), ensuring accurate session start times regardless of your local time or the exchange's default setting.
Smart Display Modes: Choose to show "All" numbers, or filter for "Odd" / "Even" numbers to keep your chart clean.
Custom Positioning: Easily place the numbers Above or Below the candlesticks.
Minimalist Design: Numbers are displayed as floating text without distracting background bubbles.
Dynamische Open/Close Levels mit Historie🎯 Key Features
This indicator provides clean, configurable horizontal lines showing the Open and Close prices of a higher chosen timeframe (e.g., the last 5-minute candle), serving as dynamic support and resistance levels.
Unlike traditional indicators that draw messy "steps" across your entire chart, this tool is designed for clarity and precise control.
Controlled History: Easily define how many of the last completed periods (e.g., 5-minute blocks) should remain visible on the chart. Set to 0 for only the current, active levels.
No Stepladder Effect: Uses advanced drawing methods (line.new and object management) to ensure the historical levels remain static and do not clutter your chart history.
Dynamic Labels: The labels (e.g., "Open (5)") automatically adjust to show the timeframe you configured in the indicator settings, eliminating confusion when switching timeframes.
Customizable: Full control over colors, line length, and label positioning/size.
💡 Ideal Use Case
Perfect for scalpers and day traders operating on lower timeframes (1m, 3m) who want to quickly visualize and respect crucial price action levels from a higher context (e.g., 5m, 15m, 1h).
Entry Scanner Conservative Option AKeeping it simple,
Trend,
RSI,
Stoch RSI,
MACD, checked.
Do not have entry where there is noise on selection, look for cluster of same entry signals.
If you can show enough discipline, you will be profitable.
CT
ATR + True RangeOne indicator for ATR & TR its a common indictor which can be used as one
instead of 2 different its is trial mode only not to be used with out other references
Tomb Reversal Signal Engulfing + RSI Momentum DetectorTomb is a fast and minimalistic reversal-detection indicator built to capture high-probability turning points in the market.
It combines engulfing candlestick patterns, a strong candle body filter, and RSI momentum analysis to generate precise BUY and SELL signals with minimal noise.
🔍 How it Works
The indicator triggers:
✅ BUY Signal
Bullish engulfing pattern appears
Candle body strength > 50% of total range (real momentum)
RSI below 50 (bearish momentum weakening)
Price decreasing over the last 5 bars (down-trend exhaustion)
✅ SELL Signal
Bearish engulfing pattern
Candle body shows strength
RSI above 50 (bullish momentum weakening)
Price increasing over the last 5 bars (up-trend exhaustion)
⚡ Why Tomb Works
Filters out weak signals using candle structure
Detects momentum shifts early
Works on all markets: Crypto, Forex, Indices, Stocks
Ideal for scalping, day trading, or swing trading
🎯 Purpose
To highlight the exact moments where the market shows exhaustion and is ready to reverse—before most traders see it.
📌 Recommended Use
For best performance:
Combine with trend tools such as EMA 200 or market structure
Look for signals at support/resistance or liquidity zones
SCOTTGO Advanced MACD🌟 Custom MACD: Enhanced Visuals & Crossover Signals
This indicator is a highly customized version of the traditional Moving Average Convergence Divergence (MACD) oscillator, designed to provide clear, immediate visual confirmation of signal line crossovers and zero-line crossings.
Core Features:
MACD Crossover Shadow Fill: The area between the MACD line and the Signal line is filled with a customizable shadow. This instantly visualizes whether the MACD is above (bullish crossover) or below (bearish crossover) the Signal line.
Signal Crossover Markers (Arrows & Dots):
Crossover Dot: A small, configurable solid dot is plotted exactly at the point where the MACD and Signal lines intersect, providing pinpoint accuracy for the crossover event.
Crossover Arrows: Customizable up (green) and down (red) arrows are plotted using a small numerical offset from the crossover point, ensuring visibility without cluttering the indicator lines.
Zero-Line Crossing Markers: Distinct, small markers (circles/diamonds) are used to signal when the MACD line crosses the zero line, indicating a shift in momentum relative to the baseline.
Customizable MA Type: The user can select either Exponential Moving Average (EMA) or Simple Moving Average (SMA) for both the MACD oscillator calculation and the signal line calculation.
This indicator is ideal for traders who rely on MACD crossovers and require precise, configurable visual feedback directly on the chart.
Liquidity Sweep + FVG Entry Model//@version=5
indicator("Liquidity Sweep + FVG Entry Model", overlay = true, max_labels_count = 500, max_lines_count = 500)
// Just to confirm indicator is loaded, always plot close:
plot(close, color = color.new(color.white, 0))
// ─────────────────────────────────────────────
// PARAMETERS
// ─────────────────────────────────────────────
len = input.int(5, "Liquidity Lookback")
tpMultiplier = input.float(2.0, "TP Distance Multiplier")
// ─────────────────────────────────────────────
// LIQUIDITY SWEEP DETECTION
// ─────────────────────────────────────────────
lowestPrev = ta.lowest(low, len)
highestPrev = ta.highest(high, len)
sweepLow = low < lowestPrev and close > lowestPrev
sweepHigh = high > highestPrev and close < highestPrev
// Plot liquidity levels
plot(lowestPrev, "Liquidity Low", color = color.new(color.blue, 40), style = plot.style_line)
plot(highestPrev, "Liquidity High", color = color.new(color.red, 40), style = plot.style_line)
// ─────────────────────────────────────────────
// DISPLACEMENT DETECTION
// ─────────────────────────────────────────────
bullDisp = sweepLow and close > open and close > close
bearDisp = sweepHigh and close < open and close < close
// ─────────────────────────────────────────────
// FAIR VALUE GAP (FVG)
// ─────────────────────────────────────────────
bullFVG = low > high
bearFVG = high < low
// we’ll store the last FVG lines
var line fvgTop = na
var line fvgBottom = na
// clear old FVG lines when new one appears
if bullFVG or bearFVG
if not na(fvgTop)
line.delete(fvgTop)
if not na(fvgBottom)
line.delete(fvgBottom)
// Bullish FVG box
if bullFVG
fvgTop := line.new(bar_index , high , bar_index, high , extend = extend.right, color = color.new(color.green, 60))
fvgBottom := line.new(bar_index , low, bar_index, low, extend = extend.right, color = color.new(color.green, 60))
// Bearish FVG box
if bearFVG
fvgTop := line.new(bar_index , low , bar_index, low , extend = extend.right, color = color.new(color.red, 60))
fvgBottom := line.new(bar_index , high, bar_index, high, extend = extend.right, color = color.new(color.red, 60))
// ─────────────────────────────────────────────
// ENTRY, SL, TP CONDITIONS
// ─────────────────────────────────────────────
var line slLine = na
var line tp1Line = na
var line tp2Line = na
f_deleteLineIfExists(line_id) =>
if not na(line_id)
line.delete(line_id)
if bullDisp and bullFVG
sl = low
tp1 = close + (close - sl) * tpMultiplier
tp2 = close + (close - sl) * (tpMultiplier * 1.5)
f_deleteLineIfExists(slLine)
f_deleteLineIfExists(tp1Line)
f_deleteLineIfExists(tp2Line)
slLine := line.new(bar_index, sl, bar_index + 1, sl, extend = extend.right, color = color.red)
tp1Line := line.new(bar_index, tp1, bar_index + 1, tp1, extend = extend.right, color = color.green)
tp2Line := line.new(bar_index, tp2, bar_index + 1, tp2, extend = extend.right, color = color.green)
label.new(bar_index, close, "BUY Entry FVG Retest SL Below Sweep",
style = label.style_label_up, color = color.new(color.green, 0), textcolor = color.white)
if bearDisp and bearFVG
sl = high
tp1 = close - (sl - close) * tpMultiplier
tp2 = close - (sl - close) * (tpMultiplier * 1.5)
f_deleteLineIfExists(slLine)
f_deleteLineIfExists(tp1Line)
f_deleteLineIfExists(tp2Line)
slLine := line.new(bar_index, sl, bar_index + 1, sl, extend = extend.right, color = color.red)
tp1Line := line.new(bar_index, tp1, bar_index + 1, tp1, extend = extend.right, color = color.green)
tp2Line := line.new(bar_index, tp2, bar_index + 1, tp2, extend = extend.right, color = color.green)
label.new(bar_index, close, "SELL Entry FVG Retest SL Above Sweep",
style = label.style_label_down, color = color.new(color.red, 0), textcolor = color.white)






















