
Strategi ini adalah sistem mengikuti tren yang menggabungkan rata-rata pergerakan multi-periode dengan harga rata-rata tertimbang volume (VWAP). Strategi ini mengidentifikasi arah tren melalui persilangan tiga rata-rata pergerakan sederhana (SMA) periode 9, periode 50, dan periode 200, dan menggabungkan VWAP sebagai indikator konfirmasi kekuatan harga untuk menerapkan mekanisme konfirmasi sinyal perdagangan multidimensi. Strategi ini cocok untuk perdagangan intraday (grafik 1 menit) dan perdagangan jangka pendek (grafik 1 jam).
Logika inti dari strategi ini didasarkan pada elemen-elemen kunci berikut:
Kondisi entri panjang harus dipenuhi pada saat yang sama:
Kondisi entri pendek harus dipenuhi pada saat yang sama:
Saran pengendalian risiko:
Ini adalah sistem perdagangan lengkap yang menggabungkan rata-rata pergerakan multi-periode dan VWAP, memberikan sinyal perdagangan yang lebih andal melalui mekanisme konfirmasi ganda. Keuntungan dari strategi tersebut adalah logika yang jelas, kemudahan eksekusi, dan kemampuan pengendalian risiko yang baik. Meskipun ada risiko histeresis dan sensitivitas parameter tertentu, stabilitas dan kemampuan beradaptasi strategi dapat lebih ditingkatkan melalui arahan pengoptimalan yang direkomendasikan. Strategi ini cocok sebagai kerangka dasar, dan pedagang dapat mempersonalisasikannya sesuai dengan gaya perdagangan dan lingkungan pasar mereka.
/*backtest
start: 2024-12-06 00:00:00
end: 2025-01-05 00:00:00
period: 2h
basePeriod: 2h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("SMA Crossover Strategy with VWAP", overlay=true)
// Input lengths for SMAs
sma9Length = 9
sma50Length = 50
sma200Length = 200
// Calculate SMAs
sma9 = ta.sma(close, sma9Length) // 9-period SMA
sma50 = ta.sma(close, sma50Length) // 50-period SMA
sma200 = ta.sma(close, sma200Length) // 200-period SMA
// Calculate VWAP
vwapValue = ta.vwap(close)
// Long entry condition: SMA 9 crosses above SMA 50 and SMA 200 is less than SMA 50, and close is above VWAP
longCondition = ta.crossover(sma9, sma50) and (sma200 < sma50) and (close > vwapValue)
if (longCondition)
strategy.entry("Long", strategy.long)
// Exit condition for long: SMA 9 crosses below SMA 50
longExitCondition = ta.crossunder(sma9, sma50)
if (longExitCondition)
strategy.close("Long")
// Short entry condition: SMA 9 crosses below SMA 50 and SMA 200 is greater than SMA 50, and close is below VWAP
shortCondition = ta.crossunder(sma9, sma50) and (sma200 > sma50) and (close < vwapValue)
if (shortCondition)
strategy.entry("Short", strategy.short)
// Exit condition for short: SMA 9 crosses above SMA 50
shortExitCondition = ta.crossover(sma9, sma50)
if (shortExitCondition)
strategy.close("Short")
// Plotting the indicators on the chart
plot(sma9, color=color.blue, title="SMA 9")
plot(sma50, color=color.orange, title="SMA 50")
plot(sma200, color=color.red, title="SMA 200")
plot(vwapValue, color=color.green, title="VWAP")