Strategi perdagangan kuantitatif berdasarkan rata-rata bergerak

Penulis:ChaoZhang, Tanggal: 2024-01-16 17:37:13
Tag:

img

Gambaran umum

Strategi ini menghasilkan sinyal perdagangan berdasarkan golden cross dan dead cross dari moving average dengan siklus yang berbeda.

Logika Strategi

Strategi ini pertama-tama menghitung rata-rata bergerak jangka menengah dan jangka pendek, ma1 dan ma2, dari harga, di mana ma1 memiliki siklus yang lebih pendek dan ma2 memiliki siklus yang lebih lama. Kemudian menghitung perbedaan antara ma1 dan ma2 sebagai ma3, dan selanjutnya menghitung rata-rata bergerak halus ma4 dari ma3. Ketika ma3 melintasi ma4 ke atas, sinyal beli dihasilkan. Ketika melintasi ke bawah, sinyal jual dihasilkan.

Dengan demikian, ma3 mencerminkan tren harga jangka menengah, dan ma4 menyaring beberapa kebisingan dari ma3 untuk membentuk sinyal perdagangan yang lebih dapat diandalkan. Siklus ma1 dan ma2 ditetapkan oleh parameter maLen. Pengguna dapat mengoptimalkan parameter untuk mencapai pengaturan terbaik untuk pasar yang berbeda.

Keuntungan

Keuntungan dari strategi ini meliputi:

  1. Menggunakan ALMA dan WMA yang dapat lebih baik beradaptasi dengan perubahan pasar.
  2. Menerapkan rata-rata harga multi-siklus untuk membuat sinyal perdagangan lebih dapat diandalkan.
  3. Parameter yang dapat disesuaikan dapat dioptimalkan untuk pasar yang berbeda dengan penerapan yang luas.
  4. Logika strategi sederhana dan mudah diterapkan.
  5. Hal ini dapat mencapai kinerja yang baik baik di pasar tren dan samping.

Risiko dan Solusi

Ada juga beberapa risiko untuk strategi ini:

  1. Sinyal mungkin menjadi tidak jelas dan tertunda untuk kondisi pasar yang tidak stabil. Hal ini dapat diselesaikan dengan mengoptimalkan siklus dan parameter rata-rata bergerak.
  2. Sebagai strategi yang murni mengikuti tren, ini dapat menyebabkan kerugian selama pasar yang terikat kisaran. indikator lain dapat ditambahkan sebagai filter.
  3. Pengaturan parameter yang tidak tepat dapat menyebabkan over-trading karena siklus yang sangat pendek.

Optimalisasi

Strategi dapat dioptimalkan dari aspek berikut:

  1. Uji lebih banyak jenis moving average, seperti LMA, WMA, dll.
  2. Tambahkan mekanisme stop loss berdasarkan volatilitas, saluran harga, dll.
  3. Mengadopsi analisis multi-frame waktu dengan pengoptimalan rolling parameter.
  4. Tingkatkan algoritma pembelajaran mesin untuk optimasi parameter otomatis.

Kesimpulan

Strategi ini menghasilkan sinyal perdagangan berdasarkan golden cross dan dead cross dari moving average. Dengan menggunakan ALMA dan rata-rata harga multi-siklus, sinyal menjadi lebih tepat dan dapat diandalkan. Parameter yang dapat disesuaikan membuatnya dapat diterapkan secara luas. Juga, logika sederhana dan jelas dan berkinerja baik di pasar tren. Oleh karena itu, ia memiliki nilai praktis yang tinggi.


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

//@version=3
strategy("Oracle Move Strategy", overlay=true)

maLen = input(30, "ma period")
mode =  input(defval="wma", options=["alma", "ema", "wma"])
price = close

ma(src, len) =>
     mode=="alma"  ? alma(src, len, 0.85, 6) :
     mode=="ema"? ema(src, len) : 
     wma(src, len)
    

ma1 = ma(price, floor(maLen / 2))
ma2 = ma(price, maLen)
ma3 = 2.0 * ma1 - ma2
ma4 = ma(ma3, floor(sqrt(maLen)))

//plot(ma1, color = red)
//plot(ma2, color = green)
plot(ma3, color = blue)
plot(ma4, color = orange)


mafast = ma3
maslow = ma4

if (crossover(mafast, maslow))
    strategy.entry("MA2CrossLE", strategy.long, comment="MA2CrossLE")

if (crossunder(mafast, maslow))
    strategy.entry("MA2CrossSE", strategy.short, comment="MA2CrossSE")

//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)

Lebih banyak