Strategi Penangkapan Momentum Berdasarkan Purata Bergerak

Penulis:ChaoZhang, Tarikh: 2023-11-01 15:55:51
Tag:

img

Ringkasan

Strategi ini menggunakan purata bergerak sebagai isyarat perdagangan utama, digabungkan dengan Heikin-Ashi untuk mengesan pembalikan trend, bertujuan untuk menangkap momentum harga jangka pendek.

Logika Strategi

  1. Mengira harga penutupan Heikin-Ashi nAMAn sebagai garis asas harga.

  2. Mengira purata bergerak pantas fma dan purata bergerak perlahan sma berdasarkan nAMAn.

  3. Menghasilkan isyarat beli apabila FMA melintasi SMA, dan isyarat jual apabila FMA melintasi di bawah SMA.

  4. Penulisan semula dikeluarkan dalam strategi ini untuk menjana isyarat perdagangan masa nyata dan mengelakkan bias pengujian belakang.

Analisis Kelebihan

  1. Heikin-Ashi membantu menentukan titik pembalikan trend dengan lebih tepat.

  2. MA crossover menapis isyarat palsu dengan berkesan.

  3. Tiada kelewatan dalam penjanaan isyarat memastikan prestasi langsung yang boleh dipercayai.

  4. Penyesuaian parameter yang fleksibel boleh disesuaikan untuk produk yang berbeza.

  5. Logik yang mudah dan jelas, mudah difahami dan dilaksanakan.

  6. Boleh diotomasi sepenuhnya untuk meminimumkan risiko perdagangan manual.

Analisis Risiko

  1. Prestasi yang lemah di pasaran yang terhad dengan harga.

  2. Cenderung menghasilkan isyarat palsu dengan silang MA berganda.

  3. Parameter MA yang tidak sesuai boleh menyebabkan trend yang hilang atau peningkatan pengeluaran.

  4. Kos dagangan memberi kesan kepada keuntungan bersih dalam dagangan langsung.

  5. Stop loss yang ketat diperlukan untuk mengawal kerugian perdagangan tunggal.

  6. Strategi perdagangan mekanikal mempunyai risiko pengambilan yang melekat dan memerlukan pengurusan modal yang betul.

Penyelesaian Pengurusan Risiko:

  1. Tambah penapis turun naik untuk mengelakkan pasaran terikat julat.

  2. Tambah penapis untuk memastikan kualiti isyarat.

  3. Mengoptimumkan parameter MA melalui ujian menyeluruh.

  4. Sesuaikan kekerapan perdagangan untuk mengurangkan kesan kos.

  5. Tetapkan stop loss yang betul untuk mengawal kerugian dalam perdagangan tunggal.

  6. Mengoptimumkan pengurusan modal untuk mengawal saiz kedudukan.

Arahan Peningkatan

  1. Mengoptimumkan parameter MA untuk meningkatkan kualiti isyarat.

  2. Tambah penapis trend untuk mengelakkan pasaran whipsaw.

  3. Sertakan penunjuk jumlah untuk mengesahkan trend.

  4. Melaksanakan stop loss dinamik dan mengambil keuntungan untuk mengoptimumkan penangkapan keuntungan.

  5. Mengintegrasikan modul pengurusan modal untuk mengawal saiz kedudukan.

  6. Tambah modul dagangan algoritma untuk automasi penuh.

Ringkasan

Strategi ini mengintegrasikan teknik silang Heikin-Ashi dan MA untuk mewujudkan strategi trend jangka pendek yang mudah dan praktikal. Ia menghasilkan isyarat perdagangan masa nyata yang boleh dipercayai dan menunjukkan prestasi yang baik dalam perdagangan langsung. Pengoptimuman lanjut pada parameter, pengurusan risiko, dan modul perdagangan algoritma dapat mengubahnya menjadi strategi automatik sepenuhnya yang boleh dipercayai.


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

//@version=5
//Heikin/Kaufman by Gustavo v5
// strategy('Heikin Ashi EMA v5 no repaint ', shorttitle='Heikin Ashi EMA v5 no repaint', overlay=true, max_bars_back=500, default_qty_value=1000, initial_capital=100000, currency=currency.EUR)


// Settings - H/K
res1 = input.timeframe(title='Heikin Ashi EMA Time Frame', defval='D')
test = input(0, 'Heikin Ashi EMA Shift')
sloma = input(20, 'Slow EMA Period')
nAMA = hlc3

//Kaufman MA
Length = input.int(5, minval=1)
xPrice = input(hlc3)
xvnoise = math.abs(xPrice - xPrice[1])
Fastend = input.float(2.5, step=.5)
Slowend = input(20)
nfastend = 2 / (Fastend + 1)
nslowend = 2 / (Slowend + 1)
nsignal = math.abs(xPrice - xPrice[Length])
nnoise = math.sum(xvnoise, Length)
nefratio = nnoise != 0 ? nsignal / nnoise : 0
nsmooth = math.pow(nefratio * (nfastend - nslowend) + nslowend, 2)
nAMAn = nz(nAMA[1]) + nsmooth * (xPrice - nz(nAMA[1]))

//Heikin Ashi Open/Close Price
ha_t = ticker.heikinashi(syminfo.tickerid)
ha_close = request.security(ha_t, timeframe.period, nAMAn)
mha_close = request.security(ha_t, res1, hlc3)

//Moving Average
fma = ta.ema(mha_close[test], 1)
sma = ta.ema(ha_close, sloma)
plot(fma, title='MA', color=color.new(color.black, 0), linewidth=2, style=plot.style_line)
plot(sma, title='SMA', color=color.new(color.red, 0), linewidth=2, style=plot.style_line)

//Strategy
golong = ta.crossover(fma, sma)
goshort = ta.crossunder(fma, sma)

strategy.entry('Buy', strategy.long, when=golong)
strategy.entry('Sell', strategy.short,when=goshort)



Lebih lanjut