
Strategi ini adalah sistem perdagangan multi-dimensi yang menggabungkan pelacakan tren, indikator momentum, dan stop loss yang disesuaikan. Strategi ini mengidentifikasi arah tren pasar melalui indikator SuperTrend, sekaligus mengkonfirmasi perdagangan dalam kombinasi dengan indikator momentum RSI dan sistem garis rata, dan menggunakan indikator volatilitas ATR untuk melakukan manajemen stop loss yang dinamis.
Logika inti dari strategi ini didasarkan pada tiga dimensi berikut:
Kondisi pembelian harus memenuhi: SuperTrend bullish ((hijau) + RSI <65+ harga di atas garis rata-rata 50 periode. Kondisi Penjualan: Jika SuperTrend berubah menjadi bearish, maka posisi akan ditutup. Manajemen Stop Loss: Menggunakan tracking stop loss berbasis ATR, dengan stop loss jarak 1,5 kali nilai ATR.
Strategi ini membangun sistem perdagangan yang logis lengkap dengan menggunakan pelacakan tren, momentum, dan sistem kesetaraan. Keunggulan strategi ini adalah mekanisme konfirmasi sinyal multi-dimensi dan sistem kontrol risiko yang baik. Dengan memberikan arah optimasi, strategi ini memiliki ruang untuk ditingkatkan lebih lanjut.
/*backtest
start: 2025-01-08 00:00:00
end: 2025-02-07 00:00:00
period: 3h
basePeriod: 3h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Gladston_J_G
//@version=5
strategy("Trend Strategy with Stop Loss", overlay=true, margin_long=100, margin_short=100)
// ———— Inputs ———— //
atrLength = input(14, "ATR Length")
supertrendMultiplier = input(3.0, "Supertrend Multiplier")
rsiLength = input(14, "RSI Length")
maLength = input(50, "MA Length")
trailOffset = input(1.5, "Trailing Stop ATR Multiplier")
// ———— Indicators ———— //
// Supertrend for trend direction
[supertrend, direction] = ta.supertrend(supertrendMultiplier, atrLength)
// RSI for momentum filter
rsi = ta.rsi(close, rsiLength)
// Moving Average for trend confirmation
ma = ta.sma(close, maLength)
// ATR for volatility-based stop loss
atr = ta.atr(atrLength)
// ———— Strategy Logic ———— //
// Buy Signal: Supertrend bullish + RSI not overbought + Price above MA
buyCondition = direction < 0 and rsi < 65 and close > ma
// Sell Signal: Supertrend turns bearish
sellCondition = direction > 0
// ———— Stop Loss & Trailing ———— //
stopPrice = close - (atr * trailOffset)
var float trail = na
if buyCondition and strategy.position_size == 0
trail := stopPrice
else
trail := math.max(stopPrice, nz(trail[1]))
// ———— Execute Orders ———— //
strategy.entry("Long", strategy.long, when=buyCondition)
strategy.close("Long", when=sellCondition)
strategy.exit("Trail Exit", "Long", stop=trail)
// ———— Visuals ———— //
plot(supertrend, "Supertrend", color=direction < 0 ? color.green : color.red)
plot(ma, "MA", color=color.blue)
plot(strategy.position_size > 0 ? trail : na, "Trailing Stop", color=color.orange, style=plot.style_linebr)
// ———— Alerts ———— //
plotshape(buyCondition, "Buy", shape.triangleup, location.belowbar, color.green, size=size.small)
plotshape(sellCondition, "Sell", shape.triangledown, location.abovebar, color.red, size=size.small)
plot(close)