Adaptive 2-Pole Trend Bands [supfabio]Adaptive 2-Pole Trend Bands is a volatility-aware trend filtering indicator designed to identify the dominant market direction while providing dynamic reference zones around price.
Instead of relying on traditional moving averages, this indicator uses a two-pole digital filter to smooth price action while maintaining responsiveness. Around this central trend line, a multi-band structure based on ATR is applied to help traders evaluate pullbacks, extensions, and potential exhaustion areas within a trend.
Core Concept
The indicator is built around three key ideas:
Digital Trend Filtering
Volatility-Adjusted Bands
Trend Persistence Measurement
These components work together to separate meaningful price movement from noise and to provide context for how far price has moved relative to recent volatility.
Two-Pole Trend Filter
At its core, the indicator uses a two-pole smoothing filter, which produces a cleaner trend curve than common moving averages.
Compared to standard averages, this approach:
Reduces market noise
Produces smoother transitions
Responds faster to genuine trend changes
Avoids excessive lag in trending markets
The result is a trend line that represents the structural direction of price, rather than short-term fluctuations.
Adaptive Multi-Band System
Around the central trend filter, the indicator plots four independent volatility-based bands, each derived from the Average True Range (ATR).
Each band represents a different degree of price extension:
Band 1: Shallow pullbacks and minor reactions
Band 2: Moderate extensions within a trend
Band 3: Strong directional moves
Band 4: Extreme extensions relative to recent volatility
Because the bands are ATR-based, they automatically adapt to changing market conditions, expanding during high volatility and contracting during calmer periods.
This makes the indicator suitable for both slow and fast markets without manual recalibration.
Trend State Detection
The color of the central filter dynamically reflects trend persistence, not just direction:
Sustained upward movement highlights bullish conditions
Sustained downward movement highlights bearish conditions
Transitional phases are visually distinct, helping identify regime changes
This logic is based on how long price has maintained directional behavior, reducing sensitivity to isolated candles or short-lived spikes.
Practical Applications
This indicator can be used as:
A trend filter for discretionary or systematic strategies
A context tool to evaluate pullbacks versus overextension
A risk reference to avoid entries in extreme price zones
A confirmation layer when combined with price action or momentum tools
It performs consistently across different asset classes, including futures, cryptocurrencies, forex, indices, and equities.
Configuration
Key parameters such as filter length, damping factor, and band multipliers are fully configurable, allowing traders to adapt the indicator to different timeframes and trading styles.
Important Notes
This indicator does not predict future price movement
It does not generate guaranteed buy or sell signals
Best results are achieved when used in combination with sound risk management and additional confirmation tools
Past behavior does not imply future performance
Disclaimer
This indicator is provided for educational and analytical purposes only and should not be considered financial advice.
Se quiser, posso:
Criar uma versão resumida para a primeira linha da publicação
Ajustar o texto para um tom mais técnico ou mais comercial
Traduzir para português mantendo o inglês como idioma principal
Revisar o título para SEO dentro da Biblioteca Pública
Indicators and strategies
Ichimoku + VWAP + OBV + ATR Full System (NQ Daytrade)Extended Indicator Description
Ichimoku + VWAP + OBV + ATR Full System is a rule-based intraday trading indicator designed specifically for NQ day trading, focusing on trend alignment, participation confirmation, and volatility-aware execution.
This indicator does not rely on a single signal or crossover. Instead, it integrates multiple market dimensions into one structured framework to help traders identify high-probability trend continuation scenarios while avoiding low-quality, range-bound conditions.
System Philosophy
The core idea of this system is simple:
trade only when trend, price location, volume, and volatility are aligned.
Each component plays a specific role and is not meant to be used in isolation. The indicator works best when all conditions reinforce the same directional bias.
Component Breakdown
Ichimoku Cloud
Used to define the primary market structure and directional bias. The system favors trades only when price action aligns clearly above or below the cloud, helping filter out indecisive or transitional phases.
VWAP
Acts as a session-based equilibrium reference. Price position and distance relative to VWAP are used to confirm whether the market is trending with intent rather than reverting to the mean.
OBV (On-Balance Volume)
Provides participation and flow confirmation. OBV helps validate whether price movement is supported by volume, reducing the likelihood of false breakouts or weak trend signals.
ATR (Average True Range)
Used as a volatility filter and risk-awareness tool. ATR conditions help the system avoid low-volatility environments and support more realistic expectations for intraday movement.
Trade Logic Overview
The system is designed around trend-following pullbacks, not prediction or counter-trend trading.
When trend structure is established and confirmed by VWAP positioning and OBV behavior, pullback zones within the trend become areas of interest. ATR conditions ensure that trades are taken only when sufficient movement potential exists.
Rather than generating frequent signals, the system prioritizes selectivity and clarity, making it suitable for disciplined day traders who value context over quantity.
Intended Use
This indicator is built for:
NQ intraday and day trading
Trend continuation and pullback strategies
Traders who prefer structured, confirmation-based systems
Lower to mid intraday timeframes such as 3-minute, 5-minute, and 15-minute charts
Important Notes
This is not an automated trading system and does not provide guaranteed results. The indicator is designed as a decision-support tool to assist with market context, directional bias, and trade timing. Risk management, execution, and position sizing remain the responsibility of the user.
롱/숏 삼각형 시그널
동그라미 청산 시그널
VWAP 밴드 기반 방향성
OBV 보조지표
이름 (Name)
BTC Scalping Signal – VWAP + OBV
짧은 설명 (Short Description)
VWAP 밴드와 OBV를 기반으로 방향성, 진입·청산 시그널을 제공하는 스캘핑 지표입니다.
긴 설명 (Long Description)
이 지표는 BTC 단기 스캘핑을 위해 설계된 것으로, 특히 15분봉 환경에 최적화되어 있습니다.
VWAP 밴드의 위치와 추세 판별 로직을 기반으로 롱·숏 진입 신호를 제공합니다.
OBV 모멘텀을 보조 필터로 사용하여 돌파 및 되돌림 가능성을 판단합니다.
시장 변동성이 축소되거나 평균회귀 신호가 감지될 때 청산 시그널을 표시합니다.
삼각형(진입), 원형(청산) 등 직관적 시각 요소를 통해 빠른 의사결정을 지원합니다.
Index ScalpingIndex Scalping Indicator will help to reduced the noise and provide clear call/put options. Use it in 5 min timeframe
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.
NeoChartLabs TrixxOne of our Favorite Indicators - The Trixx - The Trix with K & J lines for extra crossovers and trend analysis. Best when used on the 4hr and above.
Shout out to fauxlife for the original script, we updated to v6.
The TRIX indicator (Triple Exponential Average) is a momentum oscillator used in technical analysis to show the percentage rate of change of a triple-smoothed exponential moving average, helping traders identify overbought/oversold conditions and potential trend reversals by filtering out minor price fluctuations. It plots as a line oscillating around a zero line, often with a signal line (an EMA of TRIX) for crossovers, and traders look for divergence with price or signal line crosses for buy/sell signals
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
Sinals 15m - RSI 7 e 9This strategy is designed to capture continuation moves on the 15-minute chart by combining trend filters, momentum indicators, and strong-candle confirmation. The core idea is to enter trades shortly after EMA crossovers that signal direction, as long as momentum and candle strength support the move.
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.
Liquidity Sweep + FVG Entry Model//@version=5
indicator("Liquidity Sweep + FVG Entry Model", overlay = true, max_labels_count = 500, max_lines_count = 500)
// Just to confirm indicator is loaded, always plot close:
plot(close, color = color.new(color.white, 0))
// ─────────────────────────────────────────────
// PARAMETERS
// ─────────────────────────────────────────────
len = input.int(5, "Liquidity Lookback")
tpMultiplier = input.float(2.0, "TP Distance Multiplier")
// ─────────────────────────────────────────────
// LIQUIDITY SWEEP DETECTION
// ─────────────────────────────────────────────
lowestPrev = ta.lowest(low, len)
highestPrev = ta.highest(high, len)
sweepLow = low < lowestPrev and close > lowestPrev
sweepHigh = high > highestPrev and close < highestPrev
// Plot liquidity levels
plot(lowestPrev, "Liquidity Low", color = color.new(color.blue, 40), style = plot.style_line)
plot(highestPrev, "Liquidity High", color = color.new(color.red, 40), style = plot.style_line)
// ─────────────────────────────────────────────
// DISPLACEMENT DETECTION
// ─────────────────────────────────────────────
bullDisp = sweepLow and close > open and close > close
bearDisp = sweepHigh and close < open and close < close
// ─────────────────────────────────────────────
// FAIR VALUE GAP (FVG)
// ─────────────────────────────────────────────
bullFVG = low > high
bearFVG = high < low
// we’ll store the last FVG lines
var line fvgTop = na
var line fvgBottom = na
// clear old FVG lines when new one appears
if bullFVG or bearFVG
if not na(fvgTop)
line.delete(fvgTop)
if not na(fvgBottom)
line.delete(fvgBottom)
// Bullish FVG box
if bullFVG
fvgTop := line.new(bar_index , high , bar_index, high , extend = extend.right, color = color.new(color.green, 60))
fvgBottom := line.new(bar_index , low, bar_index, low, extend = extend.right, color = color.new(color.green, 60))
// Bearish FVG box
if bearFVG
fvgTop := line.new(bar_index , low , bar_index, low , extend = extend.right, color = color.new(color.red, 60))
fvgBottom := line.new(bar_index , high, bar_index, high, extend = extend.right, color = color.new(color.red, 60))
// ─────────────────────────────────────────────
// ENTRY, SL, TP CONDITIONS
// ─────────────────────────────────────────────
var line slLine = na
var line tp1Line = na
var line tp2Line = na
f_deleteLineIfExists(line_id) =>
if not na(line_id)
line.delete(line_id)
if bullDisp and bullFVG
sl = low
tp1 = close + (close - sl) * tpMultiplier
tp2 = close + (close - sl) * (tpMultiplier * 1.5)
f_deleteLineIfExists(slLine)
f_deleteLineIfExists(tp1Line)
f_deleteLineIfExists(tp2Line)
slLine := line.new(bar_index, sl, bar_index + 1, sl, extend = extend.right, color = color.red)
tp1Line := line.new(bar_index, tp1, bar_index + 1, tp1, extend = extend.right, color = color.green)
tp2Line := line.new(bar_index, tp2, bar_index + 1, tp2, extend = extend.right, color = color.green)
label.new(bar_index, close, "BUY Entry FVG Retest SL Below Sweep",
style = label.style_label_up, color = color.new(color.green, 0), textcolor = color.white)
if bearDisp and bearFVG
sl = high
tp1 = close - (sl - close) * tpMultiplier
tp2 = close - (sl - close) * (tpMultiplier * 1.5)
f_deleteLineIfExists(slLine)
f_deleteLineIfExists(tp1Line)
f_deleteLineIfExists(tp2Line)
slLine := line.new(bar_index, sl, bar_index + 1, sl, extend = extend.right, color = color.red)
tp1Line := line.new(bar_index, tp1, bar_index + 1, tp1, extend = extend.right, color = color.green)
tp2Line := line.new(bar_index, tp2, bar_index + 1, tp2, extend = extend.right, color = color.green)
label.new(bar_index, close, "SELL Entry FVG Retest SL Above Sweep",
style = label.style_label_down, color = color.new(color.red, 0), textcolor = color.white)
Volatility Trend FollowerThe script combines several classic technical analysis techniques:
SuperTrend / Adaptive Band - The main idea comes from the SuperTrend indicator, which uses ATR (Average True Range) to create a trailing band that adapts to volatility
ATR (Average True Range) - A volatility measure developed by J. Welles Wilder Jr.
EMA (Exponential Moving Average) - Used as a global trend filter
Heikin Ashi - An option to smooth prices and reduce noise
Rahul Prakash's BUY/SELL signal for momentum tradeBuy or Sell signal with just on one confirmation candle.
Show a Buy singal then wait for the confirmation candle, is a strong Buy signal.
Show a Sell singal then wait for the confirmation candle, is a strong Sell signal.
You can use as a free version and earn money. Please are taking lots of price for this type of indicator.
Strategia S&P 500 vs US10Y YieldThis strategy explores the macroeconomic relationship between the equity market (S&P 500) and the debt market (10-Year Treasury Yield). Historically, rapid spikes in bond yields often exert downward pressure on equity valuations, leading to corrections or bear markets.
The goal of this strategy is capital preservation. It attempts to switch to cash when yields are rising too aggressively and re-enter the stock market when the bond market stabilizes.
(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.
OPTIMISED FOR 15Min on certain FOREX Ichimoku & Friends Strategy
Timeframe
15-Minute Chart
Entry Rules
Required Conditions ALL Must Be True
For LONG Entries:
Trend: Price is above EMA 200 (purple line)
Ichimoku: Tenkan (blue) is above Kijun (red)
Price Position: Close is above BOTH Tenkan AND Kijun
ADX: Must be above 22 (shows strong trend)
RSI: Between 50 and 70 (has momentum, not overbought)
Cooldown: At least 12 bars since last trade closed
For SHORT Entries:
Trend: Price is below EMA 200 (purple line)
Ichimoku: Tenkan (blue) is below Kijun (red)
Price Position: Close is below BOTH Tenkan AND Kijun
ADX: Must be above 22 (shows strong trend)
RSI: Between 30 and 50 (has momentum, not oversold)
Cooldown: At least 12 bars since last trade closed
Entry Signals Any ONE of These
Signal Type 1: Cross (C)
Long: Tenkan crosses above Kijun AND price closes above Kijun
Short: Tenkan crosses below Kijun AND price closes below Kijun
Wait 1 bar to confirm the cross holds
Signal Type 2: Bounce (B) - Most Reliable
Long: Price touches/dips to Kijun, then bounces up with strong bullish candle
Short: Price touches/spikes to Kijun, then rejects down with strong bearish candle
Must occur within last 3 bars
Signal Type 3: Breakout (K)
Long: Price breaks above Kijun with strong bullish momentum candle
Short: Price breaks below Kijun with strong bearish momentum candle
Candle body must be at least 40% of ATR
Risk Management
Stop Loss Placement
Placed at the lower of:
Recent swing low (last 5 bars) for longs
Kijun minus 0.5 ATR for longs
Minimum distance: 2.5 x ATR
FOR SHORTS: Mirror logic using swing highs
Take Profit
2x the stop loss distance
Example: If stop is 20 pips away, target is 40 pips
Position Size
100% of equity per trade (as per current settings)
Adjust based on your risk tolerance
Trade Management
When to Enter
Only when ALL entry conditions are met
Check that background is shaded (green for long, red for short)
Small letter markers (C, B, K) show which signal type triggered
When to Exit
Take Profit hit (2x R:R ratio)
Stop Loss hit (smart placement protects capital)
Strategy closes position (conditions reverse)
Cooldown Period
Wait 12 bars (3 hours on 15m chart) after any trade closes
Prevents revenge trading and overtrading
Visual Indicators on Chart
Lines
Blue (Tenkan): 9-period conversion line
Red (Kijun): 26-period base line
Purple (EMA 200): Long-term trend line
Orange (EMA 50): Not used in current rules
Signals
Large Green Triangle Up: LONG entry
Large Red Triangle Down: SHORT entry
Small Letters (C/B/K): Which signal type triggered
Background Colors
Light Green: Conditions favorable for LONG (ADX good, uptrend)
Light Red: Conditions favorable for SHORT (ADX good, downtrend)
No Color: Not safe to trade
Top Right Display
ADX Value: Green = above threshold, Red = below
Win Rate: Shows current performance
Quick Checklist Before Entry
LONG Trade Checklist:
Price above purple EMA 200
Blue line above red line
Price above both blue AND red lines
ADX number is green (above 22)
RSI between 50-70
Background is light green
At least 12 bars since last trade
Signal marker appeared (triangle or letter)
SHORT Trade Checklist:
Price below purple EMA 200
Blue line below red line
Price below both blue AND red lines
ADX number is green (above 22)
RSI between 30-50
Background is light red
At least 12 bars since last trade
Signal marker appeared (triangle or letter)
Tips for Success
Best Signal Type: Bounce (B) signals typically have highest win rate
ADX is Critical: Do not trade when ADX is red - wait for trends
Be Patient: 2-3 trades per day on 15m is normal and healthy
Trust the System: Do not second-guess the signals
Respect Cooldown: Waiting prevents emotional trading
Monitor Win Rate: Keep above 50% for profitability with 2:1 R:R
Adjustable Settings
If you want to modify strategy performance:
For Higher Win Rate Fewer Trades:
Increase "Minimum ADX" to 25
Increase "Cooldown Bars" to 15
Turn OFF breakout signals
For More Trades Slightly Lower Win Rate:
Decrease "Minimum ADX" to 20
Decrease "Cooldown Bars" to 8
Keep all signal types enabled
For Better Risk:Reward:
Increase "Risk:Reward Ratio" to 2.5 or 3.0
This means bigger targets, letting winners run more
What NOT to Do
Do not trade without ADX confirmation (when number is red)
Do not enter during cooldown period
Do not trade when price is chopping around EMA 200
Do not override the stop loss - let it work
Do not take signals when Tenkan and Kijun are flat/parallel
Do not force trades - wait for all conditions
Do not trade if you see no background shading
Notes
Current Performance: 67% win rate (2/3 trades)
Timeframe: 15-minute (3 hours = 12 bars cooldown)
Profit Factor Target: Above 1.5 is excellent
Strategy works best during: European and US trading sessions when volatility is higher
DYOR NFA
Support & Resistance Auto-Detector by Rakesh SharmaVersion 1.1 Update:
- Fixed: S/R lines now extend infinitely to the right
- Fixed: Lines move with chart when scrolling
- Added: Toggle to control line extension
- Improved: Better visibility across all timeframes
Directional Movement Index (SHADED)Shaded red in between DMI lines when DMI- > DMI+
Shaded blue in between DMI lines when DMI+ > DMI-
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)
LSTM-Inspired BB Mean Reversion// ============================================================================
// BOLLINGER BANDS MEAN REVERSION STRATEGY
// Based on LSTM Model True Positive Signal Characteristics
// ============================================================================
// Model learned to identify:
// 1. Price at/below Lower Bollinger Band (100% of TP signals)
// 2. RSI < 30 (Oversold) (75% of TP signals)
// 3. High volatility (wide BB bands)
// 4. Below average volume (contrarian)
// ============================================================================
Friday-Monday Pattern Backtest (Market Rebellion)Tests the "Friday-Monday Pattern" popularized by Tom Hougaard / Market Rebellion.
PATTERN LOGIC:
• When Friday's high is LOWER than Thursday's high (setup condition)
• Then Friday's low is often revisited on the following Monday
WHAT THIS INDICATOR SHOWS:
• Orange background highlights valid setup bars (Thu-Fri-Mon)
• Red horizontal line marks Friday's low (the target level)
• Green "SUCCESS" label = Monday hit Friday's low
• Red "FAIL" label = Monday did not reach Friday's low
• Stats table (top-right) shows total setups, successes, and success rate
USE THIS TO:
• Backtest the pattern on any daily chart (works best on indices, forex, futures)
• Verify the claimed "overwhelming" tendency statistically
• Identify which markets/timeframes show the highest success rate
CREDITS:
Pattern idea from Tom Hougaard / Market Rebellion: x.com
Indicator by BacktestBay for transparent pattern verification.
USAGE NOTES:
• Must be applied to DAILY charts
• Uses time_close("D") for accurate day-of-week detection on forex pairs
• No trading signals - purely for statistical backtesting
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
Vortex Imbalance DetectorVortex Imbalance Detector (VID)
Core Purpose:
To spot "fresh" institutional order flow entering the market, aiming to catch the early stage of a potential reversal driven by an imbalance between aggressive buyers and sellers.
It looks for moments when a surge in buying or selling pressure coincides with a sharp acceleration in price momentum at a market extreme.
The Vortex Imbalance Detector identifies high-probability reversal points by detecting simultaneous shifts in order flow (buy/sell pressure) and price momentum acceleration.
What It Does:
Order Flow Proxy: Creates a cumulative delta-like metric using price action (body vs. range) to estimate net buying or selling pressure.
Momentum Vortex: Calculates price acceleration (the rate of change of velocity) to gauge the force behind a move.
Imbalance Signal: Triggers when both conditions align:
Flow Flip: The order flow proxy crosses above/below zero with significant strength (exceeding a threshold).
Vortex Reversal: The momentum acceleration confirms the direction (positive for buys, negative for sells).
Price Extreme: The signal occurs at a recent low (for buys) or high (for sells).
Output:
Buy Signal (▲): A bullish order flow imbalance with upward momentum acceleration at a short-term low.
Sell Signal (▼): A bearish order flow imbalance with downward momentum acceleration at a short-term high.
Simple Gap IndicatorTitle: Simple Gap Indicator
Description: This is a utility script designed to automate the tracking and management of price gaps (also known as "Windows") on the chart. Unlike static drawings, this indicator dynamically monitors open gaps and automatically "closes" them (stops drawing) once price has filled the area, keeping your chart clean and focused on active levels only.
Why Use This Tool? Traders often mark gaps manually, but charts quickly become cluttered with old, invalid levels. This script solves that problem by using an array-based management system to track every open gap in real-time and remove it the moment it is invalidated by price action.
Technical Methodology:
Gap Detection: The script identifies "Full Gaps" where the Low of the current candle is higher than the High of the previous candle (Bullish), or vice versa (Bearish). This indicates a total disconnect in price delivery.
Dynamic Filtering:
ATR Filter: Users can filter out insignificant "noise" gaps by setting a minimum size threshold based on the Average True Range (ATR).
Time Filter: Option to restrict gap detection to specific session hours (e.g., ignoring overnight gaps on 24h charts).
Auto-Closure: The script loops through all active gaps on every new bar. If the current price wick touches an open gap, the box is visually terminated at that specific bar index and removed from the tracking array.
Visuals:
Green Box: Bullish Gap (Support Zone).
Red Box: Bearish Gap (Resistance Zone).
Labels: Optional text displaying the precise Top/Bottom price coordinates of the gap.
How to Use:
Enable "Auto-Close Gap on Retest" to keep your chart clean.
Use the ATR Filter if you are getting too many signals on lower timeframes (e.g., set to 0.5x ATR).
Set alerts for "New Gap" or "Gap Filled" to automate your workflow.
Credits: Calculations based on standard Gap/Window price action theory. Array management logic custom-coded for Pine Script v6.






















