takeshi Rule Disqualification//@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)
upperToLower = input.float(0.6, "ピンバー:上ヒゲ<=下ヒゲ×", 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)
// “二度と戻らない銘柄” 即解除(押し目待ち中のゴミ滞留防止)
cutOnBreakFail = input.bool(true, "押し目待ち中:レジ割れで即解除")
cutOnBelow26 = input.bool(true, "押し目待ち中:26EMA割れで即解除")
cutOnEma5Down = input.bool(true, "押し目待ち中:5EMA下向きで即解除")
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// 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: トレンド(掟A)
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ema5Up = ema5 > ema5
ema13Up = ema13 > ema13
ema26Up = ema26 > ema26
chk1_allEmaUp = ema5Up and ema13Up and ema26Up
chk2_golden = (ema5 > ema13) and (ema13 > ema26)
chk3_above26_2days = (close > ema26) and (close > ema26 )
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// 4: MACD(掟B:ゼロライン上GC)
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
chk4_macdZeroGC = ta.crossover(macdLine, macdSignal) and (macdLine > 0) and (macdSignal > 0)
// 参考:ヒストグラム縮小→上向き(表示だけ)
histShrinkToUp = (macdHist > macdHist ) and (macdHist < macdHist )
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// 5: 出来高(掟C)
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
chk5_volOK = not na(volMul) and (volMul >= volMinMul) and (volMul <= volMaxMul)
volStrongOK = not na(volMul) and (volMul >= volFinalMul) // 最終三点
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// 6: ローソク(掟D:ピンバー/包み/大陽線)
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// ピンバー(下ヒゲが実体より長く、上ヒゲが短め、陽線寄り)
longLowerWick = (body > 0) and ((lowerWick / body) >= wickBodyMult) and (upperWick <= lowerWick * upperToLower) and (close >= open)
// 陽線包み足
bullEngulf = (close < open ) and (close > open) and (open <= close ) and (close >= open )
// 大陽線(EMA13を跨ぐ/上に抜け、実体がATR基準)
bigBull = (close > open) and (body >= atr * bigBodyATR) and (open < ema13) and (close > ema5)
chk6_candleOK = longLowerWick or bullEngulf or bigBull
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// 7-8: ブレイク後押し目(掟E)
// chk7 = 押し目率(-5〜15%)
// chk8 = ブレイク後&レジスタンス維持(リテストOK)
// ※chk7とchk8を独立させ、二重判定を排除
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
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
chk7_pullOK = not na(pullPct) and (pullPct >= pullMinPct) and (pullPct <= pullMaxPct)
// レジ維持(ブレイク価格を許容範囲内で保持)
retestOK = inBreak and not na(breakPrice) and (close >= breakPrice * (1 - retestAllowPct/100.0))
chk8_breakoutRetestOK = retestOK
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// 押し目待ち中:即解除(“二度と戻らない銘柄”を切る)
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
breakFail = inBreak and not na(breakPrice) and close < breakPrice * (1 - retestAllowPct/100.0)
below26 = inBreak and close < ema26
ema5Down = inBreak and ema5 <= ema5
shouldCut =
(cutOnBreakFail and breakFail) or
(cutOnBelow26 and below26) or
(cutOnEma5Down and ema5Down)
// 期限切れ or 即解除
if inBreak and not na(breakBar) and (bar_index - breakBar > stateExpireBars)
inBreak := false
breakPrice := na
breakBar := na
postBreakHigh := na
if shouldCut
inBreak := false
breakPrice := na
breakBar := na
postBreakHigh := na
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// 8項目チェック(1つでも欠けたら見送り)
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
chk1 = chk1_allEmaUp
chk2 = chk2_golden
chk3 = chk3_above26_2days
chk4 = chk4_macdZeroGC
chk5 = chk5_volOK
chk6 = chk6_candleOK
chk7 = chk7_pullOK
chk8 = chk8_breakoutRetestOK
all8 = chk1 and chk2 and chk3 and chk4 and chk5 and chk6 and chk7 and chk8
// 最終三点(ヒゲ×出来高×MACD)
final3 = longLowerWick and volStrongOK and chk4_macdZeroGC
judge = (all8 and final3) ? "判定:買い" : "判定:見送り"
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// コメント文字列
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
fMark(x) => x ? "達成" : "未達"
cutReason =
shouldCut ? (
(cutOnBreakFail and breakFail) ? "即解除:レジ割れ" :
(cutOnBelow26 and below26) ? "即解除:26EMA割れ" :
(cutOnEma5Down and ema5Down) ? "即解除:5EMA下向き" :
"即解除"
) :
(inBreak ? "押し目待ち:継続" : "押し目待ち:未突入/解除")
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 + " " +
"状態: " + cutReason + " " +
"(参考)出来高倍率=" + (na(volMul) ? "na" : str.tostring(volMul, "#.00")) +
" / 押し目率=" + (na(pullPct) ? "na" : str.tostring(pullPct, "#.0")) + "%" +
" / hist転換=" + (histShrinkToUp ? "YES" : "NO")
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// Table(位置切替:入力変更時に作り直し)
//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
pos =
panelPos == "右上" ? position.top_right :
panelPos == "左上" ? position.top_left :
panelPos == "右下" ? position.bottom_right :
position.bottom_left
var string prevPos = na
var table t = na
if barstate.isfirst or prevPos != panelPos or na(t)
t := table.new(pos, 1, 1)
prevPos := panelPos
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")
// ブレイク価格(参考)
plot(inBreak ? breakPrice : na, title="BreakPrice", color=color.new(color.aqua, 0), style=plot.style_linebr, linewidth=1)
// BUYサイン
plotshape(all8 and final3, title="BUY", style=shape.triangleup, location=location.belowbar,
color=color.new(color.lime, 0), size=size.tiny, text="BUY")
Candlestick analysis
Swing Stockpicking Dashboard//@version=5
indicator("Swing Stockpicking Dashboard (Mansfield RS + Trend Template)", overlay=true, max_labels_count=500)
// ---------- Inputs ----------
bench = input.symbol("SPY", "Benchmark (para RS)")
rsLen = input.int(252, "52w lookback (barras)", minval=20)
rsMaLen = input.int(252, "RS base MA (barras)", minval=20)
ma50Len = input.int(50, "SMA rápida", minval=1)
ma150Len = input.int(150, "SMA media", minval=1)
ma200Len = input.int(200, "SMA lenta", minval=1)
slopeLookback = input.int(22, "Pendiente MA200 (barras)", minval=1)
scoreThreshold = input.int(5, "Umbral score (0–7)", minval=0, maxval=7)
showMAs = input.bool(true, "Dibujar medias")
showTable = input.bool(true, "Mostrar tabla dashboard")
// ---------- Benchmark & Mansfield RS ----------
benchClose = request.security(bench, timeframe.period, close)
ratio = (benchClose > 0) ? (close / benchClose) : na
rsBase = ta.sma(ratio, rsMaLen)
mansfield = (rsBase != 0 and not na(rsBase)) ? ((ratio / rsBase - 1) * 100) : na
// ---------- Price MAs ----------
ma50 = ta.sma(close, ma50Len)
ma150 = ta.sma(close, ma150Len)
ma200 = ta.sma(close, ma200Len)
// ---------- 52w High/Low ----------
hi52 = ta.highest(high, rsLen)
lo52 = ta.lowest(low, rsLen)
// ---------- Minervini-style checks ----------
c1 = close > ma150 and close > ma200
c2 = ma150 > ma200
c3 = ma200 > ma200 // MA200 subiendo vs hace ~1 mes (en D)
c4 = ma50 > ma150 and ma50 > ma200
c5 = close >= lo52 * 1.25 // ≥ +25% desde mínimo 52w
c6 = close >= hi52 * 0.75 // dentro del 25% de máximos 52w
c7 = (mansfield > 0) and (mansfield > mansfield ) // RS > 0 y mejorando
score = (c1 ? 1 : 0) + (c2 ? 1 : 0) + (c3 ? 1 : 0) + (c4 ? 1 : 0) + (c5 ? 1 : 0) + (c6 ? 1 : 0) + (c7 ? 1 : 0)
qualified = score >= scoreThreshold
// ---------- Plots ----------
if showMAs
plot(ma50, "SMA 50", linewidth=1)
plot(ma150, "SMA 150", linewidth=1)
plot(ma200, "SMA 200", linewidth=2)
plotshape(qualified, title="PICK", style=shape.triangleup, location=location.belowbar, size=size.tiny, text="PICK")
// ---------- Dashboard table ----------
var table t = table.new(position.top_right, 2, 9, frame_width=1)
f_row(_r, _name, _ok) =>
table.cell(t, 0, _r, _name)
table.cell(t, 1, _r, _ok ? "OK" : "—")
if showTable and barstate.islast
table.cell(t, 0, 0, "Check")
table.cell(t, 1, 0, "Pass")
f_row(1, "Price > SMA150 & SMA200", c1)
f_row(2, "SMA150 > SMA200", c2)
f_row(3, "SMA200 rising (" + str.tostring(slopeLookback) + ")", c3)
f_row(4, "SMA50 > SMA150 & SMA200", c4)
f_row(5, "≥ +25% from 52w low", c5)
f_row(6, "Within 25% of 52w high", c6)
f_row(7, "Mansfield RS > 0 & rising", c7)
table.cell(t, 0, 8, "Score")
table.cell(t, 1, 8, str.tostring(score) + "/7")
// ---------- Alerts ----------
alertcondition(qualified, "Qualified stock (PICK)", "El activo supera el score mínimo para stock-picking swing.")
The Strat Candle Types (1 / 2U / 2D / 3)This script uses TheStrat candle numbers 1, 2D, 2U, 3 and places the text below or above. You can also change the text size. This also allows you to change the colors of the candles with two options for the 1 & 3 so you can color them in the direction they are going. For example a 1 that is green can be green and a 1 that is red can be red.
Supertrend 14-3 with Auto Fibthis strategy use the supertrend with the Auto fib levels for market analysis
VSA Persistent Zones with Arrows Purpose
This indicator is designed to analyze trading volume relative to price movement using the VSA (Volume Spread Analysis) methodology. It aims to:
Identify key price zones where there is strong price movement with high trading volume.
Plot arrows on high-volume candles for quick visual identification.
Keep these zones persistent until broken by price, helping traders make decisions based on real support and resistance levels.
3 EMA IndicatorThis indicator is a combination og three EMA's
This indicator is a combination og three EMA's
This indicator is a combination og three EMA's
This indicator is a combination og three EMA's
This indicator is a combination og three EMA's
Info Box with VPINfo box with turnover
it has all the % of SL
it also has VOlume and turnover with it
It is lighter version of prov
A-Share Broad-Based ETF Dual-Core Timing System1. Strategy Overview
The "A-Share Broad-Based ETF Dual-Core Timing System" is a quantitative trading strategy tailored for the Chinese A-share market (specifically for broad-based ETFs like CSI 300, CSI 500, STAR 50). Recognizing the market's characteristic of "short bulls, long bears, and sharp bottoms," this strategy employs a "Left-Side Latency + Right-Side Full Position" dual-core driver. It aims to safely bottom-fish during the late stages of a bear market and maximize profits during the main ascending waves of a bull market.
2. Core Logic
A. Left-Side Latency (Rebound/Bottom Fishing)
Capital Allocation: Defaults to 50% position.
Philosophy: "Buy when others fear." Seeks opportunities in extreme panic or momentum divergence.
Entry Signals (Triggered by any of the following):
Extreme Panic: RSI Oversold (<30) + Price below Bollinger Lower Band + Bullish Candle Close (Avoid catching falling knives).
Oversold Bias: Price deviates more than 15% from the 60-day MA (Life Line), betting on mean reversion.
MACD Bullish Divergence: Price makes a new low while MACD histogram does not, accompanied by strengthening momentum.
B. Right-Side Full Position (Trend Following)
Capital Allocation: Aggressively scales up to Full Position (~99%) upon signal trigger.
Philosophy: "Follow the trend." Strike heavily once the trend is confirmed.
Entry Signals (All must be met):
Upward Trend: MACD Golden Cross + Price above 20-day MA.
Breakout Confirmation: CCI indicator breaks above 100, confirming a main ascending wave.
Volume Support: Volume MACD Golden Cross, ensuring price increase is backed by volume.
C. Smart Risk Control
Bear Market Exhaustion Exit: In a bearish trend (MA20 < MA60), the strategy does not "hold and hope." It immediately liquidates left-side positions upon signs of rebound exhaustion (breaking below MA20, touching MA60 resistance, or RSI failure).
ATR Trailing Stop: Uses Average True Range (ATR) to calculate a dynamic stop-profit line that rises with the price to lock in profits.
Hard Stop Loss: Forces a stop-loss if the left-side bottom fishing fails and losses exceed a set ATR multiple, preventing deep drawdowns.
3. Recommendations
Target Assets: High liquidity broad-based ETFs such as CSI 300 ETF (510300), CSI 500 ETF (510500), ChiNext ETF (159915), STAR 50 ETF (588000).
Timeframe: Daily Chart.
FPT - Engulfing Bar Highlight📌 Description
FPT – Engulfing Bar Highlight is a clean and lightweight indicator designed to highlight valid bullish and bearish engulfing candles directly on the chart.
The indicator uses a strict engulfing definition:
Bullish Engulfing
Current low breaks the previous low
Close is above the previous open
Close is above the current open
Bearish Engulfing
Current high breaks the previous high
Close is below the previous open
Close is below the current open
An optional minimum candle size filter (in ticks) helps eliminate weak or insignificant engulfing candles.
This tool is ideal for traders who:
Trade price action
Use engulfing candles as entry, confirmation, or context
Want a minimal, non-intrusive visual highlight
Combine engulfing logic with key levels, sessions, or other strategies
⚙️ Inputs
Highlight Mode
Bull Only
Bear Only
Both
Minimum Engulfing Size (ticks)
🎯 Features
Clean bar highlight (no boxes, labels, or signals)
No repainting
Works on any market and timeframe
Perfect for discretionary and algorithmic workflows
⚠️ Disclaimer
This indicator is for educational and informational purposes only.
It does not constitute financial advice.
Always use proper risk management.
Momentum Candle v2 by stefStef indikator momentum candle
Can be use for free. Just input the candle value
Auto Execution BotUK ALGORITHMS™ | Auto Execution Bot is a fine-tuned EURUSD execution strategy built for consistent risk control and prop-firm style conditions. It prints clear BUY/SELL entries, auto-manages SL/TP with configurable pips + R:R, and shows clean on-chart risk/reward boxes plus live SL/TP price tags for manual copying. Includes a manual high-impact news filter to block new trades around events (e.g. 60 mins before). A fixed 2-year backtest window is included so results are visible in Strategy Tester—markets change and outcomes can’t be guaranteed.
[STRATEGY] Adaptive Multi Factor Trend Trading v1.2Daily Filters
Close vs. short/long daily SMAs (customizable) defines directional priority.
Use the daily Short Long MA spread (or ATR‑normalized) to filter out range‑bound conditions and reduce false breakouts.
30‑Minute Entry Logic
Buy
Daily bullish regime confirmed
High breaks above the trend
Protected by trailing take‑profit and fixed stop‑loss.
Sell #1
Daily bearish regime confirmed
Low breaks below the trend
Long MA slope must be strong (trend‑quality filter).
Sell #2
Day‑session only, limited to high‑probability hours
Triggered by an aggregated bear score (multi‑factor stack) + a downward linear‑regression slope
Friday uses special thresholds/intervals (event‑risk control).
Multi‑Factor Framework
MACD, RSI, Stoch (KD), Ichimoku, CCI, PSAR, Williams %R, Heikin Ashi, Bias, Force Index, plus regression‑slope.
Signals are stacked into bull/bear totals and used as filters or weights—no single indicator dominance.
Risk & Position Management
Fixed TP/SL + trailing TP across entry types
Position size adapts to recent performance (loss‑streak counter) and slope state
Auto pause when the loss streak hits the threshold (configurable duration).
Trading‑Day Controls
Optional pre‑holiday blackout list
Date‑range limiter for backtests or deployment windows.
Design Intent
The goal is to keep net P&L stable while lifting win rate.
In strong‑trend environments, the system leans into trend signals (Sell #1 / Buy).
In short‑term chop, Sell #2 timing and the slope filter reduce noise and avoid low‑quality entries.
Three Soldiers - Short-Side Breakout Strategy Overview
This is the dedicated SHORT version of the Three Soldiers Martingale Pro strategy, designed specifically for bearish momentum on Ethereum 15-minute charts. It operates as the mirror image of the LONG version, using identical logic but reversed signals and position management for downward trends.
Core Concept: Bearish Momentum Capture
When the LONG version catches upward trends, this SHORT version captures downward movements. Both strategies share the same sophisticated framework:
Enhanced Three Soldiers Method for precise bearish signal detection
Progressive position scaling on confirmed downside momentum
Multi-tier exit system adapted for short positions
How to Use Both Versions Together
Primary Application Method:
1、Market Regime Detection: Use volume profile or trend indicators to identify prevailing market direction
2、Select Active Strategy:
Uptrend / Bullish structure → Activate LONG version only
Downtrend / Bearish structure → Activate SHORT version only
3、Avoid Simultaneous Operation: Do not run both strategies concurrently on the same chart
Alternative Advanced Method (Experienced Users):
Run both strategies in opposite paper accounts to test both directions simultaneously
Use as hedge pairs in different timeframes (e.g., LONG on 1H, SHORT on 15min)
Manual switching based on higher timeframe trend confirmation
Key Differences from LONG Version:
All Three Soldiers parameters optimized for bearish signals
Position sizing logic reversed for short entries
Exit calculations adjusted for downward profit targets
Visual indicators show bearish signal markers
⚠️ Parameter Notice (IMPORTANT):
Optimized for: ETH/USD 15-minute charts exclusively
For other instruments: Requires complete parameter re-optimization
Default values: Tuned for ETH's typical bearish volatility patterns
Quick Start Guide:
For bearish ETH markets: Apply this SHORT version with default parameters
When trend turns bullish: Switch to LONG version strategy
Never run both simultaneously on the same chart/timeframe
Monitor position count: Similar 8-position threshold for special exits
Visual Indicators on Chart:
Red Signals: Bearish Three Soldiers entry points
Black Line: Average short entry price
Red/Green Lines: Exit targets when special conditions activate
Wickless Candle Revisit TrackerWickless Candle Revisit Tracker
Identifies wickless candles (strong momentum candles) and tracks whether price revisits their opening level, providing statistical insights into price behavior patterns.
WHAT ARE WICKLESS CANDLES?
• Green wickless: Open = Low (no lower wick) - opened at the low and moved only upward
• Red wickless: Open = High (no upper wick) - opened at the high and moved only downward
These candles represent strong directional momentum, and their opening levels often act as support/resistance zones that price may revisit.
KEY FEATURES:
• Automatic Detection: Identifies wickless candles with configurable tolerance for broker spread
• Real-time Tracking: Monitors each wickless candle until price revisits its opening level
• Visual Indicators:
- Labels show "WL↑" or "WL↓" with bars count when revisited (or "N/A" if pending)
- Horizontal lines mark price levels (gray dashed = pending, green solid = revisited)
• Comprehensive Statistics Table:
- Total wickless candles detected
- Revisit rate percentage
- Min/Max/Average bars until revisit
- Pending count
• History Limit: Configure how far back to analyze (default: 500 bars)
• Customizable: Adjust colors, toggle labels/lines/table, reposition statistics
USE CASES:
• Identify potential support/resistance levels from momentum candles
• Measure how often price fills "fair value gaps" or inefficiencies
• Track mean reversion patterns after strong momentum moves
• Backtest the reliability of wickless candle levels as trading zones
SETTINGS:
• Wick Tolerance: Allow small wicks due to broker spread (e.g., 0.0001 for forex)
• History Limit: Number of bars to analyze (older candles are hidden)
• Visual Controls: Toggle labels, lines, and statistics table
• Color Customization: Adjust line colors for pending/revisited states
ALERTS:
Built-in alerts for wickless candle detection (green, red, or both).
Perfect for traders analyzing price inefficiencies, fair value gaps, and momentum-based support/resistance levels.
Three Soldiers - Long Direction Breakout Strategy Overview
The Three Soldiers Martingale Pro is a high-frequency trend-following strategy specifically optimized for Ethereum (ETH) on 15-minute charts. This precision-tuned system combines the enhanced Three Soldiers Method's momentum detection with disciplined progressive position sizing, creating a powerful tool for capturing ETH's characteristic volatility patterns in the 15-minute timeframe.
⚠️ CRITICAL PARAMETER NOTE ⚠️
This strategy's default parameters are EXCLUSIVELY calibrated for ETH/USD 15-minute charts.
For ETH: Parameters work as optimized out-of-the-box
For other cryptocurrencies: Expect poor performance or loading issues
For other timeframes: Significant parameter adjustment required
For traditional stocks/forex: Complete re-optimization necessary
Core Concept: ETH-15min Optimized Momentum Capture
The strategy exploits ETH's specific behavioral patterns in 15-minute intervals:
ETH-Specific Volatility Thresholds: Absolute/relative strength parameters set for ETH's typical 15-minute ranges
15-Minute Momentum Cycles: Lookback periods and averaging windows match ETH's 15-minute cycle characteristics
ETH Volume-Volatility Correlation: Exit parameters calibrated to ETH's unique volume-volatility relationship
Parameter Adaptation Guidelines for Other Instruments
If Trading Other Cryptos (BTC, SOL, etc.):
Recommended starting adjustments:
1. Multiply all percentage thresholds by (asset_volatility / ETH_volatility)
2. Adjust `tb_lookback` based on the asset's trend persistence
3. Modify profit targets based on the asset's average true range
If Changing Timeframes:
5-minute: Reduce all percentages by 30-40%
30-minute: Increase all percentages by 50-60%
1-hour: Double most percentage parameters
Strategy Logic Flow (ETH 15min Specific)
ETH Momentum Detection: Wait for Three Soldiers signals calibrated to ETH's patterns
15-Minute Entry Timing: Enter during ETH's typical active trading windows
ETH Volatility Management: Use stops/profits sized for ETH's 15-minute ranges
ETH-Specific Exit Triggers: Activate special exits during ETH's characteristic pullbacks
Default Parameters (ETH 15min ONLY)
long_along_absThreshold=0.8 (ETH's typical 15-min single-candle move)
takeProfitPct=6 (Optimized for ETH's 15-minute swing potential)
tb_lookback=14 (Matches ETH's momentum cycles)
fenge=8 (Based on ETH's average trend length before corrections)
Strategy Overview
The Three Soldiers Martingale Pro is a sophisticated trend-following strategy that combines the precision of the Enhanced Three Soldiers Method with the capital efficiency of progressive position sizing. This unique fusion creates a powerful momentum-capturing system designed to ride strong trends while dynamically managing risk through multiple exit mechanisms.
Core Concept: Precision Entry + Intelligent Position Management
Most Martingale strategies simply average down blindly. This strategy revolutionizes the approach by:
Signal-Based Entry Trigger: Only enters or adds positions when the Enhanced Three Soldiers Method confirms genuine momentum
Progressive Capital Allocation: Each new signal adds a fixed percentage of initial capital, creating a disciplined scaling approach
Multi-Layer Exit System: Implements three distinct exit strategies based on market conditions and position age
Key Components
1、Enhanced Three Soldiers Signal System
Dual Signal Types: Identifies both single-candle and three-candle momentum patterns
Strength Thresholds: Requires both absolute price movement (%) and relative efficiency (close-to-open vs. total range) to qualify
True Signal Confirmation: Uses historical signal breakout logic to filter false entries
Customizable Parameters: All strength thresholds adjustable for different market conditions
2、Progressive Position Sizing
Initial Entry: Uses a fixed percentage of capital (configurable)
Signal-Based Scaling: Each new confirmed signal adds another position of the same percentage
No Maximum Layers: Continues adding as long as signals appear (unlimited in theory)
3. Three-Tier Exit Mechanism
Real-Time Cost Calculation: Dynamically calculates average entry price, position size, and break-even points
Tier 1: Progressive Trailing Stop (Primary exit for normal conditions)
Creates 10 profit zones based on distance from average entry
Each zone has its own trailing stop percentage (configurable)
Automatically moves up stop levels as profit increases
Example: Zone 1 (1x profit target) uses 1x stop%, Zone 10 (10x profit target) uses 10x stop%
Tier 2: Special Exit System (Activated after specific conditions)
Triggers when: (1) position count exceeds "fenge" threshold AND (2) average entry > current price
Splits each position into two parts: "Bounce Exit" (60%) and "Special Exit" (40%)
Sets separate profit targets for each portion
Designed for deep pullbacks in strong trends
Tier 3: Full Exit (Cleanup mechanism)
Closes any residual positions below minimum threshold
Prevents tiny leftover positions from affecting account
Strategy Logic Flow
Wait for Signal: Monitor for Enhanced Three Soldiers "True Bullish" signal
Initial Entry: Enter with configured capital percentage
Subsequent Signals: Each new true signal adds another position
Exit Evaluation:
If position count ≤ "fenge" AND average entry ≤ current price → Use Progressive Trailing Stop
If position count > "fenge" AND average entry > current price → Activate Special Exit System
5、Position Management: Continuously update trailing stops and monitor exit conditions
Parameter Customization
Three Soldiers Parameters: Absolute/relative strength thresholds, lookback periods, average calculations
Position Sizing: Initial capital percentage, exit percentages
Exit System: Profit targets, trailing stop percentages, special exit thresholds
Special Exit: Activation threshold ("fenge"), bounce exit percentage, special profit targets
Strategic Advantages
✅ Signal-Driven Scaling: Avoids random averaging - only adds on confirmed momentum
✅ Adaptive Exit Logic: Different exit strategies for different market phases
✅ Progressive Risk Management: Tightening stops as profits accumulate
✅ Trend Persistence: Can ride extended trends while managing drawdowns
✅ Clear Visual Feedback: Plots average entry, bounce exit, and special exit line
Visual Indicators
Green Triangle: "True Bullish" entry signals
Black Line: Current average entry price
Red Line: Bounce exit target (when active)
Green Line: Special exit target (when active)
Po3 Candle OpensMarks out the 9:30 / 9:45 / 10:00 / 10:15 / 10:30 candle opening.
You can turn off certain times in the settings, if not needed.
The colors are also customizable.
Single Candle Order Block (ICT) [Kodexius]Single Candle Order Block (ICT) is a chart-focused implementation of the ICT style Single Candle Order Block (SCOB) concept. It detects a strict 3 candle displacement pattern and projects the originating “order block candle” as a live zone that extends forward in time until price mitigates it.
The script is designed for practical trading workflows:
- It plots only the most recent active zones (user-defined limit) to keep charts readable.
- It supports optional multi-timeframe (MTF) detection, so you can project higher-timeframe SCOBs onto a lower-timeframe execution chart.
- It includes a mitigation engine (Close or Wick) to automatically invalidate and remove zones once they are decisively broken.
🔹 Features
🔸 ICT Single Candle Order Block Pattern Detection (Bull and Bear)
The indicator identifies a clean displacement sequence that implies a potential order block formed by the middle candle of a 3-candle structure.
Bullish SCOB: bearish candle at , bullish continuation at , then bullish displacement that closes above the prior candle’s high, with a sweep condition on the order block candle’s low.
Bearish SCOB: inverse structure requiring bearish displacement that closes below the prior candle’s low, with a sweep condition on the order block candle’s high.
The plotted zone boundaries are derived from the order block candle:
Top = high
Bottom = low
🔸 Multi-Timeframe Detection (Optional)
The script can compute SCOBs on a selected timeframe and display them on the current chart using request.security. This is ideal for mapping higher-timeframe order blocks onto lower-timeframe execution charts.
If the timeframe input is left empty, detection runs on the chart timeframe.
🔸 Volatility Filter (Optional)
When enabled, detections are filtered by volatility regime:
A SCOB is only displayed if ATR(14) > SMA(ATR(14), 200)
This helps reduce signals during compressed, low-range conditions where displacement patterns are often less meaningful.
🔸 Overlap Control (De-Cluttering)
Before a new zone is added, the script checks for overlap against existing zones of the same direction. If the new zone intersects an existing one, it is ignored. This reduces redundant stacking of zones in the same price area.
🔸 Mean Threshold (50%) Midline (Optional)
Each active SCOB is drawn as a semi-transparent box with:
Direction label text (Bu-SCOB / Be-SCOB)
Optional midpoint line at 50% of the zone height (Mean Threshold)
🔸 Automatic Zone Extension and Object Management
Zones extend forward on each bar to remain visible until mitigation. The script also manages object count and chart cleanliness by:
Keeping internal arrays for bull and bear zones
Removing older stored zones if internal history grows too large
Displaying only the most recent “Active SCOB Limit” zones while hiding older ones
🔸 Alerts
Alerts are provided for newly confirmed detections:
Bullish SCOB Detected
Bearish SCOB Detected
Duplicate prints are prevented by tracking the last detected zone time for each direction.
🔹 Calculations
1) Volatility Regime Check (ATR vs ATR SMA)
float myAtr = ta.atr(14)
float atrSma = ta.sma(myAtr, 200)
bool isVolatile = myAtr > atrSma
If the Volatility Filter is enabled, the script requires isVolatile to be true before creating a SCOB zone.
2) Bullish SCOB Detection Logic
bool isBull = open > close and close > open and close > open and low < low and close > high
Interpretation of the conditions:
open > close confirms the candle at is bearish.
close > open confirms the order block candle at is bullish.
close > open confirms current candle is bullish.
low < low indicates a relative sweep on the order block candle’s low.
close > high confirms displacement by closing above the order block candle’s high.
Zone bounds for a bullish SCOB come from candle :
[isBull, high , low , time , isBear, high , low , time , isVolatile]
3) Bearish SCOB Detection Logic
bool isBear = open < close and close < open and close < open and high > high and close < low
Interpretation of the conditions:
open < close confirms the candle at is bullish.
close < open confirms the order block candle at is bearish.
close < open confirms current candle is bearish.
high > high indicates a relative sweep on the order block candle’s high.
close < low confirms displacement by closing below the order block candle’s low.
Zone bounds for a bearish SCOB also come from candle :
[isBull, high , low , time , isBear, high , low , time , isVolatile]
4) Multi-Timeframe (MTF) Selection
The script runs the detection logic on the chosen timeframe and projects results onto the current chart:
=
request.security(syminfo.tickerid, i_tf, detectLogic())
It also prevents duplicate zone creation by checking the last processed detection time:
var int lastBullTime = 0
var int lastBearTime = 0
if mtf_isBull and mtf_bullTime != lastBullTime
lastBullTime := mtf_bullTime
if mtf_isBear and mtf_bearTime != lastBearTime
lastBearTime := mtf_bearTime
5) Overlap Validation
Before pushing a new zone, overlap is checked against existing zones:
if volPass and not bullArray.hasOverlap(mtf_bullTop, mtf_bullBot)
SCOB newScob = SCOB.new(top = mtf_bullTop, bottom = mtf_bullBot, barStart = mtf_bullTime, isBull = true)
bullArray.push(newScob)
if volPass and not bearArray.hasOverlap(mtf_bearTop, mtf_bearBot)
SCOB newScob = SCOB.new(top = mtf_bearTop, bottom = mtf_bearBot, barStart = mtf_bearTime, isBull = false)
bearArray.push(newScob)
6) Mitigation Logic (Close vs Wick)
Mitigation is evaluated every bar. Bullish zones mitigate below the bottom; bearish zones mitigate above the top:
method isMitigated(SCOB this, string style, float currentClose, float currentHigh, float currentLow) =>
bool mitigated = false
if this.isBull
float price = style == "Close" ? currentClose : currentLow
mitigated := (price < this.bottom)
else
float price = style == "Close" ? currentClose : currentHigh
mitigated := (price > this.top)
mitigated
True ADR% (Range/Close) / ATR / LoD dist. / Market CapHi guys
Couldn't find the script of my dreams and therefore adapted some existing ones I found from the users MikeC (AKA TheScrutiniser) & armerschlucker.
Notes on formulas used in this script:
// ADR% is calculated using the standard definition: 100 * SMA(High - Low, N) / Close
// (average daily range in points over N daily bars, normalized by the current daily close).
// ATR is standard Wilder ATR: ta.atr(N) computed on daily bars.
// LoD dist. is the distance from current close to today’s low, expressed as a % of daily ATR:
// 100 * (Close - Low) / ATR.
// All three metrics are forced to daily bars via request.security(..., "D", ...), so they stay consistent
// regardless of the chart timeframe.
Hope it helps. Please provide feedback in case I made errors.
Volume Bars Color by CandleStick Pattern [SnakeTurtle]Choose the Colors and Transparency of Volume Bars and Signals from Indicator Settings for your Better Visibility.
This Indicator ignores the color of the Candle Closed to match color of Volume Bar instead sees the candlestick pattern of the Candle to give Color to Volume Bar.
A Signal that shows Bullish or Bearish Momentum is also added (Change Color & Transparency of Signal from Indicator Settings for Better Visibility)
Comment Below to request new features
🐍🐢
Anurag - Balanced 0DTE Scalper QQQ SPYBalanced 0DTE Scalper is a professional-grade execution system designed specifically for the high-velocity world of 0DTE (Zero Days to Expiration) options trading on indices like SPY, QQQ, and IWM.
Unlike standard indicators that repaint or lag, this system uses Non-Repainting Multi-Timeframe Logic to align the institutional trend (15m) with precision entry triggers (5m). It is engineered to solve the two biggest killers of 0DTE traders: Theta Decay (holding too long) and Choppy Markets (trading without trend).
How It Works
1. The "Safety Belt" (15-Minute Trend Filter) Before any trade is taken, the system checks the confirmed 15-minute Trend and ADX (Strength).
No Repainting: It strictly uses the previous closed 15m bar to determine bias. Once a signal prints, it stays printed.
Regime Detection: It automatically blocks trades during low-volume "chop" (Low ADX) to save you from theta burn.
2. Precision Entry Triggers (5-Minute) Once the 15m trend gives the "Green Light," the system hunts for 5m setups using a confluence of:
EMA Crossovers: For immediate momentum.
VWAP Filter: Ensuring you are on the right side of institutional volume.
RSI Check: To avoid buying tops or selling bottoms.
3. Aggressive Risk Management (The "Profit Locker") 0DTE profits can vanish in seconds. This script manages the trade for you visually:
Dynamic Trailing Stop: Trails price based on candle Highs/Lows (not closes), allowing it to lock in profits at the peak of a spike.
Time Stop: If a trade stalls for 60 minutes (12 bars), the system triggers a "Time Exit." In 0DTE, time is money—if it's not working, get out.
Visual Levels: Automatically draws your Stop Loss, Target 1 (Conservative), and Target 2 (Runner) lines on the chart.
Features & Dashboard
Live Dashboard: Monitors Trend Bias, ADX Strength, RSI, and Open PnL in real-time.
On-Chart Tickets: Prints a "CALL OPEN" or "PUT OPEN" label with the exact Entry Price, Stop Loss, and Strike Suggestion.
Session Filters: Automatically avoids the first 10 minutes (Open Volatility) and the last 15 minutes (Close Chaos).
Settings Guide
Risk Mode:
Balanced (Default): The recommended blend of Trend + Momentum.
Conservative: Requires a very strong ADX trend. Fewer trades, higher win rate.
Aggressive: Ignores ADX strength. Good for FOMC/CPI days only.
Strike Suggestion: Automatically calculates the nearest Strike Price (ATM/OTM) for SPY/QQQ based on your settings.
Disclaimer
This tool is for educational purposes only. 0DTE options trading involves extreme risk of capital loss. Past performance (even with non-repainting logic) is not indicative of future results. Always manage your risk.
ICT SMT Divergence (Synced + Alerts)This is a professional-grade tool designed for Inner Circle Trader (ICT) students and price action traders to automatically detect Smart Money Tool (SMT) Divergences.
SMT Divergence is "a crack in the correlation" between correlated assets (e.g., NQ vs. ES, or EURUSD vs. DXY). It reveals the footprint of institutional accumulation or distribution by showing when one asset sweeps liquidity while the other fails to do so.
🚀 Why this indicator is different? (The "Synced" Logic)
Most SMT indicators fail because they rigidly expect both assets to form a High/Low on the exact same candle. However, in live markets, correlated assets often lag or lead each other by a few minutes.
This script solves that problem.
It uses a unique "Driver-Based Synchronization" algorithm:
Main Driver: It monitors your current chart (e.g., NQ) for a confirmed Pivot structure.
Smart Scan: Once a pivot is confirmed, it actively scans the comparison symbol (e.g., ES) within a customizable Time Window (e.g., ±3 bars) to find the true price extreme.
Result: It catches valid SMT Divergences even if the comparison asset peaked 5, 10, or 15 minutes before/after your main chart.
Key Features
✅ Automatic Detection: Identifies both Bullish (Accumulation) and Bearish (Distribution) SMTs.
✅ Correlation Flexibility: Works with positive correlations (NQ vs ES) and negative correlations (EU vs DXY) automatically based on structure logic.
✅ Smart Synchronization: Includes a Time Sync Error setting to tolerate timing differences between assets.
✅ Dual Alert System: Supports both alert() for webhooks and alertcondition() for standard TradingView UI alerts.
✅ Visual Clarity: Draws divergence lines only on valid setups, keeping your chart clean.
How to Use
Apply to Chart: Load the indicator on your preferred timeframe (15m, 1H, and 4H recommended).
Select Comparison Symbol:
If trading Nasdaq (NQ), compare with ES (S&P500) or YM (Dow).
If trading EURUSD, compare with GBPUSD or DXY (Inverse logic applies).
Adjust Sensitivity:
Pivot Lookback: Controls how "sharp" a turn must be to register. (Default: 10).
Time Sync Error: How many bars of tolerance allowed. If assets are volatile and desynchronized, increase this value (Default: 3).
Alerts
Never miss a setup. You can set alerts for:
Bullish SMT: Potential bottoming formations.
Bearish SMT: Potential topping formations.
Any SMT: All divergences.






















