Strategi Dagangan Purata Bergerak Berganda

Penulis:ChaoZhang, Tarikh: 2024-01-26 14:45:55
Tag:

img

Ringkasan

Strategi Dagangan Purata Bergerak Berganda adalah strategi perdagangan kuantitatif yang membina isyarat dagangan menggunakan dua garis purata bergerak dengan kitaran yang berbeza. Strategi ini menilai trend dan peluang pasaran dengan mengira hubungan antara dua garis purata bergerak dan mempunyai prestasi penjejakan yang baik dalam pasaran trend.

Prinsip Strategi

Teknik teras yang digunakan oleh strategi ini adalah analisis dua garis purata bergerak. Strategi mendefinisikan garis purata bergerak kitaran pendek 5 hari ma0 dan garis purata bergerak kitaran panjang 21 hari ma1. Dengan membandingkan nilai perbezaan osc0 antara harga dan ma0 dan osc1 antara ma0 dan ma1, strategi menentukan status trend semasa.

Apabila osc0>0 dan osc1>0, ia bermakna garis purata bergerak jangka pendek telah melintasi di atas garis jangka panjang, menunjukkan trend menaik. Apabila osc0<0 dan osc1<0, ia bermakna garis jangka pendek telah melintasi di bawah, menunjukkan trend penurunan. Strategi mengambil kedudukan panjang apabila trend menaik dikenal pasti dan mengambil kedudukan pendek apabila trend penurunan dikenal pasti.

Selepas mengambil kedudukan, strategi terus memantau perubahan masa nyata osc0 dan osc1 untuk menilai julat keuntungan kedudukan. Apabila osc0<0 dan osc1<0 selepas mengambil kedudukan panjang, ia bermakna pembalikan trend, jadi kedudukan panjang harus ditutup. Apabila osc0>0 dan osc1>0 selepas mengambil kedudukan pendek, ia juga bermakna pembalikan, jadi kedudukan pendek harus ditutup.

Analisis Kelebihan

Strategi perdagangan purata bergerak berganda mempunyai kelebihan berikut:

  1. Prinsip yang mudah dan mudah difahami dan dilaksanakan, sesuai untuk pemula perdagangan kuant;

  2. Mengikuti trend, baik dalam mengesan pasaran trend dengan keuntungan yang baik;

  3. Parameter kitaran purata bergerak boleh diselaraskan untuk keadaan pasaran yang berbeza;

  4. Boleh digabungkan dengan penunjuk atau strategi lain untuk keuntungan yang lebih besar.

Analisis Risiko

Terdapat juga beberapa risiko dengan strategi ini:

  1. Kegagalan untuk keluar dari kedudukan tepat pada masanya apabila trend berbalik, boleh membawa kepada kerugian besar;

  2. Sukar untuk memperoleh keuntungan di pasaran terhad julat kerana sering berhenti kerugian;

  3. Sukar untuk mengoptimumkan parameter seperti kitaran 5 hari dan 21 hari;

  4. Isyarat perdagangan yang tertunda, masuk ke pasaran lewat, boleh mempengaruhi kadar keuntungan.

Arahan pengoptimuman

Strategi Dagangan Purata Bergerak Berganda boleh dioptimumkan dari aspek berikut:

  1. Gabungkan dengan VOL untuk mengesahkan permulaan trend sebenar, mengelakkan pecah palsu;

  2. Tambah penapis lain seperti harga pecah, pengembangan jumlah untuk memastikan kebolehpercayaan isyarat;

  3. Tetapkan hentian dinamik untuk mengurangkan kerugian dalam masa;

  4. Mengoptimumkan parameter seperti ambang perbezaan purata bergerak untuk mengurangkan kesilapan;

  5. Menggunakan pembelajaran mesin untuk mengoptimumkan kitaran purata bergerak.

Kesimpulan

Kesimpulannya, Strategi Dagangan Purata Bergerak Berganda adalah strategi trend yang cukup klasik dan praktikal. Ia mempunyai logik yang mudah untuk pemula berlatih, baik dalam mengesan trend, sangat boleh diperluas untuk digabungkan dengan teknik lain. Tetapi ia juga mempunyai beberapa kelemahan, pengoptimuman lanjut diperlukan untuk menangani keadaan pasaran yang luar biasa, mengurangkan risiko dan meningkatkan kestabilan.


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

//@version=2
strategy("[STRATEGY][RS]MA Strategy test V0", overlay=true)
length0 = input(5)
length1 = input(21)

isinsession = not na(time('1', '0400-1500'))
price = open

ma0 = ema(ema(price, length0), length0)
ma1 = ema(ema(price, length1), length1)
plot(ma0, color=navy)
plot(ma1, color=black)

osc0 = price-ma0
osc1 = ma0-ma1

isbull = osc0 > 0 and osc1 > 0
buy_condition = isinsession and isbull and not isbull[1]
buy_exit_condition = osc0 < 0 and osc1 < 0
strategy.entry("buy", strategy.long, comment="buy", when=buy_condition)
strategy.close(id='buy', when=buy_exit_condition)

isbear = osc0 < 0 and osc1 < 0
sell_condition = isinsession and isbear and not isbear[1]
sell_exit_condition = osc0 > 0 and osc1 > 0
strategy.entry("sell", strategy.short, comment="sell", when=sell_condition)
strategy.close(id='sell', when=sell_exit_condition)

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

Lebih lanjut