OPEN-SOURCE SCRIPT

Buy/Sell Signals for Natural Gas Futures

//version=5
indicator("Buy/Sell Signals for Natural Gas Futures", overlay=true)

// Input for Moving Averages
emaShortLength = input.int(20, title="Short EMA Length")
emaLongLength = input.int(50, title="Long EMA Length")

// Input for ATR (Stop-Loss, Take-Profit)
atrLength = input.int(14, title="ATR Length")
atrMultiplier = input.float(1.5, title="ATR Multiplier")
riskRewardRatio = input.float(2.0, title="Risk-Reward Ratio")

// Calculate Moving Averages
emaShort = ta.ema(close, emaShortLength)
emaLong = ta.ema(close, emaLongLength)

// Trend Detection
isUptrend = emaShort > emaLong
isDowntrend = emaShort < emaLong

// Average True Range (ATR) for Volatility-based Stop-Loss/Take-Profit
atr = ta.atr(atrLength)

// Breakout/Breakdown Levels (5-bar high/low for breakout/fall)
breakoutLevel = ta.highest(high, 5)
breakdownLevel = ta.lowest(low, 5)

// Buy Signal Condition
buySignal = close > breakoutLevel and isUptrend

// Sell Signal Condition
sellSignal = close < breakdownLevel and isDowntrend

// Stop-Loss and Take-Profit Levels (using ATR)
stopLossLong = close - (atr * atrMultiplier)
takeProfitLong = close + (atr * atrMultiplier * riskRewardRatio)
stopLossShort = close + (atr * atrMultiplier)
takeProfitShort = close - (atr * atrMultiplier * riskRewardRatio)

// Plot Buy/Sell Signals
plotshape(series=buySignal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=sellSignal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")

// Plot Stop-Loss and Take-Profit Levels for Buy and Sell
plotshape(series=buySignal ? stopLossLong : na, title="Stop-Loss Long", color=color.red, style=shape.triangledown, location=location.absolute, offset=-1, size=size.small)
plotshape(series=buySignal ? takeProfitLong : na, title="Take-Profit Long", color=color.green, style=shape.triangleup, location=location.absolute, offset=-1, size=size.small)

plotshape(series=sellSignal ? stopLossShort : na, title="Stop-Loss Short", color=color.red, style=shape.triangledown, location=location.absolute, offset=-1, size=size.small)
plotshape(series=sellSignal ? takeProfitShort : na, title="Take-Profit Short", color=color.green, style=shape.triangleup, location=location.absolute, offset=-1, size=size.small)

// Highlight the trend on the background (green for uptrend, red for downtrend)
bgcolor(isUptrend ? color.new(color.green, 90) : isDowntrend ? color.new(color.red, 90) : na)

// Alerts for Buy/Sell Signals
alertcondition(buySignal, title="Buy Signal Alert", message="Buy Signal Detected: Price has broken above resistance in an uptrend.")
alertcondition(sellSignal, title="Sell Signal Alert", message="Sell Signal Detected: Price has broken below support in a downtrend.")
Chart patterns

Skrip open-source

Dengan semangat TradingView yang sesungguhnya, penulis skrip ini telah menerbitkannya sebagai sumber terbuka, sehingga para trader dapat memahami dan memverifikasinya. Hormat untuk penulisnya! Anda dapat menggunakannya secara gratis, namun penggunaan kembali kode ini dalam publikasi diatur oleh Tata Tertib. Anda dapat memfavoritkannya untuk digunakan pada chart

Inggin menggunakan skrip ini pada chart?

Pernyataan Penyangkalan