INVITE-ONLY SCRIPT

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

15
//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")

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.