SCOTTGO - RSI Divergence IndicatorRSI Divergence Indicator
This indicator combines the Relative Strength Index (RSI) with an automatic divergence detection system.
It is designed to help traders spot potential trend changes by:
Color-Coded RSI: The main RSI line dynamically changes color (e.g., green/red) above and below a user-defined threshold (default 50) to highlight strong or weak momentum instantly.
Divergence Signals: It automatically identifies and plots four types of RSI divergences (Regular Bullish, Hidden Bullish, Regular Bearish, and Hidden Bearish) between the price and the oscillator.
Custom Alerts: Includes alerts for all divergence types so you can be notified when a new signal is found.
This tool helps visualize momentum shifts and potential reversals in the market.
Chỉ báo và chiến lược
SCOTTGO - Buy Sell Volume📊 SCOTTGO - Buy Sell Volume Bars - Delta - Up Down Volume Bars
This indicator disaggregates the total volume traded on each bar into estimated Buying Volume and Selling Volume to visualize market pressure and dominance directly in a dedicated sub-pane.
Key Features:
Volume Disaggregation: Uses a standard formula to estimate how much of a bar's total volume was associated with upward (buying) pressure and how much was associated with downward (selling) pressure.
Visual Clarity: Plots the Buy Volume (teal, upward) and Sell Volume (red, downward) as separate columns against a transparent total volume background, allowing for quick assessment of pressure balance.
Real-Time Badge: A dynamic badge is fixed to the corner of the chart (default: Top Right) providing a numeric summary of the latest bar:
Buy %: Percentage of the bar's total volume estimated as Buying Volume.
Sell %: Percentage of the bar's total volume estimated as Selling Volume.
Delta %: The magnitude of the volume difference (Delta) as a percentage of total volume, indicating the strength of the dominant side.
Dominance Indicator: The background color of the badge changes dynamically to immediately signal whether Buying (customizable color, default: Teal) or Selling (customizable color, default: Red) pressure was dominant on the current bar.
Usage:
Traders can use this tool to identify periods of heavy accumulation (high Buy Volume) or distribution (high Sell Volume), providing insight into the conviction behind price movements.
Pivot Points High LowGaneshA Pivot Points High/Low indicator that:
Detects swing highs (ta.pivothigh) and swing lows (ta.pivotlow) using configurable left/right bar lengths.
Draws labels at the confirmed pivot points:
Down labels at pivot highs (potential resistance).
Up labels at pivot lows (potential support).
Lets you customize text color and label fill color separately for highs and lows.
It’s designed for overlay (on-price chart), with max_labels_count=500 to allow many labels.
GMMA fill (v5) + Golden Crossover HighlightsGMMA Fill (v5) + Golden Crossover Highlights
This setup combines the Guppy Multiple Moving Average (GMMA) Fill version 5 with Golden Crossover signals to identify strong trend continuation and potential breakout points. GMMA provides layered moving averages for short- and long-term trend analysis, while the Golden Crossover highlights bullish momentum shifts, making it ideal for spotting entry opportunities in trending markets.
All-in-One Momentum Composite The Four Components (and Why They're Chosen)
RSI (Relative Strength Index) – Classic overbought/oversold oscillator (14-period default). Measures speed and change of price movements.
Stochastic (%D line) – Smoothened momentum indicator that compares closing price to the price range over a period. Excellent at spotting reversals in ranging markets.
WaveTrend – Very popular in crypto and forex communities (originally by LazyBear). It’s essentially a momentum oscillator based on overbought/oversold channels, similar to a faster, smoother RSI/Stochastic hybrid. Known for early divergence signals and clean crossovers.
MACD Histogram – Captures momentum changes and trend strength via the difference between fast and slow EMAs. The histogram shows acceleration/deceleration.
H1 Bias Rhythmic Lite Public V1.0 by SRTH1 Bias Rhythmic Lite Public V1.0 by SRT
Version: 1.0 (Public Lite)
Author: SRT
Platform: TradingView / Pine Script v6
Overlay: Yes (works directly on price chart)
Purpose: Provide H1 directional bias with D1 alignment and basic rhythm signals. Perfect for traders looking for clean bias visualization without clutter.
💡 Key Features
H1 Bias (Primary Engine)
Uses EMA7, EMA40, SMA150, and SMA200 for H1 directional bias.
Clearly identifies bullish, bearish, and neutral conditions.
Stack-based logic ensures consistency and reliability.
D1 Bias Alignment
Pulls higher timeframe (daily) EMA40, SMA150, SMA200.
Confirms H1 bias alignment with daily trend.
Helps filter trades in the direction of the larger trend.
Flush Detection
H1 flushes: Price fully “flushed” beyond EMA7 for bullish/bearish setups.
D+H1 flush: Aligns H1 flush with D1 bias for stronger context.
Visual dots with configurable sizes and colors indicate flush levels.
Price Action Signals
Engulfing (EB) detection with ATR filtering and body % thresholds.
Long Tail Body (LTB) detection with optional body % filter for precise swing points.
Both EB and LTB signals show clear labels above/below the candle for instant recognition.
ATR-Based Dynamic Offsets
Uses ATR (configurable length) to scale labels and flush dot offsets dynamically.
Ensures signals are proportionate to volatility.
Daily Pivot & Session Lines
Daily pivot plotted automatically.
Option to show daily session high-low lines and day labels.
Easily configurable label sizes and colors.
Bias Summary Table
Top-right table shows:
D1 bias
H1 bias
LTB allowed (Yes/No)
Color-coded for easy reference: green = Bull, red = Bear, gray = Neutral.
Alerts
H1 flush and D+H1 flush alerts.
LTB active alerts when bias is aligned.
Perfect for keeping an eye on actionable swings.
⚙️ User Inputs
Moving Average Lengths: EMA7, EMA40, SMA150, SMA200
Show/Hide MAs: Toggle to declutter the chart
ATR Settings: Length and % threshold for EB/LTB sizing
Signal Toggles: Show/Hide EBull, EBear, LTB Bull, LTB Bear, Flush Dots
Daily Pivot & Label Settings: Toggle visibility, label size, line/text colors
✅ Advantages for Users
Lightweight and fast — minimal lag on H1 charts.
Clear visualization of market bias and swing points.
Free access to core H1 Bias Rhythmic methodology.
Serves as a learning tool for traders who want to upgrade later.
⚠️ Limitations
No automatic entries, stops, or take profits (manual trade execution required).
Lite version only offers simplified signals and bias visualization.
Advanced rhythm and multi-timeframe alerts are reserved for the Premium version.
📢 Short Promo for Premium
For traders who want full power, check out H1 Bias Rhythmic Premium V1.0 by SRT — complete multi-phase alerts, advanced LTB & EB filters, EMA/SMA flip confirmations, and professional-level rhythm signals. Upgrade to premium for the full H1 trading experience.
Opposite Candle Zone Identifier (v6) - Extended🔍 Opposite Candle Zone Identifier (Extended)
Opposite Candle Zone Identifier is a price-action based indicator designed to identify potential reversal or absorption zones by detecting candles that move against the surrounding trend.
The indicator highlights a central opposite candle (or group of candles) that is surrounded by candles moving in the opposite direction, both before and after the central candle.
This structure often represents areas where institutional activity, absorption, or supply/demand imbalance may occur.
📌 How the Indicator Works
The indicator analyzes price action using three configurable blocks:
1️⃣ Candles Before (Backward)
A user-defined number of candles before the central candle(s) must follow a consistent trend:
Bullish candles for a bearish zone
Bearish candles for a bullish zone
2️⃣ Central Candle(s)
The core of the pattern:
Default: 1 opposite candle
Can be increased (up to 5) to adapt the indicator to lower timeframes or noisier markets
This central block must move against the previous trend, signaling a potential shift or absorption area.
3️⃣ Candles After (Forward)
A user-defined number of candles after the central candle(s) must resume the original trend, confirming the pattern.
⚠️ The signal is confirmed only after the “after” candles are completed.
This avoids repainting and ensures structural confirmation.
📐 Zone Concept
The highlighted central candle (or candles) can be used to define a price zone:
The high and low of the central candle(s) represent a potential supply or demand zone
These zones can be used for:
Reversal areas
Reaction zones
Entry refinement
Stop placement
⚙️ Inputs & Customization
Number of candles before
Controls how many candles must follow the initial trend.
Number of candles after
Defines how many candles are required for confirmation.
Central candles count
Default is 1, but can be increased (e.g. 2) for:
Lower timeframes
More reliable structure
Reduced noise
ATR-based offset
Labels are positioned using a dynamic ATR offset to improve chart readability across different markets and timeframes.
📈 Bullish & Bearish Zones
🟢 Bullish Zone
Bearish candles before
Bullish central candle(s)
Bearish candles after
Indicates potential demand or accumulation zone
🔴 Bearish Zone
Bullish candles before
Bearish central candle(s)
Bullish candles after
Indicates potential supply or distribution zone
🧠 Best Use Cases
Works best on 15m and higher timeframes
Effective on:
Indices
Forex majors
Liquid cryptocurrencies
Can be combined with:
Trend filters (EMA, VWAP)
Support & resistance
Market structure analysis
⚠️ Notes
This indicator is confirmation-based, not predictive
Signals appear only after pattern completion
It does not repaint
Best used as a confluence tool, not as a standalone trading system
🎯 Summary
Opposite Candle Zone Identifier helps traders:
Detect opposite-direction candles within strong trends
Identify potential supply and demand zones
Adapt the pattern to different timeframes
Improve price-action based decision making
8menutakeshi//@version=5
indicator("猛の掟・初動スクリーナー(完全版:8項目コメント表示)", overlay=true, max_labels_count=50)
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// Inputs
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
showPanel = input.bool(true, "コメント表示")
panelPos = input.string("右上", "コメント位置", options= )
lastBarOnly = input.bool(true, "最後の足だけ更新(推奨)")
// EMA
lenEma1 = input.int(5, "EMA 5", minval=1)
lenEma2 = input.int(13, "EMA 13", minval=1)
lenEma3 = input.int(26, "EMA 26", minval=1)
// MACD
macdFast = input.int(12, "MACD fast", minval=1)
macdSlow = input.int(26, "MACD slow", minval=1)
macdSig = input.int(9, "MACD signal", minval=1)
// Volume
volMaLen = input.int(5, "出来高平均(N日)", minval=1)
volMinMul = input.float(1.3, "出来高倍率Min", step=0.1)
volMaxMul = input.float(2.0, "出来高倍率Max", step=0.1)
volFinalMul = input.float(1.5, "最終三点:出来高倍率(>=)", step=0.1)
// Candle
wickBodyMult = input.float(1.8, "下ヒゲ判定:下ヒゲ/実体 >=", step=0.1)
atrLen = input.int(14, "ATR長", minval=1)
bigBodyATR = input.float(1.2, "大陽線判定:実体 >= ATR×", step=0.1)
// Breakout / Pullback
resLookback = input.int(20, "レジスタンス:過去N日高値", minval=5)
pullMinPct = input.float(5.0, "押し目Min(%)", step=0.5)
pullMaxPct = input.float(15.0, "押し目Max(%)", step=0.5)
retestAllowPct = input.float(1.0, "ブレイク価格の許容下抜け(%)", step=0.1)
stateExpireBars = input.int(30, "ブレイク状態の期限(本数)", minval=5)
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// Series
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ema5 = ta.ema(close, lenEma1)
ema13 = ta.ema(close, lenEma2)
ema26 = ta.ema(close, lenEma3)
= ta.macd(close, macdFast, macdSlow, macdSig)
volAvg = ta.sma(volume, volMaLen)
volMul = volAvg == 0 ? na : (volume / volAvg)
atr = ta.atr(atrLen)
// Candle parts
body = math.abs(close - open)
upperWick = high - math.max(open, close)
lowerWick = math.min(open, close) - low
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// 1-3: トレンド
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ema5Up = ema5 > ema5
ema13Up = ema13 > ema13
ema26Up = ema26 > ema26
allEmaUp = ema5Up and ema13Up and ema26Up
golden = (ema5 > ema13) and (ema13 > ema26)
above26_2days = (close > ema26) and (close > ema26 )
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// 4: MACD(ゼロライン上GC)
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
macdZeroGC = ta.crossover(macdLine, macdSignal) and (macdLine > 0)
histShrinkToUp = (macdHist > macdHist ) and (macdHist < macdHist ) // 参考表示
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// 5: 出来高
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
volOK = not na(volMul) and (volMul >= volMinMul) and (volMul <= volMaxMul)
volStrongOK = not na(volMul) and (volMul >= volFinalMul) // 最終三点用
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// 6: ローソク(ピンバー/包み/大陽線)
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
longLowerWick = (body > 0) and ((lowerWick / body) >= wickBodyMult) and (upperWick <= lowerWick * 0.6) and (close > open)
bullEngulf = (close < open ) and (close > open) and (open <= close ) and (close >= open )
bigBull = (close > open) and (body >= atr * bigBodyATR) and (open < ema13) and (close > ema5)
candleOK = longLowerWick or bullEngulf or bigBull
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// 7-8: ブレイク後押し目(押し目 -5〜15%)
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
res = ta.highest(high, resLookback)
breakout = ta.crossover(close, res)
var bool inBreak = false
var float breakPrice = na
var int breakBar = na
var float postBreakHigh = na
if breakout
inBreak := true
breakPrice := res
breakBar := bar_index
postBreakHigh := high
if inBreak
postBreakHigh := na(postBreakHigh) ? high : math.max(postBreakHigh, high)
pullPct = (inBreak and not na(postBreakHigh) and postBreakHigh != 0) ? (postBreakHigh - close) / postBreakHigh * 100.0 : na
pullOK = not na(pullPct) and (pullPct >= pullMinPct) and (pullPct <= pullMaxPct)
retestOK = inBreak and not na(breakPrice) and (close >= breakPrice * (1 - retestAllowPct/100.0))
breakoutPullbackOK = inBreak and retestOK and pullOK
if inBreak and not na(breakBar) and (bar_index - breakBar > stateExpireBars)
inBreak := false
breakPrice := na
breakBar := na
postBreakHigh := na
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// 8項目チェック(1つでも欠けたら見送り)
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
chk1 = allEmaUp
chk2 = golden
chk3 = above26_2days
chk4 = macdZeroGC
chk5 = volOK
chk6 = candleOK
chk7 = pullOK
chk8 = breakoutPullbackOK
all8 = chk1 and chk2 and chk3 and chk4 and chk5 and chk6 and chk7 and chk8
// 最終三点(ヒゲ×出来高×MACD)
// ※「成立時は買い確定」の定義に合わせて、all8に加えてfinal3も必須にしている
final3 = longLowerWick and volStrongOK and macdZeroGC
judge = (all8 and final3) ? "判定:買い" : "判定:見送り"
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// コメント文字列(←txt を必ず先に定義)
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
fMark(x) => x ? "達成" : "未達"
txt =
"【8項目チェック】 " +
"1 EMA全上向き: " + fMark(chk1) + " " +
"2 黄金隊列: " + fMark(chk2) + " " +
"3 26EMA上2日: " + fMark(chk3) + " " +
"4 MACDゼロ上GC: " + fMark(chk4) + " " +
"5 出来高" + str.tostring(volMinMul) + "-" + str.tostring(volMaxMul) + ": " + fMark(chk5) + " " +
"6 ローソク条件: " + fMark(chk6) + " " +
"7 押し目-" + str.tostring(pullMinPct) + "〜" + str.tostring(pullMaxPct) + "%: " + fMark(chk7) + " " +
"8 ブレイク後押し目: " + fMark(chk8) + " " +
"最終三点(ヒゲ×出来高×MACD): " + (final3 ? "成立" : "未成立") + " " +
judge + " " +
"(参考)出来高倍率=" + (na(volMul) ? "na" : str.tostring(volMul, "#.00")) +
" / 押し目率=" + (na(pullPct) ? "na" : str.tostring(pullPct, "#.0")) + "%" +
" / hist転換=" + (histShrinkToUp ? "YES" : "NO")
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// Table(位置は if で確定。三項演算子で改行しない)
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
var pos = position.top_right
if panelPos == "右上"
pos := position.top_right
else if panelPos == "左上"
pos := position.top_left
else if panelPos == "右下"
pos := position.bottom_right
else
pos := position.bottom_left
var table t = table.new(pos, 1, 1)
// 描画条件
drawNow = showPanel and (lastBarOnly ? barstate.islast : true)
bg = (all8 and final3) ? color.new(color.lime, 80) : color.new(color.gray, 15)
fg = color.white
if drawNow
table.cell(t, 0, 0, txt, text_color=fg, bgcolor=bg, text_size=size.small)
else
table.cell(t, 0, 0, "", text_color=fg, bgcolor=color.new(color.black, 100))
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// 視覚補助
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
plot(ema5, color=color.new(color.yellow, 0), title="EMA5")
plot(ema13, color=color.new(color.orange, 0), title="EMA13")
plot(ema26, color=color.new(color.red, 0), title="EMA26")
plotshape(all8 and final3, title="BUY", style=shape.triangleup, location=location.belowbar,
color=color.new(color.lime, 0), size=size.tiny, text="BUY")
Global Net Liquidity (with offset Trail2Crypto)Click settings and set the offset to 70 days to have the perfect fit.
Day of WeekDay of Week is an indicator that runs in a separate panel and colors the panel background according to the day of the week.
Main Features
Colors the background of the lower panel based on the day of the week
Includes all days, from Monday to Sunday
Customizable colors
Time Offset Correction
TradingView calculates the day of the week using the exchange’s timezone, which can cause visual inconsistencies on certain symbols.
To address this, the indicator includes a configurable time offset that allows the user to synchronize the calculated day with the day displayed on the chart.
By simply adjusting the Time Offset (hours) parameter, the background will align correctly with the visible chart calendar.
takeshi MNO_2Step_Screener_MOU_MOUB_KAKU//@version=5
indicator("MNO_2Step_Screener_MOU_MOUB_KAKU", overlay=true, max_labels_count=500, max_lines_count=500)
// =========================
// Inputs
// =========================
emaSLen = input.int(5, "EMA Short (5)", minval=1)
emaMLen = input.int(13, "EMA Mid (13)", minval=1)
emaLLen = input.int(26, "EMA Long (26)", minval=1)
macdFast = input.int(12, "MACD Fast", minval=1)
macdSlow = input.int(26, "MACD Slow", minval=1)
macdSignal = input.int(9, "MACD Signal", minval=1)
macdZeroTh = input.float(0.2, "MOU: MACD near-zero threshold", step=0.05)
volDays = input.int(5, "Volume avg (days equivalent)", minval=1)
volMinRatio = input.float(1.3, "MOU: Volume ratio min", step=0.1)
volStrong = input.float(1.5, "Strong volume ratio (MOU-B/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, "Valid bars after break", minval=1)
showEMA = input.bool(true, "Plot EMAs")
showLabels = input.bool(true, "Show labels (猛/猛B/確)")
showShapes = input.bool(true, "Show shapes (猛/猛B/確)")
confirmOnClose = input.bool(true, "Signal only on bar close (recommended)")
locChoice = input.string("Below", "Label location", options= )
lblLoc = locChoice == "Below" ? 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_2bars = close > emaL and close > emaL
baseTrendOK = (emaUpS and emaUpM and emaUpL) and goldenOrder and above26_2bars
// =========================
// 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
macdKakuOK = macdGCAboveZero
// =========================
// Volume (days -> bars)
// =========================
sec = timeframe.in_seconds(timeframe.period)
barsPerDay = (sec > 0 and sec < 86400) ? math.round(86400 / sec) : 1
volLookbackBars = math.max(1, volDays * barsPerDay)
volMA = ta.sma(volume, volLookbackBars)
volRatio = volMA > 0 ? (volume / volMA) : na
volumeMouOK = not na(volRatio) and volRatio >= volMinRatio and volRatio <= volMaxRatio
volumeStrongOK = not na(volRatio) and 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 = (body > 0) and (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 = not na(pullbackPct) and pullbackPct >= pullMinPct and pullbackPct <= pullMaxPct
brokeRes = ta.crossover(close, res )
barsSinceBreak = ta.barssince(brokeRes)
afterBreakZone = (barsSinceBreak >= 0) and (barsSinceBreak <= breakLookbackBars)
pullbackRouteOK = afterBreakZone and pullbackOK
// =========================
// Signals (猛 / 猛B / 確)
// =========================
mou_pullback = baseTrendOK and volumeMouOK and candleOK and macdMouOK and pullbackRouteOK
mou_breakout = baseTrendOK and ta.crossover(close, res ) and volumeStrongOK and macdKakuOK
cond1 = emaUpS and emaUpM and emaUpL
cond2 = goldenOrder
cond3 = above26_2bars
cond4 = macdKakuOK
cond5 = volumeMouOK
cond6 = candleOK
cond7 = pullbackOK
cond8 = pullbackRouteOK
all8 = cond1 and cond2 and cond3 and cond4 and cond5 and cond6 and cond7 and cond8
final3 = pinbar and macdKakuOK and volumeStrongOK
kaku = all8 and final3
// 確優先(同一足は確だけ出す)
confirmed = confirmOnClose ? barstate.isconfirmed : true
sigKAKU = kaku and confirmed
sigMOU = mou_pullback and not kaku and confirmed
sigMOUB = mou_breakout and not kaku and confirmed
// =========================
// Visualization
// =========================
if showLabels and sigMOU
label.new(bar_index, low, "猛", style=label.style_label_up, color=color.new(color.lime, 0), textcolor=color.black)
if showLabels and sigMOUB
label.new(bar_index, low, "猛B", style=label.style_label_up, color=color.new(color.green, 0), textcolor=color.black)
if showLabels and sigKAKU
label.new(bar_index, low, "確", style=label.style_label_up, color=color.new(color.yellow, 0), textcolor=color.black)
plotshape(showShapes and sigMOU, title="MOU", style=shape.labelup, text="猛", color=color.new(color.lime, 0), textcolor=color.black, location=lblLoc, size=size.tiny)
plotshape(showShapes and sigMOUB, title="MOUB", style=shape.labelup, text="猛B", color=color.new(color.green, 0), textcolor=color.black, location=lblLoc, size=size.tiny)
plotshape(showShapes and sigKAKU, title="KAKU", style=shape.labelup, text="確", color=color.new(color.yellow, 0), textcolor=color.black, location=lblLoc, size=size.small)
// =========================
// Alerts
// =========================
alertcondition(sigMOU, title="MNO_MOU", message="MNO: 猛(押し目)")
alertcondition(sigMOUB, title="MNO_MOU_BREAKOUT", message="MNO: 猛B(ブレイク)")
alertcondition(sigKAKU, title="MNO_KAKU", message="MNO: 確(最終)")
alertcondition(sigMOU or sigMOUB or sigKAKU, title="MNO_ALL", message="MNO: 猛/猛B/確 いずれか")
SHAP-Aligned BUY Signal (Daily, Edge-Triggered)Based on the XGBoost + SHAP interpretation report, I'll explain which indicators to monitor for buying NVO. However, I must emphasize that this model performed poorly (47.5% accuracy) and should NOT be used for actual trading! That said, here's what the model learned (for educational purposes):
📊 Top Indicators to Monitor for BUY Signals
1. Days_Since_Low (Most Important - 1.264)
Direction: BULLISH ↑
Interpretation: Higher values → UP prediction
What to monitor: Track how many days since the stock hit its recent low
Buy signal: When the stock has been recovering for an extended period (e.g., 100+ days from low)
Why it matters: The model learned that stocks in long-term recovery tend to continue rising
2. SMA_50 (50-day Moving Average) (0.413)
Direction: BULLISH ↑
Interpretation: Higher absolute SMA_50 values → UP prediction
What to monitor: The 50-day simple moving average price level
Buy signal: When SMA_50 is at higher levels (e.g., above $80-90)
Why it matters: Higher moving averages indicate stronger long-term trends
3. SMA_200 (200-day Moving Average) (0.274)
Direction: BULLISH ↑
Interpretation: Higher SMA_200 → UP prediction
What to monitor: The 200-day simple moving average
Buy signal: When SMA_200 is trending upward and at elevated levels
Why it matters: Long-term trend indicator; golden cross (SMA_50 > SMA_200) is traditionally bullish
4. BB_Width (Bollinger Band Width) (0.199)
Direction: BULLISH ↑
Interpretation: WIDER Bollinger Bands → UP prediction
What to monitor: The distance between upper and lower Bollinger Bands
Buy signal: When BB_Width is expanding (increasing volatility often precedes trend moves)
Why it matters: Widening bands can signal the start of a new trend
5. Price_SMA_50_Ratio (0.158)
Direction: BULLISH ↑
Interpretation: When price is ABOVE the 50-day MA → UP prediction
What to monitor: Current price ÷ SMA_50
Buy signal: When ratio > 1.0 (price is above the 50-day average)
Why it matters: Price above moving averages indicates uptrend
6. Momentum_21D (21-day Momentum) (0.152)
Direction: BULLISH ↑
Interpretation: Positive 21-day momentum → UP prediction
What to monitor: 21-day rate of change
Buy signal: When momentum is positive and increasing
Why it matters: Positive momentum suggests continuation
7. Stoch_K (Stochastic Oscillator) (0.142)
Direction: BULLISH ↑
Interpretation: Higher Stochastic K → UP prediction
What to monitor: Stochastic oscillator (0-100 scale)
Buy signal: When Stoch_K is rising from oversold (<20) or in mid-range (40-60)
Why it matters: Measures momentum and overbought/oversold conditions
Price Crossing 144 EMA Alert (No Visuals)Price Crossing 144 EMA Alert (No VisuPrice Crossing 144 EMA Alert (No Visuals)Price Crossing 144 EMA Alert (No Visuals)Price Crossing 144 EMA Alert (No Visuals)Price Crossing 144 EMA Alert (No Visuals)als)
Monthly Hotness RSI (Auto-Calibrated)Indicator of the previous months volatility/vol compared to averages over the last 3-5 years. helps show trend and if the market is 'hot'. indicator is good for showing favourable market conditions.
Relative Strength Index_YJ//@version=5
indicator(title="MACD_YJ", shorttitle="MACD_YJ",format=format.price, precision=2)
source = close
useCurrentRes = input.bool(true, title="Use Current Chart Resolution?")
resCustom = input.timeframe("60", title="Use Different Timeframe? Uncheck Box Above")
smd = input.bool(true, title="Show MacD & Signal Line? Also Turn Off Dots Below")
sd = input.bool(false, title="Show Dots When MacD Crosses Signal Line?")
sh = input.bool(true, title="Show Histogram?")
macd_colorChange = input.bool(true, title="Change MacD Line Color-Signal Line Cross?")
hist_colorChange = input.bool(true, title="MacD Histogram 4 Colors?")
// === Divergence inputs ===
grpDiv = "Divergence"
calculateDivergence = input.bool(true, title="Calculate Divergence", group=grpDiv, tooltip="피벗 기반 정/역배 다이버전스 탐지 및 알람 사용")
lookbackRight = input.int(5, "Lookback Right", group=grpDiv, minval=1)
lookbackLeft = input.int(5, "Lookback Left", group=grpDiv, minval=1)
rangeUpper = input.int(60, "Bars Range Upper", group=grpDiv, minval=1)
rangeLower = input.int(5, "Bars Range Lower", group=grpDiv, minval=1)
bullColor = input.color(color.new(#4CAF50, 0), "Bull Color", group=grpDiv)
bearColor = input.color(color.new(#F23645, 0), "Bear Color", group=grpDiv)
textColor = color.white
noneColor = color.new(color.white, 100)
res = useCurrentRes ? timeframe.period : resCustom
fastLength = input.int(12, minval=1)
slowLength = input.int(26, minval=1)
signalLength= input.int(9, minval=1)
fastMA = ta.ema(source, fastLength)
slowMA = ta.ema(source, slowLength)
macd = fastMA - slowMA
signal = ta.sma(macd, signalLength)
hist = macd - signal
outMacD = request.security(syminfo.tickerid, res, macd)
outSignal = request.security(syminfo.tickerid, res, signal)
outHist = request.security(syminfo.tickerid, res, hist)
// 가격도 같은 res로
hi_res = request.security(syminfo.tickerid, res, high)
lo_res = request.security(syminfo.tickerid, res, low)
// ── Histogram 색
histA_IsUp = outHist > outHist and outHist > 0
histA_IsDown = outHist < outHist and outHist > 0
histB_IsDown = outHist < outHist and outHist <= 0
histB_IsUp = outHist > outHist and outHist <= 0
macd_IsAbove = outMacD >= outSignal
plot_color = hist_colorChange ? (histA_IsUp ? color.new(#00FF00, 0) :
histA_IsDown ? color.new(#006900, 0) :
histB_IsDown ? color.new(#FF0000, 0) :
histB_IsUp ? color.new(#670000, 0) : color.yellow) : color.gray
macd_color = macd_colorChange ? color.new(#00ffff, 0) : color.new(#00ffff, 0)
signal_color = color.rgb(240, 232, 166)
circleYPosition = outSignal
// 골든/데드 크로스 (경고 해결: 먼저 계산)
isBullCross = ta.crossover(outMacD, outSignal)
isBearCross = ta.crossunder(outMacD, outSignal)
cross_color = isBullCross ? color.new(#00FF00, 0) : isBearCross ? color.new(#FF0000, 0) : na
// ── 플롯
plot(sh and outHist ? outHist : na, title="Histogram", color=plot_color, style=plot.style_histogram, linewidth=5)
plot(smd and outMacD ? outMacD : na, title="MACD", color=macd_color, linewidth=1)
plot(smd and outSignal? outSignal: na, title="Signal Line", color=signal_color, style=plot.style_line, linewidth=1)
plot(sd and (isBullCross or isBearCross) ? circleYPosition : na,
title="Cross", style=plot.style_circles, linewidth=3, color=cross_color)
hline(0, "0 Line", linestyle=hline.style_dotted, color=color.white)
// =====================
// Divergence (정배/역배) - 피벗 비교
// =====================
_inRange(cond) =>
bars = ta.barssince(cond)
rangeLower <= bars and bars <= rangeUpper
plFound = false
phFound = false
bullCond = false
bearCond = false
macdLBR = outMacD
if calculateDivergence
// 정배: 가격 LL, MACD HL
plFound := not na(ta.pivotlow(outMacD, lookbackLeft, lookbackRight))
macdHL = macdLBR > ta.valuewhen(plFound, macdLBR, 1) and _inRange(plFound )
lowLBR = lo_res
priceLL = lowLBR < ta.valuewhen(plFound, lowLBR, 1)
bullCond := priceLL and macdHL and plFound
// 역배: 가격 HH, MACD LH
phFound := not na(ta.pivothigh(outMacD, lookbackLeft, lookbackRight))
macdLH = macdLBR < ta.valuewhen(phFound, macdLBR, 1) and _inRange(phFound )
highLBR = hi_res
priceHH = highLBR > ta.valuewhen(phFound, highLBR, 1)
bearCond := priceHH and macdLH and phFound
// 시각화 (editable 파라미터 삭제)
plot(plFound ? macdLBR : na, offset=-lookbackRight, title="Regular Bullish (MACD)",
linewidth=2, color=(bullCond ? bullColor : noneColor), display=display.pane)
plotshape(bullCond ? macdLBR : na, offset=-lookbackRight, title="Bullish Label",
text=" Bull ", style=shape.labelup, location=location.absolute, color=bullColor, textcolor=textColor, display=display.pane)
plot(phFound ? macdLBR : na, offset=-lookbackRight, title="Regular Bearish (MACD)",
linewidth=2, color=(bearCond ? bearColor : noneColor), display=display.pane)
plotshape(bearCond ? macdLBR : na, offset=-lookbackRight, title="Bearish Label",
text=" Bear ", style=shape.labeldown, location=location.absolute, color=bearColor, textcolor=textColor, display=display.pane)
// 알람
alertcondition(bullCond, title="MACD Regular Bullish Divergence",
message="MACD 정배 다이버전스 발견: 현재 봉에서 lookbackRight 만큼 좌측.")
alertcondition(bearCond, title="MACD Regular Bearish Divergence",
message="MACD 역배 다이버전스 발견: 현재 봉에서 lookbackRight 만큼 좌측.")
50% level of Daily RangeThe 50% or midpoint between the current days highest and lowest points be used to divide the premium and discount of the days range. Price often reacts at this point and it can be used as a target for reversal trades. This indicator plots the level as it moves through out each day so is useful for backtesting as well as determining whether the current price is in premium or discount.
Momentum Burst Pullback System v66* Detects **momentum “bursts”** using:
* **Keltner breakout** (high above upper band for long, low below lower band for short), and/or
* **MACD histogram extreme** (highest/lowest in a lookback window, with correct sign).
* Optional **burst-zone extension** keeps the burst “active” for N extra bars after the burst.
* Marks bursts with **K** (Keltner) and **M** (MACD) labels:
* Core burst labels use one color, extension labels use a different color.
* Tracks the most recent burst as the **dominant side** (long or short), and stores burst “leg” anchors (high/low context).
* Adds **structure-based invalidation**:
* On a new **core burst**, it locks the most recent **confirmed swing** level (pivot):
* Long: locks the last confirmed **swing low**.
* Short: locks the last confirmed **swing high**.
* After the burst, if price **breaks that locked level**, the burst regime is **cancelled** (and any pending setup on that side is dropped).
* Finds **pullback setups** after a dominant burst (and not inside the active burst zone), within min/max bars:
* Long pullback requires a sequence of **lower highs** and price still below the burst high.
* Short pullback requires **higher lows** and price still above the burst low.
* Optional background shading highlights pullback bars.
* On pullback bars, plots **static TP/SL crosses** using ATR:
* Anchor is the pullback bar’s high (long) or low (short).
* TP/SL are ± ATR * multiple.
* TP plots are visually classified (bright vs faded) based on whether TP would exceed the prior burst extreme.
* Maintains a **state-machine entry + trailing stop**:
* Sets a “waiting” trigger on pullback.
* Enters when price breaks the trigger (high break for long, low break for short).
* Trails a stop using **R-multiples**, with different behavior pre-break-even, post-break-even, and near-TP.
* Optionally draws the trailing stop as horizontal line segments.
* Optionally shows a **last-bar label** with the most recent pullback’s TP and SL values.
Colby Cheese VWAP Setup [v2.0]🔧 Core Refactors
• Imbalance function fixed:
• Removed invalid usage.
• Now uses for past bar references.
• Bias checks are handled outside the function with proper series indexing.
• Bias alignment:
• Added and so CHoCH signals only fire when price change agrees with EMA bias.
• Swing reset:
• After a valid CHoCH, and reset to so stale levels don’t keep firing.
• Line/label management:
• CHoCH lines and labels now reuse persistent IDs (, ) instead of spamming new objects every trigger.
✨ New Features
• Anticipation mode:
• Blue “Anticipate” lines/labels drawn when delta + bias align before CHoCH confirmation.
• Helps you see potential setups earlier.
• Entry zone lines:
• Solid green/red lines drawn at entry levels when is enabled.
• Separate from FRVP dashed zones.
• Stop‑loss lines:
• Orange dotted lines drawn opposite the entry zone when is enabled.
• Gives a visual risk marker.
🎨 Visual Consistency
• Candle coloring simplified: white candles only when CHoCH triggers.
• FRVP zones remain dashed lines with “Enter” labels.
• Anticipation zones are blue solid lines.
• Entry zones are solid green/red.
• Stop‑loss lines are orange dotted.
Trend Quality Score (Options-Friendly)Trend Quality Score for options entry that signals with background coloring for good movement or chop, to avoid theta burn. Toggle for conservative, balanced or aggressive with triggers.
Premarket, Previous Day, Current Day high/lowHighs and lows for premarket, previous day, and current day
PDI / MMXM Execution OverlayCreates FVG's on lower time frames automatically. Helps with charting live.
HAR Volatility ATR (Multi-Asset) - Andreus VillalobosIndicator based on the HAR (Hyper-Realized Volatility) model.
Combines daily, weekly, and monthly ATRs to project:
– Most probable price range (90%)
– Most probable take profit (60%)
Does not generate entry signals.
Designed for use in conjunction with:
market structure, liquidity, and price action.
Works on Forex, Indices, Gold, and Cryptocurrencies.
Trading Value RSI (NQ Tuned)The Trading Value RSI (NQ Tuned) is an indicator that applies the RSI calculation to trading value, defined as volume × close, rather than just price. It is specifically tuned for Nasdaq 100 futures (NQ), with a default RSI length of 24, overbought level at 75, and oversold level at 25 to filter out false signals from high volatility. The indicator visually colors the RSI line based on overbought (red), oversold (green), or neutral (blue) conditions. A horizontal midline at 50 helps identify potential trend direction changes or confirm ongoing momentum. This tool allows traders to monitor capital flow intensity, giving insight into when strong buying or selling pressure may drive short-term market moves.






















