Strategi Pengesanan Crossover EMA

Penulis:ChaoZhang, Tarikh: 2023-10-25 17:44:35
Tag:

img

Ringkasan

Strategi EMA crossover menghasilkan isyarat beli dan jual dengan mengesan silang antara dua garis EMA dari tempoh yang berbeza. Apabila EMA tempoh yang lebih pendek melintasi EMA tempoh yang lebih lama, isyarat beli dihasilkan. Apabila EMA tempoh yang lebih pendek melintasi di bawah EMA tempoh yang lebih lama, isyarat jual dihasilkan. Strategi ini juga menggabungkan penunjuk SuperTrend untuk menapis pecah palsu.

Logika Strategi

Strategi ini terutamanya berdasarkan salib emas dan salib kematian garis EMA. Garis EMA boleh meluruskan data harga dan menapis bunyi bising. Persalinan antara garis EMA menunjukkan perubahan trend harga. Apabila EMA tempoh yang lebih pendek (20 tempoh) melintasi EMA tempoh yang lebih lama (50 tempoh), ini bermakna harga jangka pendek kini berada di atas harga jangka panjang, yang menyiratkan trend pecah menaik dan menjana isyarat beli. Apabila EMA tempoh yang lebih pendek melintasi di bawah EMA tempoh yang lebih lama, ini bermakna harga jangka pendek melanggar di bawah harga jangka panjang, yang menyiratkan penurunan dan menjana isyarat jual.

Selain itu, strategi ini menggunakan penunjuk SuperTrend untuk menapis isyarat palsu yang dihasilkan oleh persimpangan EMA. Penunjuk SuperTrend dikira berdasarkan ATR untuk merangka jalur atas dan bawah yang lebih menentukan trend sebenar. Apabila harga memecahkan di atas jalur atas SuperTrend, isyarat beli dihasilkan. Apabila harga memecahkan di bawah jalur bawah SuperTrend, isyarat jual dihasilkan. Isyarat persimpangan EMA hanya sah apabila disahkan oleh isyarat SuperTrend. Ini membantu menghilangkan isyarat palsu yang disebabkan oleh turun naik harga.

Khususnya, logik kemasukan strategi ditakrifkan seperti berikut:

  1. Apabila 20EMA melintasi di atas 50EMA, dan harga pecah di atas band atas SuperTrend, menjana isyarat beli.

  2. Apabila 20EMA melintasi di bawah 50EMA, dan harga pecah di bawah band bawah SuperTrend, menjana isyarat jual.

Menggunakan persilangan EMA untuk menentukan arah trend utama digabungkan dengan penapis SuperTrend boleh meningkatkan ketepatan isyarat perdagangan.

Kelebihan

Strategi silang EMA mempunyai kelebihan berikut:

  1. Mudah dilaksanakan. Hanya memerlukan mengira dua silang EMA.

  2. EMA sebagai purata bergerak boleh menapis beberapa bunyi bising.

  3. Menggabungkan dengan SuperTrend lebih mengurangkan isyarat palsu yang disebabkan oleh turun naik harga.

  4. Tempoh EMA boleh disesuaikan untuk persekitaran pasaran yang berbeza.

  5. Boleh disesuaikan untuk perdagangan arah panjang atau pendek.

  6. Boleh dilaksanakan dalam jangka masa yang berbeza untuk pelbagai gaya perdagangan.

Risiko

Terdapat juga beberapa risiko yang berkaitan dengan strategi silang EMA:

  1. Isyarat silang EMA mungkin terlambat semasa turun naik harga yang melampau, gagal mencerminkan perubahan harga tepat pada masanya.

  2. Garis EMA mempunyai kesan kelewatan, yang boleh menghasilkan isyarat yang salah.

  3. Tetapan tempoh EMA yang tidak betul boleh membawa kepada isyarat palsu yang berlebihan.

  4. Crossover sahaja tidak dapat menentukan trend sebenar, masih jauh tertinggal.

  5. Pengurusan risiko yang betul seperti stop loss diperlukan untuk mengawal risiko.

Beberapa cara untuk mengurangkan risiko:

  1. Mengoptimumkan tempoh EMA untuk lebih sesuai dengan garis pantas dan perlahan.

  2. Memendekkan tempoh penahan dan menggunakan stop loss tepat pada masanya.

  3. Gabungkan dengan penunjuk lain seperti purata bergerak, corak candlestick untuk penilaian yang komprehensif.

  4. Sesuaikan kekerapan dagangan kepada jumlah dagangan yang lebih rendah.

Peningkatan

