Strategi Crossover Purata Pergerakan Berganda Momentum


Tarikh penciptaan: 2023-11-17 17:00:32 Akhirnya diubah suai: 2023-11-17 17:00:32
Salin: 0 Bilangan klik: 366
1
fokus pada
1166
Pengikut

Strategi Crossover Purata Pergerakan Berganda Momentum

Gambaran keseluruhan

Strategi ini menggunakan kaedah silang dua garis rata dengan momentum untuk melakukan perdagangan berisiko rendah. Ia menggunakan garis rata, garis cepat, dan garis perlahan dengan dua kitaran yang berbeza untuk menilai masa membeli dan menjual berdasarkan persimpangan mereka. Strategi ini bertujuan untuk menangkap perubahan trend dan memperoleh keuntungan garis panjang dalam trend besar.

Prinsip Strategi

Strategi ini menggunakan WMA garis laju dan WMA garis perlahan untuk menentukan tanda jual beli. Kitaran garis laju adalah separuh daripada kitaran garis perlahan. Ia menghasilkan isyarat beli apabila garis pantas melintasi garis perlahan dari bawah; ia menghasilkan isyarat jual apabila garis pantas melintasi garis perlahan dari atas.

Secara khusus, logik utama dalam strategi ini ialah:

  1. Mendefinisikan harga dan parameter: Mengekstrak data harga OHLC; mendefinisikan parameter HullMA kitaran z, data harga p.

  2. Hitung garis rata-rata dua: Hitung garis rata-rata 2 kitaran n2ma, z kitaran rata-rata nma.

  3. Hitung perbezaan garis rata: Hitung perbezaan dua garis rata.

  4. Mengira Indeks Kinetik: Mengira purata pergerakan kitaran n1, n2, n3 sqn bagi perbezaan garisan purata.

  5. Pertimbangan silang: Tanda hijau apabila n1 memakai n2 dan merah jika tidak

  6. Menggambar bentuk: Menggambar n1, n2 grafik.

  7. Isyarat penghakiman: Isyarat dihasilkan apabila tiga garis rata-rata gerak n1, n2, n3 bersilang.

  8. Masuk dan Keluar: Melalui garis perlahan pada garis pantas dan penunjuk momentum memenuhi keperluan untuk melakukan lebih banyak; Melalui garis perlahan di bawah garis pantas dan penunjuk momentum memenuhi keperluan untuk membuat kosong.

Kelebihan Strategik

Strategi ini digabungkan dengan crossover dan dinamika yang baik untuk menyaring isyarat palsu dan menghasilkan isyarat perdagangan hanya pada permulaan perubahan trend, untuk mendapatkan kesan strategi yang lebih baik.

  1. Garis laju dan garisan perlahan dapat menentukan masa perubahan trend dan memanfaatkan trend untuk mendapatkan keuntungan.

  2. Penambahan penunjuk momentum boleh menyaring isyarat palsu dan mengelakkan salah kaprah oleh penurunan jangka pendek di pasaran.

  3. Berdagang hanya apabila terdapat perubahan dalam trend besar, dapat mengurangkan frekuensi perdagangan yang tidak perlu.

  4. Menggunakan kitaran purata linear dengan parameter yang dioptimumkan dapat menjadikan indikator lebih sesuai dengan ciri-ciri varieti yang berbeza.

  5. Mengizinkan tahap pyreming yang boleh memanjangkan kitaran keuntungan.

Risiko Strategik

Strategi ini juga mempunyai risiko yang perlu diperhatikan:

  1. Garis persimpangan dua rata terlewat dalam penilaian perubahan trend, dan mungkin terlepas masa terbaik untuk perubahan harga.

  2. Tetapan parameter penunjuk momentum yang tidak betul boleh menyesatkan perdagangan.

  3. Terdapat beberapa isu mengenai ketidakseimbangan dalam tempoh memegang saham kosong.

  4. Strategi tidak mempunyai mekanisme yang baik untuk menangani keadaan yang bergolak di pasaran.

  5. Terdapat risiko overoptimisasi, perlu mengoptimumkan parameter secara berperingkat.

