
Strategi ini menggabungkan indeks moving average (EMA) 8 periode dan 21 periode dengan indikator SAR parallax untuk menangkap tren dan mengelola risiko. Strategi ini membuka posisi dan melakukan posisi sesuai dengan kondisi crossover dan perilaku harga tertentu, dan mendefinisikan aturan keluar yang mencakup stop loss tetap dan penutupan posisi yang dipaksakan pada waktu tertentu.
Strategi ini menggunakan dua periode berbeda EMA ((8 siklus dan 21 siklus) dan parameter SAR parallax untuk menentukan posisi dan kondisi posisi. Strategi ini membuka posisi overhead ketika EMA jangka pendek melintas di atas EMA jangka panjang dan harga penutupan lebih tinggi dari SAR. Strategi ini membuka posisi overhead ketika EMA jangka pendek melintas di bawah EMA jangka panjang dan harga penutupan lebih rendah dari SAR.
Strategi EMA Average and Parallax SAR mencoba untuk menangkap tren dan mengendalikan risiko dengan menggabungkan dua indikator teknis yang umum digunakan. Strategi ini sederhana dan mudah dimengerti, cocok untuk dipelajari dan digunakan oleh pemula. Namun, strategi ini juga memiliki beberapa keterbatasan, seperti kurangnya adaptasi terhadap fluktuasi pasar, kurangnya pertimbangan terhadap sentimen pasar dan faktor-faktor mendasar.
/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("EMA and Parabolic SAR Strategy", overlay=true)
// Input parameters for EMAs and Parabolic SAR
emaShortPeriod = input.int(8, title="Short EMA Period")
emaLongPeriod = input.int(21, title="Long EMA Period")
sarStart = input.float(0.02, title="Parabolic SAR Start")
sarIncrement = input.float(0.02, title="Parabolic SAR Increment")
sarMaximum = input.float(0.2, title="Parabolic SAR Maximum")
fixedSL = input.int(83, title="Fixed Stop Loss (pts)")
// Calculate EMAs and Parabolic SAR
emaShort = ta.ema(close, emaShortPeriod)
emaLong = ta.ema(close, emaLongPeriod)
sar = ta.sar(sarStart, sarIncrement, sarMaximum)
// Entry conditions
longCondition = ta.crossover(emaShort, emaLong) and close > sar
shortCondition = ta.crossunder(emaShort, emaLong) and close < sar
// Exit conditions
longExitCondition = close < sar
shortExitCondition = close > sar
// Strategy entry and exit
if (longCondition)
strategy.entry("Long", strategy.long)
if (shortCondition)
strategy.entry("Short", strategy.short)
if (longExitCondition)
strategy.close("Long")
if (shortExitCondition)
strategy.close("Short")
// Fixed Stop Loss
strategy.exit("Long Exit", "Long", stop=close - fixedSL * syminfo.mintick)
strategy.exit("Short Exit", "Short", stop=close + fixedSL * syminfo.mintick)
// Exit all positions at 15:15
exitHour = 15
exitMinute = 15
exitTime = timestamp(year(timenow), month(timenow), dayofmonth(timenow), exitHour, exitMinute)
if (timenow >= exitTime)
strategy.close_all()
// Plot EMAs and Parabolic SAR
plot(emaShort, color=color.blue, title="8 EMA")
plot(emaLong, color=color.red, title="21 EMA")
plot(sar, style=plot.style_cross, color=color.green, title="Parabolic SAR")