Sistem silang purata bergerak bertiga

Penulis:ChaoZhang, Tarikh: 2023-09-28 15:33:14
Tag:

Ringkasan

Sistem Crossover Triple Moving Average adalah strategi perdagangan saham yang biasa mengikuti trend. Ia menggunakan persilangan tiga purata bergerak dengan panjang masa yang berbeza sebagai isyarat beli dan jual. Apabila purata bergerak jangka pendek melintasi di atas purata bergerak jangka sederhana, dan purata bergerak jangka sederhana melintasi di atas purata bergerak jangka panjang, isyarat beli dihasilkan. Apabila purata bergerak jangka pendek melintasi di bawah purata bergerak jangka sederhana, dan purata bergerak jangka sederhana melintasi di bawah purata bergerak jangka panjang, isyarat jual dihasilkan.

Logika Strategi

Strategi ini berdasarkan tiga purata bergerak: purata bergerak jangka panjang ma1, purata bergerak jangka sederhana ma2 dan purata bergerak jangka pendek ma3.

length1 = input(18,'长线')  
length2 = input(9,'中线')
length3 = input(4,'短线')

ma1 := sma(close,length1)
ma2 := sma(close,length2) 
ma3 := sma(close,length3)

Di mana panjang1, panjang2 dan panjang3 menentukan panjang masa tiga purata bergerak. Fungsi sma mengira purata bergerak mudah harga penutupan sepanjang panjang yang sepadan.

Ia kemudian menggunakan persilangan tiga purata bergerak untuk menentukan masuk dan keluar:

if ma2 > ma1 and ma3 > ma3[1]
    strategy.entry("Long", strategy.long)

if ma2 < ma1 and ma3 < ma3[1] 
    strategy.entry("Short", strategy.short)

Apabila jangka menengah ma2 melintasi di atas jangka panjang ma1, dan jangka pendek ma3 melintasi di atas tempoh sebelumnya s ma3, isyarat panjang dicetuskan.

Kelebihan Strategi

  • Menggunakan tiga purata bergerak dapat dengan jelas mengenal pasti perubahan trend.
  • Gabungan tempoh panjang dan pendek menapis beberapa bunyi pasaran jangka pendek dan mengunci trend jangka panjang.
  • Peraturan mudah menjadikannya mudah untuk dilaksanakan.
  • Parameter boleh diselaraskan untuk menyesuaikan diri dengan persekitaran pasaran yang berbeza.

Risiko Strategi

  • Masuk dan keluar diiktiraf selepas ini dan tidak dapat mengelakkan kerugian sepenuhnya.
  • Whipsaws berlaku apabila harga berayun di sekitar purata bergerak.
  • Garis jangka panjang yang terlalu panjang mungkin terlepas titik perubahan trend. Garis jangka pendek yang terlalu pendek boleh mencetuskan perdagangan yang kerap disebabkan oleh bunyi bising.
  • Tidak menangani pasaran yang berbeza dengan baik.

Risiko ini boleh dikurangkan melalui pengoptimuman parameter yang sesuai, menambah penapis dengan penunjuk lain dll.

Arahan Penambahbaikan

  • Uji semula kombinasi parameter yang berbeza untuk mencari nilai optimum.
  • Tambah stop loss kepada loss kawalan.
  • Tambah penunjuk lain untuk menilai momentum dan perbezaan untuk mengelakkan isyarat palsu.
  • Pilih strategi mengambil keuntungan yang sesuai mengikut keadaan sebenar.

Ringkasan

Strategi Triple Moving Average Crossover adalah strategi trend berikut yang mudah dan praktikal. Ia mengenal pasti perubahan arah trend berdasarkan persilangan tiga purata bergerak untuk menjana isyarat perdagangan. Kelebihan strategi ini adalah peraturan yang mudah dan penjejakan trend yang berkesan, menjadikannya sesuai untuk perdagangan jangka menengah hingga panjang. Walau bagaimanapun, terdapat juga risiko isyarat palsu dan penarikan. Strategi dapat ditingkatkan dengan mengoptimumkan parameter, menambah penunjuk sokongan dan lain-lain untuk menyesuaikan diri dengan persekitaran pasaran yang berbeza. Secara keseluruhan, Triple Moving Average Crossover adalah strategi perdagangan algoritma asas yang menyediakan titik permulaan yang baik untuk belajar perdagangan kuantitatif.


/*backtest
start: 2023-08-28 00:00:00
end: 2023-09-27 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © dongyun

//@version=4
strategy("三重交叉修正模式系统", overlay=true)
//strategy.risk.allow_entry_in(strategy.direction.long)
length1 = input(18,'长线')
length2 = input(9,'中线')
length3 = input(4,'短线')

ma1 =0.0
ma2 = 0.0
ma3 = 0.0

ma1 := sma(close,length1)
ma2 := sma(close,length2)
ma3 := sma(close,length3)

plot(ma1)
plot(ma2)
plot(ma3)

if ma2 > ma1 and ma3 > ma3[1]
	strategy.entry("Long", strategy.long, when=strategy.position_size <= 0)

if ma2 < ma1 and ma3 < ma3[1]
	strategy.entry("Short", strategy.short, when=strategy.position_size > 0)

Lebih lanjut