OPEN-SOURCE SCRIPT

9 EMA Strategy with Sequential Flags

//version=5
indicator("9 EMA Strategy with Sequential Flags", overlay=true)

// Input parameters
emaLength = input.int(9, title="EMA Length")
bodySizeMultiplier = input.float(0.5, title="Minimum Body Size as Multiplier of ATR")
atrLength = input.int(14, title="ATR Length")

// Calculations
ema = ta.ema(close, emaLength)
atr = ta.atr(atrLength)

// Candle body calculations
bodySize = math.abs(close - open)
minBodySize = bodySizeMultiplier * atr

// Conditions for buy and sell
buyCondition = close > ema and bodySize >= minBodySize and open < close
sellCondition = close < ema and bodySize >= minBodySize and open > close

// Variable to track the last trade
var float lastTradePrice = na
var string lastTradeType = na

// New buy and sell logic to ensure sequential trades
newBuy = buyCondition and (na(lastTradePrice) or lastTradeType == "SELL")
newSell = sellCondition and (na(lastTradePrice) or lastTradeType == "BUY")

if (newBuy)
lastTradePrice := close
lastTradeType := "BUY"
label.new(bar_index, high, "BUY", style=label.style_label_up, color=color.green, textcolor=color.white)
alert("Buy Signal Triggered at " + str.tostring(close))

if (newSell)
lastTradePrice := close
lastTradeType := "SELL"
label.new(bar_index, low, "SELL", style=label.style_label_down, color=color.red, textcolor=color.white)
alert("Sell Signal Triggered at " + str.tostring(close))

// Plot EMA
plot(ema, color=color.purple, linewidth=2, title="9 EMA")
Bands and ChannelsChart patternsCycles

نص برمجي مفتوح المصدر

قام مؤلف هذا النص البرمجي بنشره وجعله مفتوح المصدر، بحيث يمكن للمتداولين فهمه والتحقق منه، وهو الأمر الذي يدخل ضمن قيم TradingView. تحياتنا للمؤلف! يمكنك استخدامه مجانًا، ولكن إعادة استخدام هذا الرمز في المنشور يخضع لقواعد‎‎قوانين الموقع. يمكنك جعله مفضلاً لاستخدامه على الرسم البياني.

هل تريد استخدام هذا النص البرمجي على الرسم البياني؟

إخلاء المسؤولية