Strategi Breakout Rata-rata Pergerakan Ganda


Tanggal Pembuatan: 2023-11-21 11:34:09 Akhirnya memodifikasi: 2023-11-21 11:34:09
menyalin: 0 Jumlah klik: 564
1
fokus pada
1621
Pengikut

Strategi Breakout Rata-rata Pergerakan Ganda

Ringkasan

Strategi penembusan rata-rata bergerak ganda adalah strategi pelacakan tren yang lebih khas. Strategi ini menangkap arah dan kekuatan tren pasar dengan menghitung rata-rata bergerak dari dua periode yang berbeda dan menyeberangnya sebagai sinyal beli dan jual.

Prinsip Strategi

Strategi ini terutama didasarkan pada dua rata-rata bergerak. Periode rata-rata bergerak pertama lebih pendek dan dapat merespons perubahan harga lebih cepat; Periode rata-rata bergerak kedua lebih panjang dan dapat menyaring sebagian dari kebisingan.

Secara khusus, strategi ini menghitung rata-rata pergerakan indeks 10 periode (price1) dan rata-rata pergerakan indeks 20 periode (price2). Jika harga pembukaan dan penutupan K-line saat ini lebih tinggi dari dua rata-rata bergerak, sinyal beli dihasilkan; Jika harga pembukaan dan penutupan K-line saat ini lebih rendah dari dua rata-rata bergerak, sinyal jual dihasilkan.

Dengan desain seperti itu, Anda dapat memasuki pasar lebih awal ketika tren mulai terbentuk dan mengikuti tren; Anda juga dapat keluar dari pasar secepatnya ketika tren berbalik, dan Anda dapat mengendalikan risiko secara efektif.

Keunggulan Strategis

  • Menangkap Tren Awal, Mengikuti Tren Kuat
  • Penyaringan dua arah untuk menghindari beberapa penembusan palsu
  • K-Line Opening and Closing Price Double Confirmation, mengurangi transaksi yang tidak valid

Risiko Strategis

  • Strategi dua garis lurus cenderung menghasilkan lebih banyak perdagangan terbalik.
  • Sering terjadi sinyal silang saat beroperasi di dua jalur
  • Optimasi parameter yang besar, optimasi yang tidak tepat dapat menyebabkan overfit

Arah optimasi strategi

  • Uji kombinasi parameter yang berbeda untuk mencari parameter optimal
  • Meningkatkan strategi stop loss dan mengurangi ukuran kerugian tunggal
  • Meningkatkan kondisi penyaringan, mengurangi transaksi yang tidak valid
  • Efektivitas sinyal digabungkan dengan indikator lain

Meringkaskan

Strategi ini secara keseluruhan relatif sederhana dan praktis, menangkap tren melalui prinsip persilangan dua persamaan garis, adalah strategi dasar untuk perdagangan kuantitatif. Namun, strategi ini juga memiliki risiko tertentu, perlu dioptimalkan lebih lanjut untuk beradaptasi dengan lingkungan pasar yang berbeda. Ada ruang untuk pengoptimalan dalam penyesuaian parameter, mekanisme stop loss, penyaringan sinyal, dan lain-lain, yang dapat membuat strategi lebih stabil dan andal.

Kode Sumber Strategi
/*backtest
start: 2022-11-14 00:00:00
end: 2023-11-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//study(title="MA River CC v1", overlay = true)
strategy("MA River CC v1", overlay=true)
src = input(close, title="Source")

price = request.security(syminfo.tickerid, timeframe.period, src)
ma1 = input(10, title="1st MA Length")
type1 = input("EMA", "1st MA Type", options=["SMA", "EMA"])

ma2 = input(20, title="2nd MA Length")
type2 = input("EMA", "2nd MA Type", options=["SMA", "EMA"])

price1 = if (type1 == "SMA")
    sma(price, ma1)
else
    ema(price, ma1)
    
price2 = if (type2 == "SMA")
    sma(price, ma2)
else
    ema(price, ma2)


//plot(series=price, style=line,  title="Price", color=black, linewidth=1, transp=0)
plot(series=price1, style=line,  title="1st MA", color=blue, linewidth=2, transp=0)
plot(series=price2, style=line, title="2nd MA", color=green, linewidth=2, transp=0)


buy_entry = (open>price1 and open>price2) and (close>price1 and close>price2)  
sell_entry = (open<price1 and open<price2) and (close<price1 and close<price2)
buy_close = sell_entry
sell_close = buy_entry
//longCondition = crossover(price1, price2)    
if(buy_entry)
    strategy.entry("Long", strategy.long)
    
if(sell_entry)
    strategy.entry("Short", strategy.short)

strategy.close("Long" , when=buy_close)
strategy.close("Short",when=sell_close)