Chart-Muster
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.
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.
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)
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
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条件+最終三点)")
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)
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 모멘텀을 보조 필터로 사용하여 돌파 및 되돌림 가능성을 판단합니다.
시장 변동성이 축소되거나 평균회귀 신호가 감지될 때 청산 시그널을 표시합니다.
삼각형(진입), 원형(청산) 등 직관적 시각 요소를 통해 빠른 의사결정을 지원합니다.
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")
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.
Abyss Protocol OneAbyss Protocol One — Momentum Exhaustion Trading System
Overview
Abyss Protocol One is a momentum exhaustion indicator designed to identify high-probability reversal points by detecting when price momentum has reached extreme levels. It combines Chande Momentum Oscillator (CMO) threshold signals with dynamic volatility-adjusted bands and multiple protective filters to generate buy and sell signals.
Core Concept
The indicator operates on the principle that extreme momentum readings (CMO reaching ±80) often precede mean reversion. Rather than chasing trends, Abyss Protocol waits for momentum exhaustion before signaling entries and exits.
Key Components
1. Dynamic Bands (Money Line ± ATR)
Center line uses linear regression (Money Line) for smooth trend representation
Bands expand and contract based on Bollinger Band Width Percentile (BBWP)
Low volatility (BBWP < 30): Tighter bands using lower multiplier
High volatility (BBWP > 70): Wider bands using higher multiplier
Bands visually adapt to current market conditions
2. CMO Exhaustion Signals
BUY Signal: CMO drops below -80 (oversold/momentum exhaustion to downside)
SELL Signal: CMO rises above +80 (overbought/momentum exhaustion to upside)
Thresholds are configurable for different assets and timeframes
3. ADX Filter
Signals only fire when ADX exceeds minimum threshold (default: 22)
Ensures there's enough directional movement to trade
Prevents signals during choppy, directionless markets
4. Band Contraction Filter
Calculates band width percentile rank over configurable lookback
When bands are contracted (below 18th percentile), ALL signals are blocked
Prevents trading during low-volatility squeeze periods where breakout direction is uncertain
5. Consecutive Buy Limit
Maximum of 3 consecutive buys allowed before a sell is required
Prevents overexposure during extended downtrends
Counter resets when a sell signal fires
6. Underwater Protection
Tracks rolling average of recent entry prices (last 10 entries within 7 days)
Blocks sell signals if current price is below average entry price
Prevents locking in losses during drawdowns
7. Signal Cooldown
Minimum 5-bar cooldown between signals
Prevents rapid-fire signals during volatile swings
8. Extreme Move Detection
Detects when price penetrates beyond bands by more than 0.6 × ATR
Extreme signals can bypass normal cooldown period
Fire intra-bar for faster response to capitulation/blow-off moves
Still respects max consecutive buys and underwater protection
Visual Features
Trend State Detection
The indicator classifies market conditions into six states based on EMA stack, price position, and directional indicators:
STRONG UP: Full bullish alignment (EMA stack + price above trend + bullish DI + ADX > threshold)
UP: Moderate bullish conditions
NEUTRAL: No clear directional bias
DOWN: Moderate bearish conditions
STRONG DOWN: Full bearish alignment
CONTRACTED: Bands squeezed, volatility low
ADX Trend Bar
Colored dots at chart bottom provide instant trend state visibility:
Lime = Strong Uptrend
Blue = Uptrend
Orange = Neutral
Red = Downtrend
Maroon = Strong Downtrend
White = Contracted
Volume Spike Highlighting
Purple background highlights candles where volume exceeds 2x the 20-bar average, helping identify institutional activity or significant market events.
Signal Labels
Buy labels show consecutive buy count (e.g., "BUY 2/3"), price, and CMO value
Sell labels show consecutive sell count, price, and CMO value
Extreme signals display in distinct colors (cyan for buys, fuchsia for sells)
Signal candles turn bright blue for easy identification
Info Panel
Real-time dashboard displaying:
Current trend state
CMO value with threshold status
CMO thresholds (buy/sell levels)
ADX with directional indicator (▲/▼) and signal eligibility
BBWP percentage
Buy/Sell counters
Average entry price (with underwater shield indicator 🛡 when protected)
Price position relative to Money Line
Band width percentile rank
Extreme move status
Signals status (OPEN/BLOCKED)
Recommended Use
Timeframe: 5-15 minute charts (parameters tuned for this range)
Best suited for: Assets with regular oscillations between overbought/oversold extremes
Trading style: Mean reversion, momentum exhaustion, scaled entries
Parameters Summary
Money Line Length: 12 — Smoothing for center line
ATR Length: 10 — Volatility measurement
Band Multiplier (Low/High Vol): 1.5 / 2.5 — Dynamic band width
CMO Length: 9 — Momentum calculation period
CMO Buy/Sell Threshold: -80 / +80 — Signal trigger levels
ADX Min for Signals: 22 — Minimum trend strength
Signal Cooldown: 5 bars — Minimum bars between signals
Max Consecutive Buys: 3 — Position scaling limit
Band Contraction Threshold: 18th %ile — Low volatility filter
Band Contraction Lookback: 188 bars — Percentile calculation period
Extreme Penetration: 0.6 × ATR — Threshold for extreme signals
MA 50/150 Status Light לקראת שנת 2026. בודק האם אנחנו נמצאים מעל ממוצע 150 ו 50 האם בין והאם מתחת
במידה ואנחנו מעל אז מצב המניה חזק
במידה ובין אז סימן אזהרה, החלשות המניה
במידה ומתחת אז מניה חלשה
“Heading into 2026, we check whether the price is above the 50-day and 150-day moving averages, between them, or below them.
If the price is above both, the stock is in a strong condition.
If the price is between them, it is a warning sign — the stock is weakening.
If the price is below both, the stock is weak.”
XAUUSD Session Move Stats (Last 14 Days)This indicator analyzes Gold (XAUUSD) session behavior over the last 14 days and calculates how price typically moves during the Asia, London, and New York sessions.
For each session, it shows:
Average Max Up (%) – how far price moves up from session open
Average Max Down (%) – how far price moves down from session open
Average Net Close (%) – where price typically finishes relative to the session open
The data is calculated session-by-session and displayed in a table, helping traders understand session bias, volatility tendencies, and directional behavior.
Best used on intraday timeframes for session-based analysis and contextual trade planning (signals only, no automated trades).
Volatility High/Low Projection (PHOD / PLOD)AP Capital – Volatility + High/Low Projection
This indicator is designed to identify high-probability intraday turning points by combining daily range statistics, session behaviour, and volatility context into a single clean framework.
It is built for index, forex, and metals traders who want structure, not noise.
🔹 Core Features
1️⃣ Potential High of Day (PHOD) & Potential Low of Day (PLOD)
The indicator highlights likely intraday extremes based on:
Session timing (Asia, London, New York)
Current day volatility vs historical averages
Prior day expansion or compression behaviour
Each level is displayed with:
A clear label (PHOD / PLOD)
A forward-extending box acting as a live Point of Interest (POI)
Automatic invalidation when price breaks the zone
2️⃣ Volatility & Range Context (Info Panel)
A compact information panel in the top-right corner provides real-time context without cluttering the chart:
20-Day Average Range
% of the average range already used today
Range status (NORMAL / EXHAUSTED)
Average session ranges for:
Asia
London
New York
This allows traders to immediately assess whether price is:
Early in the day with room to trend
Statistically stretched and prone to reversal
Over-extended where breakout chasing is risky
3️⃣ Session-Aware Logic
The model respects how markets behave across the trading day:
Asia favours accumulation and potential lows
London provides expansion
New York often delivers distribution or exhaustion
This prevents random high/low marking and focuses only on structurally meaningful levels.
🧠 How to Use
Use PHOD / PLOD boxes as reaction zones, not blind entries
Combine with your own confirmation (structure break, momentum, volume, EMA reclaim, etc.)
Avoid chasing trades when the Range Status = EXHAUSTED
Particularly effective on 15m – 1h timeframes
⚠️ Important Notes
This indicator does not repaint
It is contextual, not a buy/sell signal generator
Best used as part of a complete trading plan
📈 Suitable Markets
XAUUSD (Gold)
Indices (NASDAQ, S&P 500, DAX)
Major FX pairs
📌 Disclaimer
This indicator is for educational and analytical purposes only.
It does not constitute financial advice. Trading involves risk.
CRS (2 symbols: Ratio or Normalized) + InverseMade for Crosrate comparison By Leo Hanhart
This script is made to do a comparison between two assets under your current chart.
For example if you want to compare SPX over Growth ETF's Below a current asset to find momentum in your stock trading above it
new takesi_2Step_Screener_MOU_KAKU_FIXED4 (Visible)//@version=5
indicator("MNO_2Step_Screener_MOU_KAKU_FIXED4 (Visible)", 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")
// ★ここを改善:デバッグ表はデフォルトON
showDebugTbl = input.bool(true, "Show debug table (last bar)")
// ★稼働確認ラベル(最終足に必ず出す)
showStatusLbl = input.bool(true, "Show status label (last bar always)")
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(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 (猛 / 猛B / 確)
// =========================
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)
// =========================
// ★稼働確認:最終足に必ず出すステータスラベル
// =========================
var label status = na
if showStatusLbl and barstate.islast
label.delete(status)
statusTxt =
"MNO RUNNING " +
"MOU: " + (mou ? "YES" : "no") + " (pull=" + (mou_pullback ? "Y" : "n") + " / brk=" + (mou_breakout ? "Y" : "n") + ") " +
"KAKU: " + (kaku ? "YES" : "no") + " " +
"BaseTrend: " + (baseTrendOK ? "OK" : "NO") + " " +
"MACD(mou): " + (macdMouOK ? "OK" : "NO") + " / MACD(zeroGC): " + (macdGCAboveZero ? "OK" : "NO") + " " +
"Vol: " + (na(volRatio) ? "na" : str.tostring(volRatio, format.mintick)) + " " +
"Pull%: " + (na(pullbackPct) ? "na" : str.tostring(pullbackPct, format.mintick))
status := label.new(bar_index, high, statusTxt, style=label.style_label_left,
textcolor=color.white, color=color.new(color.black, 0))
// =========================
// 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
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)
Asian Sweep Strat by MindEdgeThe idea with the indicator is to highlight the asian range, so when price goes below or above it during frankfurt and london open overlap, we can trade price to the opposite direction
BALA'S Indicator - Dynamic + 5-Min + Pre-Market LevelsINTRADAY Strategy on Nifty with 15min Candle Setup.
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.






















