Strategi Crossover Rata-rata Bergerak Sederhana

Penulis:ChaoZhang, Tanggal: 2024-02-21 15:11:32
Tag:

img

Gambaran umum

Ini adalah strategi perdagangan kombinasi yang didasarkan pada rata-rata bergerak sederhana (SMA). Ini menggunakan silang dari garis SMA 9 hari dan 21 hari sebagai sinyal beli dan jual. Ketika SMA jangka pendek melintasi SMA jangka panjang dari bawah, sinyal beli dihasilkan. Ketika SMA jangka pendek melintasi SMA jangka panjang dari atas, sinyal jual dihasilkan.

Logika Strategi

Logika inti dari strategi ini adalah menggunakan dua garis SMA dengan parameter yang berbeda - SMA 9 hari yang mewakili tren jangka pendek dan SMA 21 hari yang mewakili tren jangka panjang. Ketika garis tren jangka pendek melintasi di atas garis tren jangka panjang dari bawah, itu menunjukkan pasar berubah dari tren menurun ke tren naik, menghasilkan sinyal beli. Ketika garis jangka pendek melintasi di bawah garis jangka panjang dari atas, itu menandakan perubahan dari tren naik ke tren turun, menghasilkan sinyal jual.

Sinyal kunci yang digunakan dalam strategi ini adalah golden cross dan death cross dari dua garis SMA. Sinyal ini terjadi ketika SMA pendek melintasi SMA panjang, menandakan kemungkinan perubahan dari downtrend ke uptrend. Sinyal ini terjadi ketika SMA pendek melintasi SMA panjang, menunjukkan penurunan dari uptrend mungkin dimulai. Dengan memanfaatkan dua sinyal ini, strategi ini mengidentifikasi hubungan antara tren jangka pendek dan jangka panjang untuk membuat keputusan perdagangan.

Keuntungan

  1. Mudah dimengerti dan diterapkan
  2. Beberapa parameter yang membutuhkan pengujian/optimalisasi yang luas
  3. Frekuensi perdagangan yang wajar menghindari perdagangan yang terlalu agresif
  4. Cukup akurat dalam mengidentifikasi titik pembalikan tren
  5. Menawarkan keakuratan dan stabilitas sampai batas tertentu

Risiko

  1. Cenderung menghasilkan sinyal palsu dan whipsaws
  2. Pemilihan titik pembelian/penjualan sangat bergantung pada pengalaman daripada pendekatan sistematis
  3. Kinerja sangat tergantung pada parameter. SMA 9 hari/21 hari mungkin tidak optimal
  4. Tidak efektif dalam menyaring perdagangan kebisingan di pasar bergelombang / samping
  5. Perdagangan yang mengalami kerugian besar dalam lingkungan volatilitas tinggi

Kemungkinan Peningkatan:

  1. Tambahkan filter untuk menghindari bertindak pada sinyal palsu
  2. Masukkan indikator lain untuk mengukur keandalan sinyal
  3. Uji dan optimalkan parameter untuk produk yang berbeda
  4. Mengimplementasikan stop loss/take profit untuk mengendalikan risiko

Kesimpulan

Secara keseluruhan ini adalah sistem crossover rata-rata bergerak ganda yang cukup tradisional dan sederhana. Mudah dipahami dan diimplementasikan dengan pemilihan parameter yang relatif sederhana. Ini dapat secara efektif melacak perubahan antara tren jangka pendek dan jangka panjang. Namun, masalah seperti sinyal palsu, parameter yang dipilih secara empiris, kinerja yang tidak baik dalam lingkungan volatilitas tinggi perlu ditangani. Optimasi, peningkatan, dan kombinasi yang sesuai harus dipertimbangkan bersama dengan praktik pengendalian risiko yang solid.


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Bitboy Strategy", overlay=true)

// Define MAs
SlowMA = ta.sma(close, 9)
FastMA = ta.sma(close, 21)

// Plot MAs
plot1 = plot(SlowMA, color=color.new(color.red, 0), title="Slow MA")
plot2 = plot(FastMA, color=color.new(color.green, 0), title="Fast MA")

// Plot MA Ribbon
fill(plot1, plot2, color=FastMA > SlowMA ? color.rgb(233, 21, 21, 50) : color.new(#1de223, 45))

// Define buy/sell conditions
longCondition = ta.crossover(SlowMA, FastMA)
shortCondition = ta.crossunder(SlowMA, FastMA)

// Strategy commands for buy/sell
if longCondition
    strategy.entry("Long", strategy.long)

if shortCondition
    strategy.entry("Short", strategy.short)

// Plot buy/sell signals (for visualization)
plotshape(longCondition, location=location.belowbar, color=color.rgb(18, 230, 25, 37), style=shape.labelup, text="Buy", textcolor=color.white)
plotshape(shortCondition, location=location.abovebar, color=color.rgb(239, 23, 23, 40), style=shape.labeldown, text="Sell", textcolor=color.white)

Lebih banyak