OPEN-SOURCE SCRIPT

EXPLOSION Scanner v1 - Sudden Spike Hunter

63
//version=5
indicator("EXPLOSION ENTRY v1 - 5Day Swing Breakout Scanner", overlay=true)

// ===============================
// 입력값
// ===============================
lenBB = input.int(20, "BB Length")
multBB = input.float(2.0, "BB StdDev")
lenVolMA = input.int(20, "Volume MA Length")
volMult = input.float(1.8, "Volume Explosion Mult")
lenATR = input.int(14, "ATR Length")
atrThresh= input.float(3.0, "ATR % Threshold")
needBull = input.int(4, "최근 5봉 중 최소 양봉 개수", minval=1, maxval=5)

// ===============================
// Bollinger Band
// ===============================
basis = ta.sma(close, lenBB)
dev = ta.stdev(close, lenBB)
upper = basis + dev * multBB
lower = basis - dev * multBB

plot(upper, "BB Upper", display=display.none)
plot(basis, "BB Basis", display=display.none)
plot(lower, "BB Lower", display=display.none)

// ===============================
// Volume Explosion
// ===============================
volMA = ta.sma(volume, lenVolMA)
volCond = volume > volMA * volMult

// ===============================
// 5-Day Candle Strength (최근 5봉 양봉 개수)
// ===============================
bullCount = (close > open ? 1 : 0) +
(close[1] > open[1] ? 1 : 0) +
(close[2] > open[2] ? 1 : 0) +
(close[3] > open[3] ? 1 : 0) +
(close[4] > open[4] ? 1 : 0)

candleCond = bullCount >= needBull

// ===============================
// ATR Volatility Filter
// ===============================
atrValue = ta.atr(lenATR)
atrRate = atrValue / close * 100.0
volatilityCond = atrRate > atrThresh

// ===============================
// Trend Filter (기본 추세)
// ===============================
trendCond = close > basis

// ===============================
// 최종 매수 조건
// ===============================
buyCond = trendCond and volCond and candleCond and volatilityCond

// ===============================
// BUY 신호 표시
// ===============================
plotshape(
buyCond,
title = "BUY Signal",
style = shape.triangleup,
location = location.belowbar,
size = size.small,
text = "BUY",
textcolor = color.white
)

// ===============================
// 알림(Alert)
// ===============================
alertcondition(
buyCond,
title = "EXPLOSION BUY",
message = "EXPLOSION ENTRY v1 : BUY SIGNAL 발생"
)

Feragatname

Bilgiler ve yayınlar, TradingView tarafından sağlanan veya onaylanan finansal, yatırım, alım satım veya diğer türden tavsiye veya öneriler anlamına gelmez ve teşkil etmez. Kullanım Koşulları bölümünde daha fazlasını okuyun.