Strategi Crossover Purata Pergerakan Berganda Klasik


Tarikh penciptaan: 2023-10-27 16:47:30 Akhirnya diubah suai: 2023-10-27 16:47:30
Salin: 0 Bilangan klik: 683
1
fokus pada
1617
Pengikut

Strategi Crossover Purata Pergerakan Berganda Klasik

Gambaran keseluruhan

Strategi silang dua garis adalah strategi analisis teknikal yang sangat klasik dan biasa digunakan. Strategi ini menggunakan persilangan purata bergerak cepat dan purata bergerak perlahan sebagai isyarat membeli dan menjual. Isyarat membeli dihasilkan apabila purata bergerak cepat menembusi purata bergerak perlahan dari arah bawah; isyarat menjual dihasilkan apabila purata bergerak cepat jatuh dari arah atas dan menembusi purata bergerak perlahan.

Prinsip Strategi

Kod strategi ini terdiri daripada:

  1. Tentukan panjang dan jenis garis rata-rata pantas dan perlahan: panjang garis pantas adalah 5 kitaran, panjang garis perlahan adalah 21 kitaran, kedua-duanya menggunakan purata bergerak sederhana.

  2. Hitung garis cepat dan lambat: Hitung purata bergerak sederhana 5 dan 21 kitaran dengan fungsi sma.

  3. Gambar: Gambarkan garis laju dan garis perlahan.

  4. Mendefinisikan syarat beli dan jual: Beli semasa melintasi garis laju, jual semasa melintasi garis laju.

  5. Pelaksanaan perdagangan: Melalui fungsi panjang dan pendek strategi untuk melakukan pembelian dan penjualan secara automatik apabila syarat dipenuhi.

Kunci strategi ini adalah menggunakan kombinasi garis rata dengan jangka masa yang berbeza, membentuk garis rata yang cepat dan perlahan, dan menggunakan persimpangan sebagai isyarat perdagangan. Garis cepat dapat menangkap perubahan harga lebih cepat, dan garis perlahan dapat mencerminkan trend jangka panjang.

Analisis kelebihan

Strategi penyeberangan dua hala mempunyai kelebihan berikut:

  1. Prinsipnya mudah, mudah dipelajari, dan sesuai untuk pemula.

  2. Operasi berlanjutan, mengikut trend harga, penarikan balik kecil.

  3. Perdagangan adalah sederhana dan tidak terlalu kerap.

  4. Parameter yang boleh disesuaikan, fleksibiliti dalam menangani perubahan pasaran.

  5. Mudah untuk mencari kombinasi parameter yang sesuai dengan pengoptimuman anda.

  6. Anda boleh menetapkan titik henti dan mengawal risiko.

  7. Ia boleh digunakan di pelbagai pasaran, dan ia sangat mudah digunakan.

  8. Ia boleh digunakan dengan kombinasi lain untuk meningkatkan keberkesanan.

Analisis risiko

Ini adalah strategi yang tidak dapat dielakkan, tetapi ia mempunyai beberapa risiko:

  1. Apabila trend pasaran kuat, garis purata mengikuti kecenderungan kelewatan, mungkin berlaku kelewatan, kehilangan masa masuk yang terbaik. Anda boleh mengurangkan kitaran garis purata dengan sewajarnya, meningkatkan kepekaan.

  2. Dalam keadaan yang bergolak, lebih banyak isyarat palsu mungkin muncul. Syarat penapisan boleh ditingkatkan dengan sewajarnya untuk mengelakkan perdagangan yang salah.

  3. Jumlah dagangan mungkin lebih banyak, yang mempengaruhi keuntungan. Anda boleh melepaskan jarak rata-rata dengan sewajarnya, mengurangkan persilangan.

  4. Tidak dapat menentukan jenis trend, terdapat risiko perdagangan berlawanan. Indikator trend boleh membantu menentukan.

  5. Optimasi parameter memerlukan sokongan data sejarah tertentu, dan varieti baru mungkin ada overadaptasi. Pelbagai kombinasi perlu digunakan untuk menguji parameter kecergasan.

  6. Penunjuk tunggal mudah dipengaruhi oleh persekitaran luaran, prestasi mungkin tidak stabil. Ia boleh digabungkan dengan penunjuk lain untuk disahkan.

