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 автор этого скрипта опубликовал его с открытым исходным кодом, чтобы трейдеры могли понять, как он работает, и проверить на практике. Вы можете воспользоваться им бесплатно, но повторное использование этого кода в публикации регулируется Правилами поведения. Вы можете добавить этот скрипт в избранное и использовать его на графике.

Хотите использовать этот скрипт на графике?

Отказ от ответственности