The Reaper WhistleThe Reaper Whistle is a high-precision RSI momentum system engineered for scalpers and intraday traders.
It combines a customizable RSI with a dynamic moving average signal line to detect micro-shifts in momentum, early reversals, and continuation setups with extreme speed.
The indicator includes five key zones used by liquidity and SMC-style traders:
• Strong Sell (90) – Extreme momentum exhaustion
• Sell (80) – Overextension area
• TP Zone (50) – Momentum balance / decision point
• Buy (20) – Discount area
• Strong Buy (10) – Extreme sell-side exhaustion
By tracking how RSI interacts with its MA inside these zones, traders can identify high-probability sniper entries on the 1m, 3m, and 5m charts.
⸻
⭐ HOW IT WORKS (Quick Breakdown)
• RSI Period: defines momentum sensitivity
• MA Period: smooths RSI noise and clarifies direction shifts
• MA Type: SMA, EMA, or WMA for different reaction speeds
• Crossovers: show momentum flips or trend continuation
• Zones: filter out weak signals and highlight only premium setups
⸻
⚡ STRATEGY EXAMPLES
1️⃣ Liquidity Sweep Reversal (Most Powerful Setup)
Use case: Gold, NAS100, NQ, US30
1. Price sweeps a previous high/low
2. RSI spikes into Strong Sell (90) or Strong Buy (10)
3. RSI crosses its MA back inside the zone
4. Enter on candle confirmation
5. TP at the next imbalance, VWAP, or volume cluster
This setup catches V-shaped reversals and trap plays.
⸻
2️⃣ Trend Continuation Pullback
Use case: Trending markets
1. Identify trend direction (EMA 200, structure, etc.)
2. Wait for RSI to pull back to the TP (50) zone
3. Watch for RSI crossing its MA in trend direction
4. Enter with trend
5. TP at previous swing high/low
This setup filters out weak pullbacks and catches clean momentum continuation.
⸻
3️⃣ Breakout Confirmation
Use case: Range breakouts, opening range breaks
1. Price breaks a consolidation high/low
2. RSI holds above Sell (80) in uptrend or below Buy (20) in downtrend
3. RSI crosses its MA with momentum
4. Enter breakout
5. TP at HTF zone or liquidity target
Perfect for fast markets like NAS100 and Bitcoin.
⸻
4️⃣ Divergence + Whistle Flip
Use case: Slow markets or pre-session moves
1. Look for bullish or bearish RSI divergence
2. Wait for RSI to cross the MA in direction of divergence
3. Enter once momentum confirms
4. TP at imbalance, FVG, or mid-range
This increases divergence accuracy dramatically.
⸻
🔥 RECOMMENDED SETTINGS
• Scalping (1m–3m):
• RSI: 5
• MA: 3
• Type: EMA
• Intraday 5m–15m:
• RSI: 7–14
• MA: 5
• Type: SMA
⸻
⭐ WHO IT’S BUILT FOR
• Liquidity + SMC traders
• Scalpers who need fast confirmation
• Traders who want clean, simple entries
• Beginners who want visual guidance
• Professionals who want momentum precision
The Reaper Whistle is intentionally designed for speed, clarity, and reliability — no clutter, no lag, just pure momentum read.
— Created by TheTrendSniper (ChartReaper)
“When the market whispers… the Reaper whistles.”
Indicators and strategies
CISD Trend Candle + MACD SignalThis custom TradingView indicator combines trend-based candle coloring with MACD reversal detection to generate clear entry and exit signals:
🔷 Blue triangle (Buy): Appears when the candles confirm an uptrend (e.g., 5 consecutive closes above 21 EMA) and no long position is currently held.
🔴 Red triangle (Sell): Appears when the candles confirm a downtrend (e.g., 5 consecutive closes below 21 EMA) and no short position is currently held.
⚪ Gray triangle (Exit):
If in a long position, it shows when the candle turns neutral (gray) and the MACD crosses down (bearish signal), or the trend turns red.
If in a short position, it shows when the candle turns neutral and the MACD crosses up (bullish signal), or the trend turns blue.
🟠 Orange line: 21-period EMA used for trend validation.
This logic prevents premature entries and provides structured exit points, aiming to avoid false signals in choppy markets.
Contra Trading Setup - Buy on CloseContra Trding Setp
1. Closing Price is less than 20SMA
2. Today low is less than last 5 days low
3.Today close is above yesterday close
4. If all 3 conditions met
Then tomorrow close should be >Today Close
Buy On Close
Exit After 5 - 7 Trading Session.
CODEX OB V1CODEX OB V1 is a multi-purpose Smart Money Concepts (SMC) indicator that automatically detects and visualizes key institutional trading elements such as Order Blocks, Fair Value Gaps, Rejection Blocks, Break of Structure, Pivots, High Volume Bars, and several qualitative SMC signals.
This tool helps traders identify institutional footprints and displacement-based setups with high clarity.
ATR Regime Filter (ATR14 vs SMA20)ATR volatility + ATR SMA
Green ATR above Red SMA + green background
→ Volatility expanding
→ Trend mode only
Green ATR below Red SMA + blue background
→ Volatility compressing
→ Mean reversion allowed
Crossovers / flickering
→ Transition
→ Size down or stay flat
Fat Tony's Composite Momentum + ROC (v0.4)Fat Tony's Composite Momentum + ROC (v0.4)
Option guy settings and indicators
TrendStrike: The Pullback EngineTrendStrike: The Pullback Engine - The Ultimate Pullback entry System
ApexFlow: Sniper Pro is a complete day-trading system designed to filter out market noise and identify high-probability entries. It combines institutional trend filters, structural support & resistance, and volatility checks to ensure you only trade when the odds are stacked in your favor.
🎯 How It Works:
The "King" Filter (EMA 200):
White Line: The script forces you to trade with the major trend.
Rule: If price is Above the White Line, it only looks for LONGS. If Below, it only looks for SHORTS.
The Trend Cloud (SMA 50 vs SMA 100):
🔵 Blue Cloud: Bullish Trend. Look for buys on dips.
🟠 Orange Cloud: Bearish Trend. Look for sells on rallies.
⛔ The "Chop" Safety (ADX Filter):
The system includes an ADX volatility filter. If the market is chopping sideways (ADX < 20), the dashboard will go gray and ALL signals are blocked to save you from fake-outs.
🌊 Structural Support & Resistance:
Purple Lines: Major Resistance zones.
Blue Lines: Major Support zones.
Use these to take profits.
🚀 The Signals (Entry Guide):
The script waits for a Pullback to the trend line (SMA 50) and only fires if the price bounces with strong momentum and volume.
🚀 LONG SIGNAL (Green Rocket):
Trend is UP, Price dipped to the 50 SMA, then bounced with a Green Candle + High Volume.
Exit: A red Stop Loss line is drawn automatically below the candle.
🩸 SHORT SIGNAL (Red Drop):
Trend is DOWN, Price rallied to the 50 SMA, then rejected with a Red Candle + High Volume.
Exit: A green Stop Loss line is drawn automatically above the candle.
📊 The Dashboard:
Located on the left, it gives you a live readout of the market health:
MAJOR TREND: Tells you if you are in an UPTREND or DOWNTREND.
VOLUME: Shows the current candle's volume. It lights up Green for buying pressure and Red for selling pressure.
ICT Breaker Blocks [Exponential-X]🔄 Breaker Blocks
Overview
Breaker Blocks automatically identifies failed order blocks that have reversed their polarity. When an order block gets broken, it often becomes a powerful support or resistance zone in the opposite direction. This indicator tracks these institutional "flips" based on ICT (Inner Circle Trader) concepts, helping identify where price is likely to find strong support or resistance after a structural break.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🎯 What This Indicator Does
Detects Breaker Blocks:
• 🔵 Bullish Breaker Blocks (BB+) - Failed bearish order blocks that became support
• 🟣 Bearish Breaker Blocks (BB-) - Failed bullish order blocks that became resistance
• Tracks order blocks first, then monitors when they break
• Converts broken order blocks into breaker blocks automatically
• Shows when breakers get tested by price
How Breakers Form:
1. Order block forms (last opposite candle before strong move)
2. Price returns and breaks through the order block
3. Broken order block becomes a breaker block with flipped polarity
4. Old resistance becomes new support (or vice versa)
Visual Display: Smart Features:
• Auto-timeframe adjustment for optimal detection
• ATR-based strength filtering
• Active block highlighting
• Test tracking
• Distance calculator
• Duplicate prevention
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📚 Understanding Breaker Blocks
What Are Breaker Blocks?
Breaker blocks are failed order blocks that price has broken through. In ICT methodology:
• When institutions place orders creating an order block
• If that level fails and price breaks through
• The zone often becomes strong support/resistance in the opposite direction
• This represents institutional position flipping
Why Breakers Form:
• Failed Defense: Institutions couldn't defend the original level
• Position Flip: Institutions reversed their position
• Stop Hunt Complete: After sweeping stops, new levels form
• Polarity Change: Old resistance becomes new support (or vice versa)
Key Difference From Order Blocks: [/b>
• Order Block: Original institutional level (unbroken)
• Breaker Block: Failed order block that flipped polarity
• Breakers often provide STRONGER reactions than original OBs
• Represents where institutions changed their strategy
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔵 Bullish Breaker Blocks Explained
Formation Process:
1. Step 1: Bearish order block forms (last bullish candle before drop)
2. Step 2: Price breaks ABOVE this bearish OB
3. Step 3: The broken bearish OB becomes a bullish breaker
4. Step 4: Now acts as SUPPORT when price returns
What It Means:
• Old resistance level failed
• Institutions flipped from selling to buying
• When price returns, zone acts as strong support
• Higher probability long setup than regular support
Trading Bullish Breakers:
Entry Setup:
• Wait for price to retrace back to bullish breaker
• Look for rejection/bounce from the breaker zone
• Enter long when price respects the breaker as support
• Stop loss: Below the breaker block
• Target: Recent high or opposite breaker
Why It Works:
Failed resistance becoming support is a strong technical signal indicating structural change in market sentiment.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🟣 Bearish Breaker Blocks Explained
Formation Process:
1. Step 1: Bullish order block forms (last bearish candle before rally)
2. Step 2: Price breaks BELOW this bullish OB
3. Step 3: The broken bullish OB becomes a bearish breaker
4. Step 4: Now acts as RESISTANCE when price returns
What It Means:
• Old support level failed
• Institutions flipped from buying to selling
• When price returns, zone acts as strong resistance
• Higher probability short setup than regular resistance
Trading Bearish Breakers:
Entry Setup:
• Wait for price to retrace back to bearish breaker
• Look for rejection/reversal from the breaker zone
• Enter short when price respects the breaker as resistance
• Stop loss: Above the breaker block
• Target: Recent low or opposite breaker
Why It Works:
Failed support becoming resistance indicates structural change and often leads to continuation moves.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📊 How To Use This Indicator
Strategy 1: Breaker Block Retest
Timeframes: 15min, 1H, 4H
Style: [/b> Swing trading, reversal entries
Rules:
1. Identify active breaker block (bright color, not gray)
2. Wait for price to return to the breaker zone
3. Look for reversal confirmation (pin bar, engulfing, rejection)
4. Enter in the direction the breaker suggests
5. Stop: Beyond opposite side of breaker
6. Target: 2-3R or previous structure
Example - Bullish Breaker:
• Bullish breaker at $48,000-$48,500
• Price drops to $48,200 (enters breaker)
• Bullish pin bar forms
• Enter long at $48,600, stop at $47,800
• Target: $50,000+
Strategy 2: Multi-Timeframe Breakers
Timeframes: Combine 1H + 4H or 15min + 1H
Style: [/b> High-probability setups
Rules:
1. Identify breaker on higher timeframe (4H or Daily)
2. Switch to lower timeframe (1H or 15min)
3. Look for lower TF breaker WITHIN higher TF breaker
4. Trade the lower TF breaker in same direction as HTF
5. Stop: Below lower TF breaker
6. Target: Edge of higher TF breaker or beyond
Why It Works: Alignment across timeframes increases probability
Strategy 3: Breaker + Order Block Confluence
Timeframes: 1H, 4H
Style: High-conviction trades
Rules:
1. Find breaker block that overlaps with fresh order block
2. This creates double institutional zone
3. Wait for price to reach confluence area
4. Enter on first touch with confirmation
5. Stop: Beyond confluence zone
6. Target: 3-5R
Why It Works: Two ICT concepts aligned = maximum probability
Strategy 4: Breaker Breakout
Timeframes: [/b> 5min, 15min, 1H
Style: Trend continuation
Rules:
1. Price approaches breaker block
2. Instead of respecting it, price breaks THROUGH
3. This indicates very strong momentum
4. Enter breakout in direction of break
5. Stop: Back inside the breaker
6. Target: 2-3R
Why It Works: When breakers fail, momentum is extremely strong
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚙️ Settings Explained
Core Settings
Auto-Adjust for Timeframe (Default: ON)
• Automatically optimizes detection for current chart
• 1min: 3 bars lookback
• 5min: 4 bars lookback
• 15min: 5 bars lookback
• 1H: 6 bars lookback
• 4H+: 8-12 bars lookback
• Recommended: Keep ON
Manual Detection Length (Default: 5)
• Only used when Auto-Adjust is OFF
• Lookback period for finding order blocks
• Lower = more sensitive
• Higher = more selective
Display Settings
Show Bullish/Bearish Breaker Blocks
• Toggle each type independently
• Customize colors (default: cyan and fuchsia)
• Tip: Use colors that stand out from order blocks
Max Breaker Blocks to Display (Default: 10) [/b>
• Limits visible breakers
• Lower (5-8): Cleaner chart
• Higher (15-30): More context
• Recommended: 10-15
Show Breaker Block Labels [/b>
• Displays BB+ and BB- text
• Shows 🎯 on active (nearest) breaker
• Turn OFF for minimal appearance
Extend Blocks (bars) (Default: 50)
• How far to extend boxes to the right
• Recommended: 40-60 bars
Filters
Block Strength Filter (Default: Medium)
• Low: 0.5x ATR - More breakers, more noise
• Medium: 1x ATR - Balanced
• High: 1.5x ATR - Only strongest breakers
• Note: Breakers are naturally less common than OBs
• For learning: Use Low to see more examples
• For trading: Use Medium or High
Min Block Size % (Default: 0.1)
• Minimum breaker size as % of price
• Filters tiny insignificant blocks
• Adjust based on instrument volatility
Advanced
Show Tested Blocks (Default: OFF) [/b>
• When ON: Shows gray boxes for tested breakers
• When OFF: Breakers disappear after test
• Use ON: For learning and analysis
• Use OFF: For clean active trading
Highlight Active Block (Default: ON)
• Highlights nearest breaker to current price
• Active block shown with brighter color and 🎯
• Recommended: Keep ON
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📱 Info Panel Guide
Bullish BB Count Bearish BB Count
• Number of active (untested) bearish breaker blocks
• More bearish breakers = More resistance zones above
Bias Indicator [/b>
• ⬆ Bullish: More bullish breakers (support > resistance)
• ⬇ Bearish: More bearish breakers (resistance > support)
• ↔ Neutral: Equal breakers on both sides
Near Indicator
• Shows nearest active breaker and distance
• Example: "Bull BB -1.5%" = Bullish breaker 1.5% below price
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📱 Alert Setup
This indicator includes 2 alert types:
1. Price Entering Bullish Breaker [/b>
• Fires when price touches bullish breaker block
• Action: Watch for bounce/support
2. Price Entering Bearish Breaker
• Fires when price touches bearish breaker block
• Action: Watch for rejection/resistance
To Set Up Alerts:
1. Click "Alert" button (clock icon)
2. Select "Breaker Blocks"
3. Choose alert type
4. Configure notifications
5. Click "Create"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
💎 Pro Tips & Best Practices
✅ DO:
• Wait for confirmation before entering at breakers
• First touch of breaker has highest reliability
• Use breakers with trend direction for best results
• Combine with order blocks and FVGs for confluence
• Check multiple timeframes for breaker alignment
• Respect breakers - they're stronger than regular S/R
• Use proper stop placement beyond the breaker
⚠️ DON'T:
• Don't trade every breaker - quality over quantity
• Don't ignore breaker breaks - very strong momentum signal
• Don't use tight stops - allow room for wicks
• Don't expect all breakers to hold
• Don't trade against strong momentum through breakers
• Don't confuse breakers with regular order blocks
🎯 Best Timeframes:
• Scalping: 5min, 15min (quick breaker tests)
• Day Trading: 15min, 1H (balanced)
• Swing Trading: 1H, 4H, Daily (major breakers)
🔥 Best Markets:
• Excellent: BTC, ETH, Forex majors, ES, NQ
• Good: Gold, Oil, Major indices
• Note: Breakers need volatility to form
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🎓 Advanced Concepts
Breaker Strength Hierarchy
From weakest to strongest:
1. Support/Resistance lines
2. Order Blocks (unbroken)
3. Breaker Blocks (broken OBs) ← Often strongest
4. Multiple breakers stacked together
Breaker vs Order Block Priority
If breaker and order block overlap:
• Breaker takes precedence
• Failed levels are more significant
• Price respects breakers more reliably
Nested Breakers [/b>
When lower timeframe breaker exists within higher timeframe breaker:
• Trade lower TF breaker first
• Use higher TF breaker as final target
• Highest probability setups
Multiple Breaker Tests [/b>
• First test: Highest probability
• Second test: Still valid but weaker
• Third test: Likely to break through
Breaker Breakouts [/b>
When price breaks through breaker:
• Extremely strong momentum signal
• Old level completely invalidated
• Trade the breakout aggressively
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📈 Common Patterns [/b>
Pattern 1: The Perfect Flip
• Bearish OB forms
• Price breaks above it cleanly
• Becomes bullish breaker
• First retest bounces perfectly
• High-probability setup
Pattern 2: The Double Break
• Bullish OB breaks down (becomes bearish breaker)
• Price tests it and rejects
• Later breaks back up through breaker
• Very strong momentum signal
Pattern 3: The Breaker Ladder [/b>
• Multiple breakers stacked like stairs
• Price bounces from one to next
• Each breaker provides support/resistance
Pattern 4: The Failed Breaker
• Breaker forms but gets broken immediately
• Shows extreme momentum
• Don't fight it - trade the breakout
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🙏 If You Find This Helpful
• ⭐ Leave your feedback
• 💬 Share your experience in the comments
• 🔔 Follow for updates and new tools
Questions about breaker blocks? Feel free to ask in the comments.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Version History [/b>
• v1.0 - Initial release with auto-timeframe detection and polarity flip tracking
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)
RTH & ETH VWAPs (Unified Style)AVWAP indicator showing only the current session. Shows ETH VWAP even when RTH is turned on. Has standard deviation and fills for settings.
Alertes Trading Manuel//@version=6
indicator("Signal simple +0.5% LONG", overlay = true)
// --- Paramètres ---
tpPctInput = input.float(0.5, "TP (%)", step = 0.1) // objectif pour toi : 0.5%
slPctInput = input.float(0.3, "SL (%)", step = 0.1) // SL indicatif : 0.3%
tpPct = tpPctInput / 100.0
slPct = slPctInput / 100.0
emaLenFast = input.int(50, "EMA rapide (intraday)", minval = 1)
emaLenSlow = input.int(200, "EMA lente (intraday)", minval = 1)
volLen = input.int(20, "Période moyenne Volume", minval = 1)
// --- Tendance daily : MA200 jours ---
ma200D = request.security(syminfo.tickerid, "D", ta.sma(close, 200))
above200D = close > ma200D
// --- Tendance intraday ---
emaFast = ta.ema(close, emaLenFast)
emaSlow = ta.ema(close, emaLenSlow)
upTrendIntraday = close > emaFast and emaFast > emaSlow
// --- MACD & RSI ---
= ta.macd(close, 12, 26, 9)
rsi = ta.rsi(close, 14)
macdOK = macdLine > macdSignal
rsiOK = rsi > 49 and rsi < 75
// --- Volume ---
volMa = ta.sma(volume, volLen)
volOK = volume > volume and volume > volMa
// --- Signal LONG simple ---
longSignal = above200D and upTrendIntraday and macdOK and rsiOK and volOK
// --- Affichage du signal ---
plotshape(
longSignal,
title = "Signal LONG",
location = location.belowbar,
style = shape.triangleup,
color = color.lime,
size = size.small,
text = "LONG"
)
// --- Lignes TP / SL indicatives basées sur le dernier signal ---
var float tpLine = na
var float slLine = na
if longSignal
tpLine := close * (1 + tpPct)
slLine := close * (1 - slPct)
// Les lignes restent jusqu'au prochain signal
plot(tpLine, "TP indicatif", color = color.new(color.green, 50), style = plot.style_linebr)
plot(slLine, "SL indicatif", color = color.new(color.red, 50), style = plot.style_linebr)
// --- Affichage des moyennes ---
plot(emaFast, "EMA rapide", color = color.new(color.blue, 40))
plot(emaSlow, "EMA lente", color = color.new(color.orange, 40))
plot(ma200D, "MA200 jours (daily)", color = color.new(color.fuchsia, 0), linewidth = 2)
Core Suite Essentials This script provides institutional-grade, multi-factor market analysis in a unified toolkit. Its true sophistication lies in its ability to reveal the critical interplay—the "dance"—between its core components, offering a profound view of market structure, momentum, and trend health that goes far beyond standard indicators.
Core Differentiators
Reveals the Core Trend "Dance":
The script masterfully visualizes the critical interaction between three foundational elements:
Ichimoku (Tenkan Sen & Kijun Sen): The leading actors defining momentum and equilibrium.
Bollinger Middle Band (BBM): The dynamic stage of support/resistance.
This interaction provides an institutional-grade read on trend integrity:
Strong Trend: A clean, bullish alignment with the Tenkan Sen leading, the Kijun Sen following, and the BBM acting as firm support confirms a powerful, unified move.
Trend Break Warning: The BBM moving between the Tenkan and Kijun signals convergence and compression, a critical alert of weakening momentum and a potential reversal.
Multi-Timeframe Momentum Confirmation:
This core trend analysis is fortified with a layered momentum gauge, providing a robust, institutional-style confirmation system:
Proprietary RSI-Based Bands across weekly, daily, and intraday frames.
Stochastic Channels (Sto12/Sto50) for additional context on price position.
Strategic Filters for Swing & Position Traders:
For higher-timeframe analysis, it delivers essential quantitative tools:
AnEMA29 Angle: Objectively quantifies trend strength and direction.
PDMDR (DMI Ratio): Measures directional dominance to filter low-conviction markets.
Integrated Cross-Asset Intelligence:
Completing the institutional perspective is a Correlation & Hedging Assistant, contextualizing price action against peers and identifying strategic opportunities based on RSI divergences.
Conclusion
This is not a mere collection of indicators; it is a consolidated analytical workstation. It captures the nuanced "dance" of the core trend triad, layers on multi-timeframe momentum confirmation, and provides strategic filters for timing and cross-asset context. This holistic, institutional-grade approach delivers a definitive and actionable market narrative.
ICHIMOKU
@insomniac_vampire
NeoChartLabs Stochastic RSIOne of our Favorite Indicators - The NeoChart Labs Stochastic RSI
Slowed down and smoothed out to hide the jerky movements of the crypto market.
StochRSI measures where the current RSI value sits relative to its recent high and low range. This provides more frequent signals and is designed to address the issue of the standard RSI remaining at extreme levels for too long. Best when used with 80 / 20
The Abramelin Protocol [MPL]"Any sufficiently advanced technology is indistinguishable from magic." — Arthur C. Clarke
🌑 SYSTEM OVERVIEW
The Abramelin Protocol is not a standard technical indicator; it is a "Technomantic" trading algorithm engineered to bridge the gap between 15th-century esoteric mathematics and modern high-frequency markets.
This script is the flagship implementation of the MPL (Magic Programming Language) project—an open-source experimental framework designed to compile metaphysical intent into executable Python and Pine Script algorithms.
Unlike traditional indicators that rely on arbitrary constants (like the 14-period RSI or 200 SMA), this protocol calculates its parameters using "Dynamic Entity Gematria." We utilize a custom Python backend to analyze the ASCII vibrational frequencies of specific metaphysical archetypes, reducing them via Tesla's 3-6-9 harmonic principles to derive market-responsive periods.
🧬 WHAT IS ?
MPL (Magic Programming Language) is a domain-specific language and research initiative created to explore Technomancy—the art of treating code as a spellbook and the market as a chaotic entity to be tamed.
By integrating the logic of ancient Grimoires (such as The Book of Abramelin) with modern Data Science, MPL aims to discover hidden correlations in price action that standard tools overlook.
🔗 CONNECT WITH THE PROJECT:
If you are a developer, a trader, or a seeker of hidden knowledge, examine the source code and join the order:
• 📂 Official Project Site: hakanovski.github.io
• 🐍 MPL Source Code (GitHub): github.com
• 👨💻 Developer Profile (LinkedIn): www.linkedin.com
🔢 THE ALGORITHM: 452 - 204 - 50
The inputs for this script are mathematically derived signatures of the intelligence governing the system:
1. THE PAIMON TREND (Gravity)
• Origin: Derived from the ASCII summation of the archetype PAIMON (King of Secret Knowledge).
• Function: This 452-period Baseline acts as the market's "Event Horizon." It represents the deep, structural direction of the asset.
• Price > Line: Bullish Domain.
• Price < Line: Bearish Void.
2. THE ASTAROTH SIGNAL (Trigger)
• Origin: Derived from the ASCII summation of ASTAROTH (Knower of Past & Future), reduced by Tesla’s 3rd Harmonic.
• Function: This is the active trigger line. It replaces standard moving averages with a precise, gematria-aligned trajectory.
3. THE VOLATILITY MATRIX (Scalp)
• Origin: Based on the 9th Harmonic reduction.
• Function: Creates a "Cloud" around the signal line to visualize market noise.
🛡️ THE MILON GATE (Matrix Filter)
Unique to this script is the "MILON Gate" toggle found in the settings.
• ☑️ Active (Default): The algorithm applies the logic of the MILON Magic Square. Signals are ONLY generated if Volume and Volatility align with the geometric structure of the move. This filters out ~80% of false signals (noise).
• ⬜ Inactive: The algorithm operates in "Raw Mode," showing every mathematical crossover without the volume filter.
⚠️ OPERATIONAL USAGE
• Timeframe: Optimized for 4H (The Builder) and Daily (The Architect) charts.
• Strategy: Use the Black/Grey Line (452) as your directional bias. Take entries only when the "EXECUTE" (Long) or "PURGE" (Short) sigils appear.
Use this tool wisely. Risk responsibly. Let the harmonics guide your entries.
— Hakan Yorganci
Technomancer & Full Stack Developer
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条件+最終三点)")
(SM3) Volume Profile Tool-kit1st pine script. It is a work in progress. I use this to mark previous day high and low value areas as well as overnight volume profile for NYSE open strategy.
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
Risk & Position CalculatorThis indicator is called "Risk & Position Calculator".
This indicator shows 4 information on a table format.
1st: 20 day ADR% (ADR%)
2nd: Low of the day price (LoD)
3rd: The percentage distance between the low of the day price and the current market price in real-time (LoD dist.%)
4th: The calculated amount of shares that are suggested to buy (Shares)
The ADR% and LoD is straightforward, and I will explain more on the 3rd and 4th information.
__________________________________________________________________________________
The Lod dist.% is a useful tool if you are a breakout buyer and use the low of the day price as your stop loss, it helps you determine if a breakout buy is at a risk tight area (~1/2 ADR%) or it is more of a chase (>1 ADR%).
I use four different colors to visualize this calculation results (green, yellow, purple, and red).
Green: Lod dist.% <= 0.5 ADR%
Yellow: 0.5 ADR% < Lod dist.% <= 1 ADR%
Purple: 1 ADR% < Lod dist.% <= 1.5 ADR%
Red: 1.5 ADR% < Lod dist.%
(e.g., if Lod dist.% is colored in Green, it means your stop loss is <= 0.5 ADR%, therefore if you buy here, the risk is probably tight enough)
__________________________________________________________________________________
The Shares is a useful tool if you want to know exactly how many shares you should buy at the breakout moment. To use this tool, you first need to input two information in the indicator setting panel: the account size ($) and portfolio risk (%).
Account Size ($) means the dollar value in your total account.
Portfolio Risk (%) means how much risk you are willing to take per trade.
(e.g. a 1% portfolio risk in a 5000$ account is 50$, which is the risk you will take per trade)
After you provide these two inputs, the indicator will help you calculate how many shares you should buy based on the calculated Dollar Risk ($), real-time market price, and the low of the day price.
(e.g. Dollar Risk (50$), real-time market price (100$), Lod price (95$) -> then you will need to buy 50/(100-95) = 10 shares to meet your demand, so it will display as Shares { 10 } )
In addition, I also introduce a mechanism that helps you avoid buying too big of a position relative to your overall account . I set the limit to 25%, which means you don't put more than 25% of your account money into a single trade, which helps prevent single stock risk.
By introducing this mechanism, it will supervise if the suggested Shares to buy exceed max position limit (25%). If it actually exceeds, instead of using Dollar Risk ($) to calculate Shares, it will use position limit to calculate and display the max Shares you should buy.
__________________________________________________________________________________
That's it. Hope you find this explanation helpful when you use this indicator. Have a great day mate:)
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)
Liquidity Oscillator (Price Impact Proxy)Osc > +60: liquidity is high relative to recent history → slippage tends to be lower.
Osc < -60: liquidity is low → expect worse fills, bigger wicks, easier manipulation.
It’s most useful as a filter (e.g., “don’t enter when liquidity is low”).
True Gap Finder with Revisit DetectionTrue Gap Finder with Revisit Detection
This indicator is a powerful tool for intraday traders to identify and track price gaps. Unlike simple gap indicators, this script actively tracks the status of the gap, visualizing the void until it is filled (revisited) by price.
Key Features:
Active Gap Tracking: Finds gap-up and gap-down occurrences (where Low > Previous High or High < Previous Low) and actively tracks them.
Gap Zones (Clouds): Visually shades the empty "gap zone" (the void between the gap candles), making it instantly obvious where price needs to travel to fill the gap. The cloud disappears automatically once the gap is filled.
Dynamic Labels: automatically displays price labels at the origin of the gap, showing the specific price range (High-Low) that constitutes the gap. Labels are positioned intelligently to avoid cluttering current price action.
Alerts: Configurable alerts notify you the moment a gap is filled.
Customization: Full control over colors, clouds, labels, and alert settings to match your chart style.
How it works: The indicator tracks the most recent gap. If a new gap forms, it becomes the active focus. When price moves back to "close" or "fill" this gap area, the lines and clouds automatically stop plotting, giving you a clean chart that focuses only on open business.
Shannon Entropy (Quant Lab)🟦 Shannon Entropy = The level of "order" or "chaos" in the market.
This indicator gives you the answer to the question:
"Is the market currently orderly and understandable, or is it random and chaotic?"
No other classical indicator can accurately show this.
The value of Entropy is between 0 and 1:
⸻
🟩 1) Entropy = 0.0 – 0.3 → Structured, orderly, readable market
During these periods, the price:
• A trend forms • Ranges work clearly • Patterns (head & shoulders, flag, triangle) form smoothly • Systems like Z-score, VWAP, EMA work very cleanly • Data for modeling (algorithmic strategies, ML) is high quality
Think of this region as follows:
The market "works according to rules," it's easy to trade.
⸻
🟧 2) Entropy = 0.3 – 0.7 → Normal behavior region
In this region:
• Neither too orderly nor too chaotic
• Most systems operate at an average rate • We can say the market is healthy
It is tradable; however, the conditions are not perfect.
⸻
🟥 3) Entropy = 0.7 – 1.0 → Chaos / Noise / Manipulation region
This is the MOST DANGEROUS REGION OF THE MARKET.
What happens?
• Prices jump randomly left and right. • Wicks increase excessively. • Fake breakouts multiply. • The win rate of strategies decreases. • Trend-following systems constantly generate "false signals." • Even mean-reversion systems are caught off guard. • ML models learn junk data during these periods. • Generally, news, liquidation cascades, and manipulation periods increase entropy.
This period perfectly illustrates:
"There is no logic in this market right now — it's moving randomly."
Therefore, it's a period where you need to be very careful:
Reduce position size. • Trade less. • Avoid unnecessary risks. • Tighten stop losses. • Don't use leverage.
This is your risk alert panel.
⸻
🔥 The real superpower Entropy gives you: Trend selection and system selection
Entropy → Determines which strategy you will use.
✔ Low Entropy → Trend following or mean-reversion that works like a toy
✔ High Entropy → Even opening a trade is risky
✔ Normal Entropy → Most strategies work
Building a strategy without this information is unprofessional.
⸻
🧠 Critical summary (you can even copy and paste it as a description in TradingView):
Low entropy → market is structured, patterns & trends are reliable
High entropy → market is chaotic, noisy, unpredictable; avoid aggressive trading
Entropy tells you if your strategy has a high chance or low chance of working
⸻
🟦 Signals Entropy gives in practice:
🔹 Entropy is falling →
The market is stabilizing → A major trend or strong move is approaching.
🔹 Entropy is rising →
The market is becoming chaotic → Sudden spike, a period of trading in prayer mode, extra risk.
🔹 Low Entropy + VR > 1 + High ER → FULL TREND MARKET
A true “trend paradise” period.
🔹 Low Entropy + VR < 1 + High FDI → RANGE MARKET
A paradise of mean reversion.
🔹 High Entropy + High VoV → DANGEROUS PERIOD
Big explosions, news, and liquidations happen here.
⸻
⭐ IN SHORT:
Entropy = an indicator of how randomly the market behaves.
• 0–0.3 → regular, good, reliable market
• 0.3–0.7 → normal market
• 0.7–1.0 → chaotic, dangerous market
It tells you at a glance whether you should trade during this period or not.






