Arah pengoptimuman

Strategi penyeberangan dua hala juga boleh dioptimumkan dengan:

  1. Uji garis purata perlahan dengan panjang yang berbeza untuk mencari parameter terbaik yang sesuai untuk jenis dagangan tertentu.

  2. Menambah syarat penapisan, seperti jumlah dagangan, ATR berhenti, dan sebagainya, untuk mengurangkan peluang yang kurang baik.

  3. Gabungan dengan penunjuk momentum untuk mengesahkan isyarat beli dan jual untuk mengelakkan penembusan palsu.

  4. Mengoptimumkan strategi hentikan kerugian untuk mengelakkan sebahagian daripada hentikan kerugian terlalu awal atau terlambat.

  5. Menggabungkan trend dan indikator gelombang untuk trend tracking dan perdagangan berlawanan arah.

  6. Menggunakan garis rata-rata yang menyesuaikan diri, menyesuaikan parameter garis rata-rata mengikut pasaran, dan bukan kitaran tetap.

  7. Kombinasi jangka masa yang digunakan, menggunakan kombinasi parameter yang berbeza mengikut ciri masa pasaran.

  8. Pengoptimuman masa nyata, menggunakan teknologi pembelajaran mesin dan parameter pengoptimuman berterusan.

ringkaskan

Strategi persilangan binari adalah salah satu strategi perdagangan yang paling penting dan biasa digunakan dalam analisis teknikal kerana prinsipnya yang mudah dan mudah dikuasai dan dilaksanakan. Strategi ini mematuhi trend harga, penarikan balik boleh dikawal, dan risiko boleh diterima. Tetapi ruang pengoptimumannya juga besar, dengan pengoptimuman parameter, digabungkan dengan indikator lain dan algoritma automasi, kebolehgunaan dan keberkesanan strategi ini dapat diperluaskan.

Kod sumber strategi
/*backtest
start: 2023-09-26 00:00:00
end: 2023-10-26 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
// strategy("Stochastic Strategy of BiznesFilosof", shorttitle="SS of BiznesFilosof", overlay=false, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=20, commission_type=strategy.commission.percent, commission_value=0.15, pyramiding=0)

//Period
startY = input(title="Start Year", defval = 2011)
startM = input(title="Start Month", defval = 1, minval = 1, maxval = 12)
startD = input(title="Start Day", defval = 1, minval = 1, maxval = 31)
finishY = input(title="Finish Year", defval = 2050)
finishM = input(title="Finish Month", defval = 12, minval = 1, maxval = 12)
finishD = input(title="Finish Day", defval = 31, minval = 1, maxval = 31)
//finish = input(2019, 02, 28, 00, 00)
timestart = timestamp(startY, startM, startD, 00, 00)
timefinish = timestamp(finishY, finishM, finishD, 23, 59)
window = true // Lenghth strategy

length1 = input(21, minval=1), smoothK1 = input(3, minval=1), smoothD1 = input(3, minval=1)
//length2 = input(5, minval=1), smoothK2 = input(1, minval=1), smoothD2 = input(1, minval=1)
inh0 = input(title="Bottom Line", defval = 14, minval=0), inh1 = input(title="Upper Line", defval = 86, minval=0)

k1 = sma(stoch(close, high, low, length1), smoothK1)
d1 = sma(k1, smoothD1)
plot(k1, color=blue)
plot(d1, color=red)
//k2 = sma(stoch(close, high, low, length2), smoothK2)
//d2 = sma(k2, smoothD2)
//plot(k2, color=orange)

h1 = hline(inh1)
h0 = hline(inh0)
fill(h0, h1, color = aqua, transp=90)

//open
strategy.entry("LongEntryID", strategy.long, comment="LONG", when = crossover(k1, d1) and crossover(k1, inh0) and window)
strategy.entry("ShortEntryID", strategy.short, comment="SHORT", when = crossunder(k1, d1) and crossunder(k1, inh1) and window)

if crossunder(k1, d1) and crossunder(k1, inh1) and strategy.position_size > 0
    strategy.close_all()
if crossover(k1, d1) and crossover(k1, inh0) and strategy.position_size < 0
    strategy.close_all()