Strategi Crossover Purata Bergerak Bertiga

Penulis:ChaoZhang, Tarikh: 2023-10-30 16:38:01
Tag:

img

Ringkasan

Strategi ini menggunakan tiga garis purata bergerak dengan tetapan parameter yang berbeza untuk menentukan dan mengikuti trend harga. Ia pergi panjang apabila MA tempoh pendek menyeberangi MA jangka sederhana dan MA jangka sederhana menyeberangi MA jangka panjang, dan pergi pendek apabila persilangan bertentangan berlaku.

Prinsip

  1. Hitung tiga garis purata bergerak yang dilancangkan: tempoh panjang 13 bar dengan perpindahan 8 bar; tempoh pertengahan 8 bar dengan perpindahan 5 bar; tempoh pendek 5 bar dengan perpindahan 3 bar. Semua menggunakan median harga dekat.

  2. Bandingkan hubungan antara tiga garis: pergi panjang apabila MA pendek melintasi MA sederhana dan MA sederhana melintasi MA panjang; pergi pendek apabila melintasi bertentangan berlaku.

  3. Pilihan untuk berdagang dalam arah terbalik.

  4. Merangka tiga garis purata bergerak.

Kelebihan

  1. Menggunakan tiga MA menyediakan penentuan trend pelbagai lapisan dan meningkatkan kebolehpercayaan isyarat.

  2. Gabungan garis tempoh yang berbeza mempertimbangkan kedua-dua momentum jangka pendek dan trend jangka menengah dan panjang.

  3. Harga median mengurangkan pelarian palsu.

  4. Perpindahan garis membezakan kekuatan pecah dan mengelakkan whipsaws.

  5. Pilihan untuk perdagangan terbalik menyesuaikan diri dengan rejimen pasaran yang berbeza.

Risiko

  1. Gabungan MA berbilang memerlukan pengoptimuman parameter, tetapan yang tidak betul boleh merosot kualiti isyarat.

  2. Perpindahan MA pendek tidak pasti menunjukkan perubahan trend.

  3. Isyarat silang mungkin tertunda, penunjuk lain harus membantu dalam kemasukan masa.

  4. Perdagangan terbalik memerlukan berhati-hati dengan stop loss untuk mengehadkan risiko.

Arahan pengoptimuman

  1. Mengoptimumkan panjang dan perpindahan MA untuk menyesuaikan kitaran tempoh yang berbeza.

  2. Tambah penunjuk lain seperti jumlah untuk penapisan isyarat dan kebolehpercayaan.

  3. Mengoptimumkan strategi stop loss dengan kedudukan yang betul.

  4. Masukkan garis trend dan sokongan / rintangan untuk konteks tambahan.

Ringkasan

Strategi ini menentukan pembalikan trend menggunakan gabungan MA dengan panjang dan perpindahan yang berbeza. Menggunakan pelbagai MA meningkatkan kualiti isyarat, sementara MA tempoh yang berbeza menggabungkan ciri jangka pendek, sederhana dan panjang. Pengoptimuman parameter, penapisan isyarat, kehilangan berhenti dan penambahbaikan lain dapat meningkatkan ketahanan dan prestasi dunia nyata.


/*backtest
start: 2023-09-29 00:00:00
end: 2023-10-29 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 01/02/2017
// This indicator calculates 3 Moving Averages for default values of
// 13, 8 and 5 days, with displacement 8, 5 and 3 days: Median Price (High+Low/2).
// The most popular method of interpreting a moving average is to compare 
// the relationship between a moving average of the security's price with 
// the security's price itself (or between several moving averages).
////////////////////////////////////////////////////////////
strategy(title="Bill Williams Averages. 3Lines", shorttitle="3 Lines", overlay = true)
LLength = input(13, minval=1)
MLength = input(8,minval=1)
SLength = input(5,minval=1)
LOffset = input(8,minval=1)
MOffset = input(5,minval=1)
SOffset = input(3,minval=1)
reverse = input(false, title="Trade reverse")
xLSma = sma(hl2, LLength)[LOffset]
xMSma = sma(hl2, MLength)[MOffset]
xSSma = sma(hl2, SLength)[SOffset]
pos = iff(close < xSSma and xSSma < xMSma and xMSma < xLSma, -1,
	   iff(close > xSSma and xSSma > xMSma and xMSma > xLSma, 1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(xLSma, color=blue, title="MA")
plot(xMSma, color=red, title="EMA")
plot(xSSma, color=green, title="EMA")

Lebih lanjut