Penyelesaian untuk menghadapi risiko adalah:

  1. Anda boleh pertimbangkan untuk menggunakan penunjuk awal lain untuk menilai perubahan harga dan bersiap sedia.

  2. Parameter penunjuk momentum harus dioptimumkan dengan sewajarnya untuk mencari kombinasi parameter terbaik.

  3. Anda boleh pertimbangkan untuk memasukkan indikator kadar turun naik untuk membantu mengawal masa kedudukan.

  4. Menghadkan jumlah kedudukan yang sesuai untuk mengurangkan kerugian tunggal.

  5. Parameter harus diuji untuk mengelakkan masalah pengoptimuman.

Arah pengoptimuman strategi

Strategi ini juga boleh dioptimumkan dalam beberapa aspek:

  1. Cuba pelbagai jenis penunjuk rata-rata untuk mencari parameter yang optimum untuk varieti tersebut.

  2. Ujian menambah petunjuk tambahan seperti MACD, perubahan trend penilaian, dan lain-lain.

  3. Optimumkan masa kemasukan dan tentukan titik permulaan perubahan harga.

  4. Mengoptimumkan masa beraksi dan mengunci keuntungan dengan cara seperti Tracking Stop Loss.

  5. Optimasi parameter berdasarkan ciri-ciri pelbagai jenis.

  6. Menggunakan kaedah pembelajaran mesin untuk mencari kombinasi parameter yang optimum.

  7. Membina mekanisme pengurusan kedudukan dinamik untuk mengawal risiko.

  8. Tambahkan petanda penilaian strategi kuantitatif, seperti nisbah Sharpe, nisbah keuntungan dan kerugian.

  9. Menggunakan strategi penilaian enjin tinjauan balik terhadap data sejarah.

ringkaskan

Secara keseluruhannya, strategi garis dua yang dinamika ini menggunakan titik-titik perubahan garis-garis yang sama dan indikator dinamika untuk menilai trend besar, yang dapat menyaring bunyi bising dengan berkesan untuk perdagangan berisiko rendah. Ia mempunyai kelebihan seperti kestabilan keuntungan, kesederhanaan, dan juga terdapat beberapa masalah dalam pengoptimuman parameter dan kawalan risiko.

Kod sumber strategi
/*backtest
start: 2022-11-10 00:00:00
end: 2023-11-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
//OCTOPUS Indicator Strategy
strategy("FAVEL corp. Indicator Strategy", shorttitle="FAVEL corp. Monarch", overlay=true, default_qty_type=strategy.percent_of_equity, max_bars_back=420, default_qty_value=20, calc_on_order_fills= true, calc_on_every_tick=true, pyramiding=0)
z=input(defval=60,title="HullMA cross")
p=input(ohlc4,title="Price data")
n2ma=2*wma(p,round(z/2))
nma=wma(p,z)
diff=n2ma-nma
sqn=round(sqrt(z))
n2ma1=2*wma(p[1],round(z/2))
nma1=wma(p[1],z)
diff1=n2ma1-nma1
sqn1=round(sqrt(z))
n2ma2=2*wma(p[2],round(z/2))
nma2=wma(p[2],z)
diff2=n2ma2-nma2
sqn2=round(sqrt(z))
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
n3=wma(diff2,sqn)
c=n1>n2?green:red
n1e=plot(n1, color=c, linewidth=1, offset=2)
n2e=plot(n2, color=c, linewidth=1, offset=2)
fill(n1e, n2e, color=c, transp=75)
plot(cross(n1, n2) ? n1 : na, style = circles,color=c, linewidth = 4)
closelong = p<p[1] and n1<n3
if (closelong)
    strategy.close("BUY")
closeshort = p>p[1] and n1>n3
if (closeshort)
    strategy.close("SELL")
longCondition = strategy.opentrades<1 and n1>n2 and p>p[1] and n1>n3
if (longCondition)
    strategy.entry("BUY",strategy.long)
shortCondition = strategy.opentrades<1 and n1<n2 and p<p[1] and n1<n3
if (shortCondition)
    strategy.entry("SELL",strategy.short)