Sumber dimuat naik... memuat...

Strategi silang purata bergerak berganda

Penulis:ChaoZhang, Tarikh: 2023-09-17 22:35:07
Tag:

Strategi ini menghasilkan isyarat perdagangan berdasarkan persilangan dua purata bergerak dengan tempoh yang berbeza.

Logika Strategi

Strategi ini membolehkan pengguna memilih jenis dan panjang purata bergerak. Jenis termasuk SMA, EMA, VWMA, dll. Panjang menentukan tempoh purata bergerak.

Dua purata bergerak dikira berdasarkan pilihan pengguna. Jika garis yang lebih cepat melintasi di atas garis yang lebih perlahan, salib emas terbentuk dan isyarat beli dihasilkan. Jika garis yang lebih cepat melintasi di bawah garis yang lebih perlahan, salib kematian terbentuk dan isyarat jual dihasilkan.

Apabila harga purata jangka pendek di atas harga purata jangka panjang, ia dianggap sebagai trend menaik dan kedudukan panjang harus diambil.

Analisis Kelebihan

  • Logik strategi adalah mudah dan jelas, mudah difahami dan dilaksanakan.
  • Purata bergerak dapat menapis bunyi pasaran dengan berkesan dan mengenal pasti trend.
  • Jenis MA dan parameter boleh dipilih secara fleksibel untuk menyesuaikan diri dengan produk dan jangka masa yang berbeza.
  • Mudah dioptimumkan dengan menggabungkan pelbagai penunjuk.

Analisis Risiko

  • Boleh menghasilkan beberapa isyarat palsu apabila pasaran adalah berkisar.
  • Pemilihan parameter yang tidak sesuai boleh membawa kepada prestasi strategi yang buruk.
  • Isyarat lambat, tidak dapat menangkap titik perubahan tepat pada masanya.
  • Terpapar kejutan harga tiba-tiba.

Risiko boleh dikendalikan dengan mengoptimumkan parameter, menggabungkan penunjuk lain untuk penjanaan isyarat, melaksanakan stop loss / mengambil keuntungan, dll.

Arahan pengoptimuman

  • Uji pelbagai jenis dan panjang MA untuk mencari parameter yang optimum.
  • Tambah penunjuk lain untuk penapisan isyarat, contohnya, jumlah, penunjuk turun naik.
  • Tambah logik stop loss/take profit untuk mengurangkan drawdown.
  • Masukkan penilaian trend untuk mengelakkan keadaan pasaran yang tidak sesuai.
  • Mengoptimumkan pengurusan wang seperti saiz kedudukan, belanjawan risiko.

Kesimpulan

Strategi ini mempunyai logik yang mudah dan jelas untuk menjana isyarat dengan silang MAs berganda. Ia membolehkan penyesuaian parameter yang fleksibel dan kombinasi dengan strategi lain untuk pengoptimuman, tetapi risiko pasaran yang berbeza harus dipantau dan pengurusan wang adalah penting. Secara keseluruhan ia adalah strategi yang patut dipertimbangkan.


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

Lebih lanjut