Sumber daya yang dimuat... Pemuatan...

Strategi Crossover Rata-rata Bergerak Ganda

Penulis:ChaoZhang, Tanggal: 2023-11-21 11:34:09
Tag:

img

Gambaran umum

Dual Moving Average Crossover Strategy adalah strategi trend following yang khas. Strategi ini menghitung dua moving average dengan periode yang berbeda dan menggunakan crossover mereka sebagai sinyal perdagangan untuk menangkap arah dan momentum tren pasar.

Logika Strategi

Strategi ini terutama didasarkan pada dua moving average. moving average pertama memiliki periode yang lebih pendek dan dapat merespons perubahan harga lebih cepat. moving average kedua memiliki periode yang lebih lama dan dapat menyaring beberapa kebisingan. ketika moving average jangka pendek melintasi moving average jangka panjang, itu dianggap sinyal beli. ketika moving average jangka pendek melintasi di bawah moving average jangka panjang, itu dianggap sinyal jual.

Secara khusus, strategi ini menghitung rata-rata bergerak eksponensial 10 periode (harga1) dan rata-rata bergerak eksponensial 20 periode (harga2). Jika harga buka dan penutupan bar saat ini keduanya lebih tinggi dari dua rata-rata bergerak, sinyal beli dihasilkan. Jika harga buka dan penutupan keduanya lebih rendah dari dua rata-rata bergerak, sinyal jual dihasilkan.

Desain ini memungkinkan masuk lebih awal ketika tren mulai terbentuk dan mengikuti tren. Ketika tren berbalik, itu juga dapat keluar dari pasar lebih awal untuk secara efektif mengendalikan risiko.

Keuntungan

  • Mengidentifikasi tren awal dan mengikuti tren yang kuat
  • Dual MA crossover filter kebisingan
  • Konfirmasi ganda dari harga buka dan tutup mengurangi perdagangan yang tidak efektif

Risiko

  • Cenderung untuk whipsaws dan perdagangan terbalik
  • Sinyal silang yang sering terjadi
  • Ruang penyesuaian parameter yang besar dapat menyebabkan overfit

Peningkatan

  • Uji set parameter yang berbeda untuk menemukan optimal
  • Tambahkan stop loss ke ukuran limit loss
  • Tambahkan filter untuk mengurangi perdagangan buruk
  • Menggabungkan indikator lain untuk mengkonfirmasi sinyal

Ringkasan

Strategi ini relatif sederhana dan praktis, menangkap tren dengan crossover MA ganda, menjadikannya strategi kuantum mendasar. tetapi juga memiliki beberapa risiko dan membutuhkan optimasi lebih lanjut untuk rezim pasar yang berbeda. ada ruang untuk meningkatkan parameter, berhenti, filter dll untuk membuatnya lebih kuat.


/*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)



Lebih banyak