Opening Range Breakout with VWAP & RSI ConfirmationThis indicator identifies breakout trading opportunities based on the Opening Range Breakout (ORB) strategy combined with intraday VWAP and higher timeframe RSI confirmation.
Opening Range: Calculates the high, low, and midpoint of the first 15 or 30 minutes (configurable) after your specified market open time.
Intraday VWAP: A volume-weighted average price calculated manually and reset daily, tracking price action throughout the trading day.
RSI Confirmation: Uses RSI from a user-selected higher timeframe (1H, 4H, or Daily) to confirm signals.
Buy Signal: Triggered when VWAP breaks above the Opening Range High AND the RSI is below or equal to the buy threshold (default 30).
Sell Signal: Triggered when VWAP breaks below the Opening Range Low AND the RSI is above or equal to the sell threshold (default 70).
Visuals: Plots Opening Range levels and VWAP on the chart with clear buy/sell markers and optional labels showing RSI values.
Alerts: Provides alert conditions for buy and sell signals to facilitate timely trading decisions.
This tool helps traders capture momentum breakouts while filtering trades based on momentum strength indicated by RSI.
Indicatori e strategie
Daily contextThis indicator automatically marks the Previous Day’s High and Low, as well as the market’s midnight opening price.
These levels are updated at the start of each new trading day and remain visible throughout the entire session.
By providing key daily reference points, the indicator helps establish a clear market context and allows traders to immediately understand where price is positioned relative to the previous day’s range and the daily open.
LSTM-Inspired BB Mean Reversion// ============================================================================
// BOLLINGER BANDS MEAN REVERSION STRATEGY
// Based on LSTM Model True Positive Signal Characteristics
// ============================================================================
// Model learned to identify:
// 1. Price at/below Lower Bollinger Band (100% of TP signals)
// 2. RSI < 30 (Oversold) (75% of TP signals)
// 3. High volatility (wide BB bands)
// 4. Below average volume (contrarian)
// ============================================================================
SMC IndicatorTitle: Smart Money Concepts Market Structure
Description: This is a technical analysis tool designed to map Market Structure using Smart Money Concepts (SMC) logic. Unlike standard ZigZag indicators that often clutter the chart with repainting lines, this script focuses on delivering a clean, objective view of Trend Structure (Highs/Lows) and Structural Breaks.
The Problem It Solves: Traders often struggle to identify the valid "Swing High" or "Swing Low" in real-time. This indicator automates that process using a non-repainting detection engine, helping traders objectively spot Trend Continuations (BoS) and Potential Reversals (CHoCH).
How It Works:
1. Pivot Detection (The ZigZag Engine): The script identifies Swing Points based on a user-defined Depth and Deviation %.
High (H): A peak is confirmed when price retraces by the deviation percentage.
Low (L): A trough is confirmed when price rallies by the deviation percentage.
Ghost Line: A dotted line connects the last confirmed pivot to the current live price, allowing you to visualize the developing structure before it locks in.
2. Structure Mapping: Once pivots are confirmed, the script analyzes price action relative to those points:
BoS (Break of Structure): Trend Continuation. Triggered when price breaks a confirmed pivot in the direction of the trend (e.g., breaking a Higher High in an uptrend).
CHoCH (Change of Character): Trend Reversal. Triggered when price breaks a major pivot in the opposite direction (e.g., breaking a Higher Low in an uptrend).
Visual Features:
Minimalist Design: Uses floating text labels (no background boxes) to keep price action visible.
Color Coded: Blue/Maroon for Continuation (BoS), Aqua/Orange for Reversal (CHoCH).
Settings Guide:
ZigZag Deviation %: Set this to 5.0 for Higher Timeframes (Daily/4H) or lower it to 0.2 - 0.5 for Intraday Scalping (1m/5m).
Ghost Line: Toggle on/off to see the real-time projection.
Alerts: Full alert support included for Bullish/Bearish BoS and CHoCH signals.
Credits: Logic based on standard Price Action and Market Structure theory.
CRUX-3 Macro Regime Index"CRUX-3 Macro Regime Index"
Description:
CRUX-3 Macro Regime Index is a higher-timeframe macro indicator designed to evaluate how crypto markets are performing relative to traditional equities. It compares Bitcoin, Ethereum, and the broader altcoin market (TOTAL3) against the S&P 500 using Z-score normalization to highlight periods of relative outperformance or underperformance.
The indicator incorporates liquidity-based regime detection using Bitcoin dominance and stablecoin dominance to classify market environments as Risk-On, BTC-Led, or Risk-Off. Background shading visually highlights these regimes, helping users identify broader macro conditions rather than short-term trade signals.
CRUX-3 is intended for macro context, regime awareness, and allocation bias decisions, not for precise trade entries or timing.
How to Use:
Weekly timeframe recommended for best results
Rising Z-scores indicate crypto outperforming equities
ETH/SPX typically acts as an early rotation signal
TOTAL3/SPX confirms broader altcoin participation
Regime shading reflects liquidity conditions, not price forecasts
Regime Definitions:
Risk-On: BTC dominance and stablecoin dominance declining
BTC-Led: BTC dominance strong while stablecoin dominance eases
Risk-Off: BTC dominance and stablecoin dominance rising
Notes:
Forward regime bands are statistical reference guides based on historical behavior
This indicator does not predict future prices or market direction
Best used alongside price charts and other macro tools
Disclaimer:
This indicator is for educational and informational purposes only. It does not constitute financial advice, investment advice, or trading recommendations.
Recommended Settings:
Timeframe: Weekly (1W)
Z-Score Lookback: 52
Forward Regime Bands: Enabled
Breakout/Breakdown DetectorBreakout/Breakdown Detector - Quick Overview
What it does:
This indicator automatically identifies when price breaks through key support or resistance levels, signaling potential trading opportunities.
Key Features:
📈 Breakout Detection - Alerts when price breaks ABOVE resistance (bullish signal)
📉 Breakdown Detection - Alerts when price breaks BELOW support (bearish signal)
🔊 Volume Confirmation - Optionally requires high volume to confirm the break (filters false signals)
📊 Visual Signals - Shows green triangles (breakout) and red triangles (breakdown) on chart
🎨 Support/Resistance Lines - Automatically draws key levels based on recent price action
Settings You Can Adjust:
Lookback Period (default 20) - How many candles back to find support/resistance
Volume Multiplier (default 1.5x) - How much volume needed to confirm
Breakout Threshold (default 0.5%) - How far price must break through the level
How to Use:
Add to any chart (stocks, crypto, forex, etc.)
Green triangle below bar = BUY signal (breakout)
Red triangle above bar = SELL signal (breakdown)
Set alerts to get notified automatically
Perfect for: Swing traders, breakout traders, and anyone who wants to catch momentum moves early! 🚀
Al Brooks - EMA20Instead of simply fetching data from the 60-minute or 15-minute charts, this script mathematically simulates the internal logic of those EMAs directly on your current timeframe.
Just for fun.
Multiple Horizontal Lines_SanHorizontal lines can be drawn with given coordinates with defined intervals
S&R Detector by Rakesh Sharma📊 Support & Resistance Auto-Detector
Automatically identifies key Support and Resistance levels with strength ratings
✨ Key Features:
🎯 Intelligent S/R Detection
Automatically finds Support and Resistance levels based on swing highs/lows
Shows strength rating (Very Strong, Strong, Medium, Weak)
Displays number of touches at each level
📅 Key Time-Based Levels
Previous Day High/Low (PDH/PDL) - Blue lines
Previous Week High/Low (PWH/PWL) - Purple lines
Optional Round Numbers for psychological levels
⚙️ Fully Customizable
Adjust sensitivity (5-20 pivot length)
Filter by minimum touches (1-10)
Control maximum levels displayed (3-20)
Optional S/R zones (shaded areas)
📊 Live Dashboard
Shows nearest Support/Resistance
Distance to key levels
Total S/R levels detected
🔔 Smart Alerts
PDH/PDL breakout signals
Visual markers on chart
Perfect for: Intraday traders, Swing traders, Price action analysis
Ripster Clouds + Saty Pivot + RVOL + Trend1. Ripster EMA Clouds (local + higher timeframe)
Local timeframe (your chart TF):
Plots up to 5 EMA clouds (8/9, 5/12, 34/50, 72/89, 180/200 – configurable).
Each cloud is:
One short EMA and one long EMA.
A filled band between them.
Color logic:
Cloud is bullish when short EMA > long EMA (green/blue-ish tone).
Bearish when short EMA < long EMA (red/orange/pink tone).
You can choose:
EMA vs SMA,
Whether to show the lines,
Per-cloud toggles.
MTF Clouds:
Two higher-timeframe EMA clouds:
Cloud 1: 50/55
Cloud 2: 20/21
Computed on a higher TF (default D, but configurable).
Show as thin lines + transparent bands.
Used for:
Visual higher-TF trend,
Optional signal filter (MTF must agree for trades).
2. Saty Pivot Ribbon (time-warped EMAs)
This is basically your Saty Pivot Ribbon integrated:
Uses a “Time Warp” setting to overlay EMAs from another timeframe.
EMAs:
Fast, Pivot, Slow (defaults 8 / 21 / 34).
Clouds:
Fast cloud between fast & pivot EMAs.
Slow cloud between pivot & slow EMAs.
Bullish/bearish colors are distinct from Ripster colors.
Optional highlights:
Can highlight fast/pivot/slow lines separately.
Conviction EMAs:
13 and 48 EMAs (configurable).
When fast conviction EMA crosses over/under slow:
You get triangle arrows (bullish/bearish conviction).
Bias candles:
If enabled, candles are recolored based on:
Price vs Bias EMA,
Candle up/down/doji,
So you see bullish/bearish “bias” directly in candle colors.
3. DTR vs ATR panel (range vs average)
In a small table panel (bottom-center by default):
Computes higher-TF ATR (default 14, TF auto D/W/M, smoothing type selectable).
Measures current range (high–low) on that TF.
Displays:
DTR: X vs ATR: Y Z% (+/-Δ% vs prev)
Where:
Z% = current range / ATR * 100.
Δ% = change vs previous bar’s Z%.
Background color:
Greenish for low move (<≈70%),
Red for high move (≥≈90%),
Yellow in between,
Slightly dimmed when price is below bias EMA.
This tells you: “Is today an average, quiet, or explosive day compared to normal?”
4. SMA Divergence panel
Separate histogram & line panel:
Fast and slow SMAs (default 14 & 30).
Computes price divergence vs SMA in %:
% above/below slow SMA,
% above/below fast SMA.
Shows:
Slow SMA divergence as a semi-transparent column,
Fast SMA divergence as a solid column on top,
EMA of the slow divergence (trend line) colored:
Blue when rising,
Orange/red when falling.
Static upper/lower bands with fill, plus optional zero line.
This gives you a feel for how stretched price is vs its anchors.
5. RVOL table (relative volume)
Small 3×2 table (bottom-right by default):
Inputs:
Average length (default 50 bars),
Optionally show previous candle RVOL.
Calculates:
RVOL now = volume / avg(volume N bars) * 100,
RVOL prev,
RVOL momentum (now – prev) for data window only.
Table columns:
Candle Vol,
RVOL (Now),
RVOL (Prev).
Colors:
200% → “high RVOL” color,
100–200% → “medium RVOL” color,
<100% → “low RVOL” color,
Slightly dimmer if price is below bias EMA.
This is used both visually and optionally as a signal filter (e.g., only trade when RVOL ≥ threshold).
6. Trend Dashboard (Price + 34/50 + 5/12)
Top-right trend box with 3 rows:
Price Action row:
Uses either Bias EMA or custom EMA on close to say:
Bullish (close > trend EMA),
Bearish (close < trend EMA),
Flat.
Ripster 34/50 Cloud row:
Uses 34/50 EMAs: bullish if 34>50, bearish if 34<50.
Ripster 5/12 Cloud row:
Uses 5/12 EMAs: bullish if 5>12, bearish if 5<12.
Then it does a vote:
Counts bullish votes (Price, 34/50, 5/12),
Counts bearish votes,
Depending on mode:
Majority (2 of 3) or Strict (3 of 3).
Output:
Overall Bullish / Bearish / Sideways.
You also get an optional label on the chart like
Overall: Bullish trend with color, and an optional background tint (green/red for bull/bear).
7. VWAP + Buy/Sell Signals
VWAP is plotted as a white line.
Fast “trend” cloud mid: average of 5 & 12 EMAs.
Slow “trend” cloud mid: average of 34 & 50 EMAs.
Buy condition:
5/12 crosses above 34/50 (bullish cloud flip),
Price > VWAP,
Optional filter: MTF Cloud 1 bullish (50/55 on higher TF),
Optional filter: RVOL >= threshold.
Sell condition:
5/12 crosses below 34/50,
Price < VWAP,
Optional same filters but bearish.
When conditions are met:
Plots BUY triangle up below price (distinct teal/green tone).
Plots SELL triangle down above price (distinct magenta/orange tone).
Alert conditions are defined for:
BUY / SELL signals,
Overall Bullish / Bearish / Sideways change,
MTF Cloud 1 trend flips.
8. Data Window metrics
For easy backtesting / inspection via TradingView’s data window, it exposes:
DTR% (Current) and DTR% Momentum,
RVOL% (Now), RVOL% (Prev), RVOL% Momentum.
TL;DR – What does this script do for you?
It turns your chart into a multi-framework trend and momentum dashboard:
Ripster EMA clouds for short/medium trend & S/R.
Saty Ribbon for higher-TF pivot structure and conviction.
RVOL + DTR/ATR for context (is this a big and well-participated move?).
SMA divergence panel for overextension/stretch.
A compact trend table that tells you Price vs 34/50 vs 5/12 in one glance.
Buy/Sell markers + alerts when:
short-term Ripster trend (5/12) flips over/under medium (34/50),
price agrees with VWAP,
plus optional filters (MTF trend and / or RVOL).
Basically: it’s a trend + confirmation + context system wrapped into one indicator, with most knobs configurable in the settings.
Squeeze Momentum OscillatorTitle: Squeeze Momentum Oscillator
Description: This indicator is a panel-based oscillator designed to visualize the relationship between market volatility and momentum. Based on the classic TTM Squeeze concept, it helps traders identify periods of consolidation ("The Squeeze") and the subsequent release of energy ("The Breakout").
Originality & Enhancements: Standard squeeze oscillators only show when a squeeze fires (turning from red to green). This enhanced version adds a specific Breakout Validation layer. It changes the center-line dot color to Fuchsia or Blue only if the squeeze release is confirmed by the slope of the 20-period Moving Average, filtering out weak or false fires.
How It Works:
1. The Center Line (Volatility State): The dots along the zero line tell you the current volatility condition:
🔴 Red Dot: Squeeze ON. Bollinger Bands are inside Keltner Channels. Volatility is compressed. The market is charging up.
🟣 Fuchsia Dot: Bullish Breakout. The squeeze has fired upward, and the underlying trend (20 SMA slope) is positive.
🔵 Blue Dot: Bearish Breakout. The squeeze has fired downward, and the underlying trend (20 SMA slope) is negative.
🟢 Green Dot: Squeeze OFF. Normal volatility conditions.
2. The Histogram (Momentum): The bars indicate the strength and direction of the price movement using Linear Regression logic:
Cyan/Green: Bullish momentum. (Darker = weakening).
Red/Maroon: Bearish momentum. (Darker = weakening).
Visual Guide:
Setup: Wait for a series of Red Dots.
Trigger: Look for the first Fuchsia (Bullish) or Blue (Bearish) dot accompanied by an expanding Histogram in the same direction.
Settings:
Feature Toggle: You can turn the "Breakout Colors" (Fuchsia/Blue) on or off if you prefer the classic look.
Sensitivity: Fully customizable lengths and multipliers for Bollinger Bands and Keltner Channels.
Credits: Based on the foundational TTM Squeeze oscillator logic. Linear regression momentum calculation adapted from standard open-source methods. Breakout validation logic added for enhanced reliability.
Al Brooks - Bar CountIndicator Purpose:
This indicator displays bar counts on the chart to help traders identify important time nodes and cycle transitions
Features smart session filtering with automatic futures/stock detection and appropriate trading session counting
Core Features:
Smart asset detection: Auto-detect futures and stocks
Session filter toggle: Choose all-day or session-specific counting
Auto timezone handling: Chicago time for futures, NY time for stocks
Flexible display control: Customizable display frequency and label size
Session Settings:
8:30-15:15 (CT) / Futures mode: Chicago time 8:30-15:15 (CT)
9:30-16:00 (ET) / Stock mode: New York time 9:30-16:00 (ET)
All-day mode: Count from first bar of the day
Timeframe Correspondence:
Multiples of 3: Correspond to 15-minute chart update cycles
Multiples of 12: Correspond to 1-hour chart update cycles
18: Key nodes, important time turning points
MNO_2Step_Strategy_MOU_KAKU (Publish-Clear)//@version=5
strategy("MNO_2Step_Strategy_MOU_KAKU (Publish-Clear)", overlay=true, pyramiding=0,
max_labels_count=500, max_lines_count=500,
initial_capital=100000,
default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// =========================
// 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")
showMouLabels = input.bool(true, "Show MOU/MOU-B labels")
showKakuLabels = input.bool(true, "Show KAKU labels")
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
// =========================
// 必ず決済が起きる設定(投稿クリア用)
// =========================
enableTPSL = input.bool(true, "Enable TP/SL")
tpPct = input.float(2.0, "Take Profit (%)", step=0.1, minval=0.1) // ←投稿クリア向けに近め
slPct = input.float(1.0, "Stop Loss (%)", step=0.1, minval=0.1) // ←投稿クリア向けに近め
maxHoldBars = input.int(30, "Max bars in trade (force close)", minval=1)
entryMode = input.string("MOU or KAKU", "Entry trigger", options= )
// ✅ 保険:トレード0件を避ける(投稿クリア用)
// 1回でもクローズトレードができたら自動で沈黙
publishAssist = input.bool(true, "Publish Assist (safety entry if 0 trades)")
// =========================
// 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
// =========================
// Entry (strategy)
// =========================
entrySignal = entryMode == "KAKU only" ? kaku : (mou or kaku)
canEnter = strategy.position_size == 0
newEntryKaku = canEnter and kaku and entrySignal
newEntryMouB = canEnter and (not kaku) and mou_breakout and entrySignal
newEntryMou = canEnter and (not kaku) and mou_pullback and entrySignal
// --- Publish Assist(保険エントリー) ---
// 条件が厳しすぎて「トレード0件」だと投稿時に警告が出る。
// closedtradesが0の間だけ、軽いEMAクロスで1回だけ拾う(その後は沈黙)。
assistFast = ta.ema(close, 5)
assistSlow = ta.ema(close, 20)
assistEntry = publishAssist and strategy.closedtrades == 0 and canEnter and ta.crossover(assistFast, assistSlow)
// 実エントリー
if newEntryKaku or newEntryMouB or newEntryMou or assistEntry
strategy.entry("LONG", strategy.long)
// ラベル(視認)
if showMouLabels and newEntryMou
label.new(bar_index, low, "猛(IN)", style=label.style_label_up, color=color.new(color.lime, 0), textcolor=color.black)
if showMouLabels and newEntryMouB
label.new(bar_index, low, "猛B(IN)", style=label.style_label_up, color=color.new(color.lime, 0), textcolor=color.black)
if showKakuLabels and newEntryKaku
label.new(bar_index, low, "確(IN)", style=label.style_label_up, color=color.new(color.yellow, 0), textcolor=color.black)
if assistEntry
label.new(bar_index, low, "ASSIST(IN)", style=label.style_label_up, color=color.new(color.aqua, 0), textcolor=color.black)
// =========================
// Exit (TP/SL + 強制クローズ)
// =========================
inPos = strategy.position_size > 0
tpPx = inPos ? strategy.position_avg_price * (1.0 + tpPct/100.0) : na
slPx = inPos ? strategy.position_avg_price * (1.0 - slPct/100.0) : na
if enableTPSL
strategy.exit("TP/SL", from_entry="LONG", limit=tpPx, stop=slPx)
// 最大保有バーで強制決済(これが「レポート無し」回避の最後の保険)
var int entryBar = na
if strategy.position_size > 0 and strategy.position_size == 0
entryBar := bar_index
if strategy.position_size == 0
entryBar := na
forceClose = inPos and not na(entryBar) and (bar_index - entryBar >= maxHoldBars)
if forceClose
strategy.close("LONG")
// =========================
// 利確/損切/強制クローズのラベル
// =========================
closedThisBar = (strategy.position_size > 0) and (strategy.position_size == 0)
avgPrev = strategy.position_avg_price
tpPrev = avgPrev * (1.0 + tpPct/100.0)
slPrev = avgPrev * (1.0 - slPct/100.0)
hitTP = closedThisBar and high >= tpPrev
hitSL = closedThisBar and low <= slPrev
// 同一足TP/SL両方は厳密に判断できないので、表示は「TP優先」で簡略(投稿ギリギリ版)
if hitTP
label.new(bar_index, high, "利確", style=label.style_label_down, color=color.new(color.lime, 0), textcolor=color.black)
else if hitSL
label.new(bar_index, low, "損切", style=label.style_label_up, color=color.new(color.red, 0), textcolor=color.white)
else if closedThisBar and forceClose
label.new(bar_index, close, "時間決済", style=label.style_label_left, color=color.new(color.gray, 0), textcolor=color.white)
// =========================
// Signals (猛/猛B/確)
// =========================
plotshape(showMouLabels and mou_pullback and not kaku, title="MOU_PULLBACK", style=shape.labelup, text="猛",
color=color.new(color.lime, 0), textcolor=color.black, location=lblLoc, size=size.tiny)
plotshape(showMouLabels and mou_breakout and not kaku, title="MOU_BREAKOUT", style=shape.labelup, text="猛B",
color=color.new(color.lime, 0), textcolor=color.black, location=lblLoc, size=size.tiny)
plotshape(showKakuLabels and kaku, 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")
alertcondition(assistEntry, title="MNO_ASSIST_ENTRY", message="MNO: ASSIST ENTRY (publish safety)")
// =========================
// Status label(最終足に必ず表示)
// =========================
var label status = na
if showStatusLbl and barstate.islast
label.delete(status)
statusTxt =
"MNO RUNNING " +
"ClosedTrades: " + str.tostring(strategy.closedtrades) + " " +
"BaseTrend: " + (baseTrendOK ? "OK" : "NO") + " " +
"MOU: " + (mou ? "YES" : "no") + " (猛=" + (mou_pullback ? "Y" : "n") + " / 猛B=" + (mou_breakout ? "Y" : "n") + ") " +
"KAKU: " + (kaku ? "YES" : "no") + " " +
"VolRatio: " + (na(volRatio) ? "na" : str.tostring(volRatio, format.mintick)) + " " +
"Pull%: " + (na(pullbackPct) ? "na" : str.tostring(pullbackPct, format.mintick)) + " " +
"Pos: " + (inPos ? "IN" : "OUT")
status := label.new(bar_index, high, statusTxt, style=label.style_label_left, textcolor=color.white, color=color.new(color.black, 0))
// =========================
// Debug table(最終足のみ)
// =========================
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("AssistEntry", assistEntry, 11)
fRow("ClosedTrades>0", strategy.closedtrades > 0, 12)
Ultimate Squeeze & BreakoutTitle: Ultimate Squeeze & Breakout
Description: This indicator is a volatility analysis tool designed to identify periods of market compression ("The Squeeze") and validate subsequent breakouts using momentum logic. It builds upon the classic relation between Bollinger Bands and Keltner Channels but adds a directional filter to reduce false signals.
The Problem It Solves: Standard squeeze indicators often signal a breakout the moment price exits the bands, even if the underlying trend is weak or flat. This can lead to entering "wicks" or fakeouts. This script solves this by requiring the Basis Line Slope to align with the breakout direction before generating a signal.
How It Works:
1. Compression (The Setup) The script monitors the relationship between Bollinger Bands (Standard Deviation) and Keltner Channels (ATR).
Red Cloud: When the Bollinger Bands contract completely inside the Keltner Channels, it indicates a critical drop in volatility. The market is coiling and storing energy.
2. The Momentum Filter (The Validation) Unlike basic squeeze indicators, a breakout is not signaled solely by price closing outside the bands.
Logic: The script calculates the slope of the 20-period Basis Line (Simple Moving Average).
Bullish Validation: Price > Upper Band AND Basis Line is sloping UP.
Bearish Validation: Price < Lower Band AND Basis Line is sloping DOWN.
Visual Guide:
🟥 Red Cloud: Squeeze ON. Volatility is compressed. Do not trade; wait for expansion.
🟣 Fuchsia Cloud: Bullish Breakout (Price released upward + Positive Momentum).
🔵 Blue Cloud: Bearish Breakout (Price released downward + Negative Momentum).
⬜ Gray/Green Cloud: Standard Trending phase (Volatility is normal).
Features:
Precision Inputs: Multipliers for Standard Deviation and ATR can be adjusted in 0.01 increments for fine-tuning sensitivity.
Visual Toggles: Option to color the neutral trending cloud Green or Gray based on preference.
Alerts: Built-in alerts for "Squeeze Started" and validated "Bullish/Bearish Breakouts."
Credits: Core mechanics based on the TTM Squeeze concept popularized by John Carter. Momentum filtering logic added for enhanced signal reliability.
Sinals 15m - RSI 7 e 9This strategy is designed to capture continuation moves on the 15-minute chart by combining trend filters, momentum indicators, and strong-candle confirmation. The core idea is to enter trades shortly after EMA crossovers that signal direction, as long as momentum and candle strength support the move.
Directional Movement Index (SHADED)Shaded red in between DMI lines when DMI- > DMI+
Shaded blue in between DMI lines when DMI+ > DMI-
Simple Gap IndicatorTitle: Simple Gap Indicator
Description: This is a utility script designed to automate the tracking and management of price gaps (also known as "Windows") on the chart. Unlike static drawings, this indicator dynamically monitors open gaps and automatically "closes" them (stops drawing) once price has filled the area, keeping your chart clean and focused on active levels only.
Why Use This Tool? Traders often mark gaps manually, but charts quickly become cluttered with old, invalid levels. This script solves that problem by using an array-based management system to track every open gap in real-time and remove it the moment it is invalidated by price action.
Technical Methodology:
Gap Detection: The script identifies "Full Gaps" where the Low of the current candle is higher than the High of the previous candle (Bullish), or vice versa (Bearish). This indicates a total disconnect in price delivery.
Dynamic Filtering:
ATR Filter: Users can filter out insignificant "noise" gaps by setting a minimum size threshold based on the Average True Range (ATR).
Time Filter: Option to restrict gap detection to specific session hours (e.g., ignoring overnight gaps on 24h charts).
Auto-Closure: The script loops through all active gaps on every new bar. If the current price wick touches an open gap, the box is visually terminated at that specific bar index and removed from the tracking array.
Visuals:
Green Box: Bullish Gap (Support Zone).
Red Box: Bearish Gap (Resistance Zone).
Labels: Optional text displaying the precise Top/Bottom price coordinates of the gap.
How to Use:
Enable "Auto-Close Gap on Retest" to keep your chart clean.
Use the ATR Filter if you are getting too many signals on lower timeframes (e.g., set to 0.5x ATR).
Set alerts for "New Gap" or "Gap Filled" to automate your workflow.
Credits: Calculations based on standard Gap/Window price action theory. Array management logic custom-coded for Pine Script v6.
WOLFGATEWOLFGATE is a clean, session-aware market structure and regime framework designed to help traders contextualize price action using widely accepted institutional references. The indicator focuses on structure, momentum alignment, and mean interaction, without generating trade signals or predictions.
This script is built for clarity and decision support. It provides a consistent way to evaluate market conditions across different environments while remaining flexible to individual trading styles.
What This Indicator Displays
Momentum & Structure Averages
9 EMA — Short-term momentum driver
21 EMA — Structural control and trend confirmation
200 SMA — Primary regime boundary
400 SMA (optional) — Deep regime / macro bias reference
These averages are intended to help assess directional alignment, trend strength, and structural consistency.
Session VWAP (Institutional Mean)
Session-based VWAP with a clean daily reset
Default session: 09:30–16:00 ET
Uses HLC3 as the VWAP source for balanced price input
Rendered in a high-contrast institutional blue for visibility
VWAP can be used to evaluate mean interaction, acceptance, or rejection during the active session.
How to Use WOLFGATE
This framework is designed for context, not signals.
Traders may use WOLFGATE to:
Identify bullish or bearish market regimes
Evaluate momentum alignment across multiple time horizons
Observe price behavior relative to VWAP
Maintain directional bias during trending conditions
Avoid low-quality conditions when structure is misaligned
The indicator does not generate buy or sell signals and does not include alerts or automated execution logic.
Important Notes
Volume must be added separately using TradingView’s built-in Volume indicator
(Volume cannot be embedded directly into this script due to platform limitations.)
This script is intended for educational and analytical purposes only
No financial advice is provided
Users are responsible for their own risk management and trade decisions
ADX Cloud StyleThis custom indicator visualizes the Directional Movement Index (DMI) system to help identify trend direction and intensity:
Histogram: Displays the net momentum (calculated as DI+ minus DI-). Green bars indicate that buyers are in control (bullish), while red bars indicate sellers are in control (bearish). The height of the bars represents the strength of that dominance.
Cloud (Fill): Shading between the DI+ and DI- lines. It provides a visual backdrop for the trend: green shading for an uptrend and red shading for a downtrend.
Blue Line (ADX): Measures the absolute strength of the trend, regardless of direction. A rising blue line suggests the current trend (whether up or down) is gaining strength, while a falling line suggests consolidation or a weakening trend.
Tailwind (XMR)Tailwind is a staggered level breakout strategy (Grid Breakout), apparently designed to trade Monero (XMR), although the logic can be applied to any asset.
In this case, traditional indicators are not used. Instead, the price is divided into a grid based on a step size (step_size), which defaults to 27 points.
The strategy looks for the exact moment when the price "breaks out" or crosses upward one of these invisible steps (since there is an upward bias). It buys if the current candle closed above the step, but the previous candle closed below that same level. In other words, it detects when the price crosses a grid line.
Once it enters a trade (buy), it sets fixed and symmetric targets based on the step size.
• Entry: The price of the base level (the multiple of 27) is assumed.
• Take Profit: entry_level + step_size. It aims to gain exactly one step upward.
• Stop Loss: entry_level - step_size. It cuts losses if the price falls exactly one step downward.
The code includes advanced visual logic (line.new and line.set_x2):
• When a trade is opened, it draws a dashed green line on the chart indicating where your Take Profit is.
• It draws a dashed red line indicating your Stop Loss.
• These lines extend to the right as long as the trade remains open.
Capital Configuration
• Initial Capital: 20,000 USDT (or the base currency).
• Position Size: Risks 10% of your total capital on each trade.
• Commission: Simulates a 0.1% cost per trade.
FTSE Santa - Late Dec 12d (Optimised Exit)Simple Santa Rally Strategy. Once a year, in late December, it waits for a sensible (non-spiky) day to get long FTSE, then either stops out around −4%, gets trailed out in profit if it rallies, or exits after about 12 trading days.






















