Strategi pembalikan rata-rata bergerak ganda

Penulis:ChaoZhang, Tanggal: 2023-10-17 14:38:55
Tag:

img

Strategi Reversal Rata-rata Bergerak Ganda adalah strategi mengikuti tren. Ini menghitung rata-rata bergerak dari periode yang berbeda untuk menentukan apakah tren harga berbalik, untuk menangkap titik balik dan mencapai membeli rendah dan menjual tinggi.

Strategi ini pertama-tama menghitung dua set moving average dengan periode yang berbeda. Satu set adalah moving average jangka panjang, yang digunakan untuk menentukan tren keseluruhan. Set lainnya adalah moving average jangka pendek, yang digunakan untuk menentukan tren lokal. Dengan membandingkan hubungan antara dua set moving average, strategi menilai apakah tren keseluruhan telah terbalik.

Secara khusus, strategi pertama menghitung dua rata-rata bergerak jangka panjang (misalnya 60 hari), yaitu rata-rata bergerak sederhana 60 hari dan rata-rata bergerak tertimbang 60 hari. Set rata-rata bergerak ini digunakan untuk menentukan tren keseluruhan. Selain itu, strategi menghitung dua rata-rata bergerak jangka pendek (misalnya 5 hari), yaitu rata-rata bergerak sederhana 5 hari dan rata-rata bergerak tertimbang 5 hari.

Ketika rata-rata bergerak jangka pendek melintasi di atas rata-rata bergerak jangka panjang, ini menunjukkan harga telah terbalik dari tren menurun ke tren naik. Strategi akan membuka posisi panjang. Ketika rata-rata bergerak jangka pendek melintasi di bawah rata-rata bergerak jangka panjang, ini menunjukkan harga telah terbalik dari tren naik ke tren turun. Strategi akan membuka posisi pendek.

Langkah-langkah spesifiknya adalah:

  1. Hitung rata-rata bergerak sederhana 60 hari nma dan rata-rata bergerak tertimbang 60 hari n2ma

  2. Hitung rata-rata bergerak sederhana 5 hari nma1 dan rata-rata bergerak tertimbang 5 hari n2ma1

  3. Bandingkan n2ma1 dan nma1: jika n2ma1 melintasi di atas nma1, buka posisi panjang; jika n2ma1 melintasi di bawah nma1, buka posisi pendek

  4. Bandingkan n2ma dan nma: jika n2ma melintasi di atas nma dan posisi panjang dibuka, teruslah memegang panjang; jika n2ma melintasi di bawah nma dan posisi pendek dibuka, teruslah memegang pendek

  5. Tutup posisi ketika harga melebihi stop loss atau mencapai take profit

  6. Ulangi proses di atas untuk menangkap pembalikan tren dan mencapai membeli rendah dan menjual tinggi

Keuntungan dari strategi ini adalah bahwa kombinasi rata-rata bergerak ganda dapat dengan sensitif menangkap pembalikan tren harga. Crossover rata-rata bergerak ganda adalah sinyal indikator teknis klasik. Juga, kombinasi rata-rata bergerak periode yang berbeda dapat menilai tren keseluruhan dan lokal, mencapai tren berikut.

Risiko dari strategi ini adalah bahwa crossover rata-rata bergerak ganda mungkin memiliki sinyal palsu, menyebabkan kesalahan waktu masuk atau keluar posisi, sehingga meningkatkan risiko perdagangan. Selain itu, sistem rata-rata bergerak rentan terhadap sinyal yang salah di pasar yang terikat rentang.

Strategi dapat dioptimalkan dalam aspek berikut:

  1. Mengoptimalkan periode rata-rata bergerak untuk menemukan kombinasi parameter terbaik

  2. Tambahkan filter indikator teknis lainnya untuk menghindari pecah palsu

  3. Tambahkan stop loss dan take profit untuk mengendalikan risiko perdagangan tunggal

  4. Gabungkan dengan waktu perdagangan tren untuk menghindari perdagangan yang salah di pasar sampingan

  5. Sesuaikan ukuran posisi secara dinamis untuk beradaptasi dengan perubahan volatilitas pasar

Pada akhirnya, strategi pembalikan rata-rata bergerak ganda menangkap titik balik tren harga dengan membandingkan rata-rata bergerak periode yang berbeda, untuk mencapai pembelian rendah dan penjualan tinggi. mengoptimalkan pengaturan parameter, menambahkan filter, dan mengendalikan risiko adalah arah untuk meningkatkan strategi. Ketika digunakan dengan benar, ini dapat menjadi alat yang efektif untuk menangkap pembalikan tren secara kuantitatif.


/*backtest
start: 2022-10-10 00:00:00
end: 2023-06-08 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
//                   //////////////// Attempt to Reduced ReDraw version /////////////////////
//
//                         Microcana.com strategy by pilotgsms - version 4.20b <<<< Edited by Seaside420 >>>> special thanks to 55cosmicpineapple
//                            Hull_MA_cross added to script
strategy("M&H_v420b", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, calc_on_order_fills= true, calc_on_every_tick=true, pyramiding=0)
dt = input(defval=0.0010, title="Decision Threshold", type=float, step=0.0001)
dd = input(defval=1, title="Post Signal Bar Delay", type=float, step=1)
df = input(defval=5, title="Close Position Bar Delay", type=float, step=1)
keh=input(title="Double HullMA Cross",defval=7, minval=1)
confidence=(request.security(syminfo.tickerid, 'D', close)-request.security(syminfo.tickerid, 'D', close[1]))/request.security(syminfo.tickerid, 'D', close[1])
prediction = confidence > dt ? true : confidence < -dt ? false : prediction[1]
n2ma=2*wma(close,round(keh/2))
nma=wma(close,keh)
diff=n2ma-nma,sqn=round(sqrt(keh))
n2ma1=2*wma(close[2],round(keh/2))
nma1=wma(close[2],keh)
diff1=n2ma1-nma1,sqn1=round(sqrt(keh))
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
openlong=prediction[dd] and n1>n2 and strategy.opentrades<1
if (openlong)
    strategy.entry("Long", strategy.long)
openshort=not prediction[dd] and n2>n1 and strategy.opentrades<1
if (openshort)
    strategy.entry("Short", strategy.short)
closeshort=prediction and close<low[df]
if (closeshort)
    strategy.close("Short")
closelong=not prediction and close>high[df]  
if (closelong)
    strategy.close("Long")

Lebih banyak