INVITE-ONLY SCRIPT

Leg-In | Boring (Small/Medium) | Leg-Out Strategy jayendra

14
//version=5
indicator("Leg-In | Boring (Small/Medium) | Leg-Out Strategy", overlay=true)

// ================= INPUTS =================
emaLen = input.int(50, "EMA Length")
atrLen = input.int(14, "ATR Length")
slMult = input.float(1.0, "Stop-Loss ATR x", step=0.1)
tpMult = input.float(2.0, "Take-Profit ATR x", step=0.1)

// ================= COLORS =================
legInColor = color.black
boringColor = color.blue
legOutColor = color.purple

// ================= CALCULATIONS =================
emaVal = ta.ema(close, emaLen)
atrVal = ta.atr(atrLen)

// Candle body sizes
legInSize = math.abs(close[2] - open[2])
boringSize = math.abs(close[1] - open[1])
legOutSize = math.abs(close - open)

// ================= RULES =================
// Leg-In: strong directional candle
legInValid = legInSize >= boringSize * 2

// Boring: small or medium size (flexible)
boringValid = (boringSize > atrVal * 0.3) and (boringSize <= legInSize)

// Leg-Out: breakout candle
legOutValid = legOutSize >= boringSize * 4
breakUp = high > high[1]
breakDown = low < low[1]

// Pattern valid
patternValid = legInValid and boringValid and legOutValid

// ================= DIRECTION =================
buySignal = patternValid and close > open and breakUp and close > emaVal
sellSignal = patternValid and close < open and breakDown and close < emaVal

setupFound = buySignal or sellSignal

// ================= CANDLE COLORING =================
barcolor(setupFound ? legOutColor : na)
barcolor(setupFound ? boringColor : na, offset=-1)
barcolor(setupFound ? legInColor : na, offset=-2)

// ================= PLOTS =================
plot(emaVal, color=color.orange, linewidth=2, title="EMA")

plotshape(buySignal, title="BUY", text="BUY",
style=shape.labelup, location=location.belowbar,
color=color.green, textcolor=color.white)

plotshape(sellSignal, title="SELL", text="SELL",
style=shape.labeldown, location=location.abovebar,
color=color.red, textcolor=color.white)

// ================= ALERTS =================
alertcondition(buySignal, title="BUY Alert", message="BUY: Leg-In (Black) → Boring (Blue, small/medium) → Leg-Out (Purple)")
alertcondition(sellSignal, title="SELL Alert", message="SELL: Leg-In (Black) → Boring (Blue, small/medium) → Leg-Out (Purple)")

// ================= STOP LOSS / TAKE PROFIT =================
var float buySL = na
var float buyTP = na
var float sellSL = na
var float sellTP = na

if buySignal
buySL := close - atrVal * slMult
buyTP := close + atrVal * tpMult

if sellSignal
sellSL := close + atrVal * slMult
sellTP := close - atrVal * tpMult

plot(buySL, color=color.red, style=plot.style_linebr, title="Buy SL")
plot(buyTP, color=color.green, style=plot.style_linebr, title="Buy TP")
plot(sellSL, color=color.red, style=plot.style_linebr, title="Sell SL")
plot(sellTP, color=color.green, style=plot.style_linebr, title="Sell TP")

면책사항

해당 정보와 게시물은 금융, 투자, 트레이딩 또는 기타 유형의 조언이나 권장 사항으로 간주되지 않으며, 트레이딩뷰에서 제공하거나 보증하는 것이 아닙니다. 자세한 내용은 이용 약관을 참조하세요.