Strategi ini boleh ditingkatkan dan dioptimumkan dalam aspek berikut:

  1. Mengoptimumkan tempoh EMA untuk kitaran dan persekitaran pasaran yang berbeza.

  2. Uji indikator purata bergerak yang berbeza seperti SMA, KWMA.

  3. Menggabungkan lebih banyak penunjuk teknikal untuk membentuk model multivariate, seperti MACD, RSI. Menggunakan algoritma pembelajaran mesin untuk mengoptimumkan parameter dan berat.

  4. Tambah teknik stop loss seperti trailing stop loss, peratus stop loss untuk mengawal risiko.

  5. Memperkenalkan penapis kelantangan yang berfungsi dengan penunjuk kelantangan untuk mengelakkan isyarat palsu.

  6. Mengoptimumkan keluar dengan menetapkan peraturan keluar, menggabungkan dengan corak carta, pecah dan sebagainya

  7. Memastikan trend pada jangka masa yang lebih tinggi, masukkan perdagangan pada jangka masa yang lebih rendah untuk mengikuti trend.

Kesimpulan

Strategi EMA crossover adalah sistem trend berikut yang mudah dan praktikal. Ia boleh mengenal pasti trend jangka pertengahan dan menghasilkan isyarat masa. Menggabungkan dengan penapis SuperTrend dapat mengurangkan perdagangan palsu dengan berkesan. Tetapi risiko seperti ketinggalan dan isyarat yang salah masih wujud. Strategi ini boleh ditingkatkan melalui pengoptimuman parameter, stop loss, menggabungkan penunjuk, dll. Strategi EMA crossover mudah digunakan, sesuai untuk pengesanan trend jangka pertengahan dan panjang, dan berkesan untuk peniaga pemula.


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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © alokbothra

//@version=5
strategy("Ema Crossover", overlay=true, initial_capital = 1000)
start = timestamp(2021,1,1,0,0)
end = timestamp(2023,10,30,0,0)
plot (ta.ema(close,20), title = "Ema 20", color = color.green , linewidth = 2)
plot (ta.ema(close,50), title = "Ema 50", color = color.red, linewidth = 2 )

//supertrend 1
Periods = input(title='ATR Period', defval=11)
Multiplier = input.float(title='ATR Multiplier', step=0.1, defval=3)
changeATR = input(title='Change ATR Calculation Method ?', defval=true)
showsignals = input(title='Show Buy/Sell Signals ?', defval=true)
highlighting = input(title='Highlighter On/Off ?', defval=true)
atr2 = ta.sma(ta.tr, Periods)
atr = changeATR ? ta.atr(Periods) : atr2
up = close - Multiplier * atr
up1 = nz(up[1], up)
up := close[1] > up1 ? math.max(up, up1) : up
dn =close+ Multiplier * atr
dn1 = nz(dn[1], dn)
dn := close[1] < dn1 ? math.min(dn, dn1) : dn
trend = 1
trend := nz(trend[1], trend)
trend := trend == -1 and close > dn1 ? 1 : trend == 1 and close < up1 ? -1 : trend
upPlot = plot(trend == 1 ? up : na, title='Up Trend', style=plot.style_linebr, linewidth=2, color=color.new(color.green, 0))
buySignal = trend == 1 and trend[1] == -1
plotshape(buySignal ? up : na, title='UpTrend Begins', location=location.absolute, style=shape.circle, size=size.tiny, color=color.new(color.green, 0))
dnPlot = plot(trend == 1 ? na : dn, title='Down Trend', style=plot.style_linebr, linewidth=2, color=color.new(color.red, 0))
sellSignal = trend == -1 and trend[1] == 1
plotshape(sellSignal ? dn : na, title='DownTrend Begins', location=location.absolute, style=shape.circle, size=size.tiny, color=color.new(color.red, 0))
mPlot = plot(ohlc4, title='', style=plot.style_circles, linewidth=0)
changeCond = trend != trend[1]

longonly = input.bool(defval = true, title = 'Long Only')
shortonly = input.bool(defval = true, title = 'Short Only')

longCondition = (ta.ema(close, 20) >= ta.ema(close, 50)) 
shortCondition = (ta.ema(close, 20) <= ta.ema(close, 50))
long = (trend == 1)
short = (trend == -1)
sell= short
cover= long
if time >= start and time < end
    if longonly
        if ((longCondition) and (long))
            strategy.entry ("Long Entry", strategy.long, comment ="Long Entry")
        if strategy.position_size > 0
            strategy.close("Long Entry", when = sell, comment = "Long Exit")
    if shortonly
        if ((shortCondition) and (short))
            strategy.entry("Short Entry", strategy.short, comment = "Short Entry")
        if strategy.position_size < 0
            strategy.close("Short Entry", when = cover, comment = "Short Exit")


Lebih lanjut