Strategi Palang Emas Purata Bergerak Berganda dan Palang Kematian


Tarikh penciptaan: 2023-09-17 22:35:07 Akhirnya diubah suai: 2023-09-17 22:35:07
Salin: 1 Bilangan klik: 626
1
fokus pada
1617
Pengikut

Strategi ini menggunakan pengiraan purata bergerak dari dua tempoh yang berbeza dan membentuk isyarat beli dan jual berdasarkan garpu emas mereka.

Prinsip Strategi

Strategi ini pertama-tama membolehkan pengguna memilih jenis dan panjang purata bergerak. Jenis termasuk SMA, EMA, VWMA, dan lain-lain, dan panjangnya menentukan kitaran rata-rata.

Kemudian dua rata-rata bergerak dikira mengikut pilihan pengguna. Jika garis pantas melintasi garis perlahan dari bawah, membentuk garpu emas, maka akan dihasilkan isyarat beli. Jika garis pantas melintasi garis perlahan dari atas ke bawah, membentuk garpu mati, maka akan dihasilkan isyarat jual.

Dengan cara ini, apabila harga purata jangka pendek lebih tinggi daripada harga purata jangka panjang, ia dianggap sebagai pasaran dalam trend naik dan harus dibeli. Apabila harga jangka pendek lebih rendah daripada harga jangka panjang, ia dianggap sebagai pasaran dalam trend menurun dan harus dijual.

Analisis kelebihan

  • Logik strategi mudah difahami dan mudah diimplementasikan.
  • Rata-rata bergerak dapat menyaring bunyi pasaran dan mengenal pasti trend.
  • Jenis dan parameter purata bergerak boleh dipilih secara fleksibel untuk pelbagai jenis dan tempoh.
  • Mudah untuk dioptimumkan melalui pelbagai kombinasi penunjuk.

Analisis risiko

  • Apabila pasaran bergolak, ia mungkin menghasilkan beberapa isyarat yang salah.
  • Pilihan parameter yang tidak betul boleh menyebabkan prestasi strategi yang buruk.
  • “Signal terlewat, tidak dapat menangkap titik perubahan tepat pada masanya.
  • Berhadapan dengan peristiwa yang tidak dijangka, risiko berlaku kejutan.

Risiko boleh dikawal dengan cara mengoptimumkan parameter yang sesuai, menggabungkan isyarat penjanaan indikator lain, dan menetapkan hentian kerugian.

Arah pengoptimuman

  • Uji parameter pelbagai jenis dan panjang untuk mencari kombinasi parameter yang optimum.
  • Menambah penapis untuk penunjuk lain, seperti penunjuk kuantiti, penunjuk kadar turun naik, dan sebagainya.
  • Menambah logik stop-loss dan mengurangkan penarikan balik.
  • Menerusi indikator trend, mengelakkan persekitaran perdagangan yang tidak sesuai.
  • Mengoptimumkan strategi pengurusan wang, seperti pengurusan kedudukan, bajet risiko, dan sebagainya.

ringkaskan

Strategi ini secara keseluruhannya mudah dan jelas, dengan mengira tanda perdagangan yang terbentuk dengan pengiraan dua garis rata, parameter boleh disesuaikan secara fleksibel mengikut keadaan pasaran, dan kombinasi strategi lain dapat dioptimumkan, tetapi perlu berhati-hati untuk mencegah risiko pasaran yang bergolak, pengurusan dana yang masuk akal. Secara keseluruhannya adalah pilihan yang patut dipertimbangkan.

Kod sumber strategi
/*backtest
start: 2023-09-09 00:00:00
end: 2023-09-13 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy(title = "Noro's MAs Tests", shorttitle = "MAs tests", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0)


len = input(30, defval = 30, minval = 2, maxval = 1000, title = "MA length")
type = input(1, defval = 1, minval = 1, maxval = 7, title = "Type")
src = input(close, defval = close, title = "Source")

//DEMA
dema = 2 * ema(src, len) - ema(ema(close, len), len)

//TEMA
xPrice = close
xEMA1 = ema(src, len)
xEMA2 = ema(xEMA1, len)
xEMA3 = ema(xEMA2, len)
tema = 3 * xEMA1 - 3 * xEMA2 + xEMA3

//KAMA
xvnoise = abs(src - src[1])
nfastend = 0.20
nslowend = 0.05
nsignal = abs(src - src[len])
nnoise = sum(xvnoise, len)
nefratio = iff(nnoise != 0, nsignal / nnoise, 0)
nsmooth = pow(nefratio * (nfastend - nslowend) + nslowend, 2) 
kama = nz(kama[1]) + nsmooth * (src - nz(kama[1]))

//PriceChannel
lasthigh = highest(src, len)
lastlow = lowest(src, len)
center = (lasthigh + lastlow) / 2

ma = type == 1 ? sma(src, len) : type == 2 ? ema(src, len) : type == 3 ? vwma(src, len) : type == 4 ? dema : type == 5 ? tema : type == 6 ? kama : type == 7 ? center : 0

plot(ma, color = blue, linewidth = 3, transp = 0)

trend = low > ma ? 1 : high < ma ? -1 : trend[1]

longCondition = trend == 1 and trend[1] == -1
if (longCondition)
    strategy.entry("Long", strategy.long)

shortCondition = trend == -1 and trend[1] == 1
if (shortCondition)
    strategy.entry("Short", strategy.short)