Strategi persilangan purata bergerak


Tarikh penciptaan: 2023-11-23 13:38:02 Akhirnya diubah suai: 2023-11-23 13:38:02
Salin: 0 Bilangan klik: 631
1
fokus pada
1617
Pengikut

Strategi persilangan purata bergerak

Gambaran keseluruhan

Strategi persilangan rata-rata adalah strategi perdagangan berdasarkan rata-rata bergerak. Ia menggunakan persilangan rata-rata bergerak cepat dan rata-rata bergerak perlahan sebagai isyarat membeli dan menjual. Ia menghasilkan isyarat membeli apabila rata-rata bergerak cepat menembusi rata-rata perlahan dari arah bawah; ia menghasilkan isyarat menjual apabila rata-rata bergerak cepat jatuh dari arah atas dan melanggar rata-rata perlahan.

Prinsip Strategi

Kaedah ini menggunakan fungsi sma untuk mengira purata bergerak sederhana untuk tempoh yang ditetapkan, sebagai purata cepat dan purata perlahan. Kaedah ini mempunyai tempoh purata cepat default 18 hari, yang boleh disesuaikan dengan parameter.

Apabila garisan laju rata-rata menembusi garisan laju rata-rata dari arah bawah, gunakan fungsi crossunder untuk mengesan isyarat silang dan menghasilkan isyarat beli. Apabila garisan laju rata-rata jatuh dari arah atas dan menembusi garisan laju rata-rata, gunakan fungsi crossover untuk mengesan isyarat silang dan menghasilkan isyarat jual.

Strategi ini mewujudkan perdagangan automatik melalui isyarat trek dan isyarat keluar. Masukan bermulut dipicu apabila garis rata-rata pantas dari bawah melanggar garis rata-rata perlahan; Masukan kosong dipicu apabila garis rata-rata pantas dari atas melanggar garis rata-rata perlahan. Isyarat keluar yang sesuai juga dihasilkan apabila bersilang terbalik.

Analisis kelebihan

  • Menggunakan crossover rata-rata bergerak mempunyai keupayaan trend yang kuat untuk menangkap trend harga dengan berkesan
  • Strategi garis rata lebih mudah, langsung, logiknya jelas, dan mudah difahami
  • Strategi pengoptimuman boleh disesuaikan dengan keadaan pasaran yang berbeza dengan menyesuaikan parameter rata-rata
  • Strategi untuk Automasi Perdagangan, Mengurangkan Kos Operasi dan Mengelakkan Penglibatan Manusia

Risiko dan Penyelesaian

  • Apabila harga berada di dalam rantaian goyah, terdapat banyak isyarat silang yang tidak berkesan, membawa risiko perdagangan yang kerap. Ia boleh dielakkan dengan menambah syarat penapisan.
  • Perlu memberi perhatian kepada optimasi parameter, parameter yang berbeza mempunyai kesan yang lebih besar terhadap prestasi strategi. Anda boleh mengesan kembali parameter pengoptimuman, atau memperkenalkan garis rata-rata penyesuaian.
  • Terdapat beberapa risiko isyarat yang tersalah, yang boleh digabungkan dengan isyarat penapis indikator lain atau sebagai syarat tambahan.
  • Anda boleh memperkenalkan strategi hentikan kerugian untuk mengawal kerugian tunggal.

Arah pengoptimuman

  • Anda boleh memperkenalkan parameter garis rata-rata yang menyesuaikan diri atau optimasi garis rata-rata yang dinamik, supaya parameter garis rata-rata menyesuaikan diri secara dinamik dan lebih baik untuk mengikuti pasaran.
  • Anda boleh menambah syarat penapisan untuk mengelakkan isyarat yang salah apabila harga bergoyang dan trend tidak jelas. Sebagai contoh, memperkenalkan penapisan jumlah transaksi.
  • Ia boleh digabungkan dengan penunjuk lain, seperti pita Brin sebagai penapis atau syarat tambahan untuk kemasukan, untuk meningkatkan prestasi strategi.
  • Strategi hentikan kerugian boleh diperkenalkan untuk mengawal kerugian tunggal dalam julat yang boleh diterima.

ringkaskan

Strategi persilangan garis sejajar secara keseluruhan adalah strategi trend yang lebih klasik dan sederhana. Ia menggunakan persilangan garis sejajar sebagai isyarat perdagangan, asasnya mudah dan mudah difahami, dapat disesuaikan dengan pasaran melalui parameter. Tetapi ada juga beberapa kelemahan, seperti terdedah kepada kesan gegaran dan perubahan trend, isyarat yang kerap, dan lain-lain.

Kod sumber strategi
/*backtest
start: 2023-11-15 00:00:00
end: 2023-11-17 04:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy(title = "MA Close Strategy", shorttitle = "MA Close",calc_on_order_fills=true,calc_on_every_tick =true, initial_capital=21000,commission_value=.25,overlay = true,default_qty_type = strategy.percent_of_equity, default_qty_value = 100)

MASource   = input(defval = open, title = "MA Source")
MaLength   = input(defval = 18, title = "MA Period", minval = 1)

StartYear = input(2018, "Backtest Start Year")
StartMonth = input(1, "Backtest Start Month")
StartDay = input(1, "Backtest Start Day")
UseStopLoss = input(true,"UseStopLoss")
stopLoss = input(50, title = "Stop loss percentage(0.1%)") 

window() => time >=  timestamp(StartYear, StartMonth, StartDay,00,00) ? true : false

MA = sma(MASource,MaLength)

plot(MA, title = "Fast MA", color = green, linewidth = 2, style = line, transp = 50)

long = crossunder(MA, close)
short = crossover(MA, close)

if (long)
    strategy.entry("LongId", strategy.long, when = long)
    strategy.exit("ExitLong", from_entry = "LongId", when = short)

if (short)
    strategy.entry("ShortId", strategy.short, when = short)
    strategy.exit("ExitShort", from_entry = "ShortId", when = long)

if (UseStopLoss)
    strategy.exit("StopLoss", "LongId", loss = close * stopLoss / 1000 / syminfo.mintick)
    strategy.exit("StopLoss", "ShortId", loss = close * stopLoss / 1000 / syminfo.mintick)