Strategi Perdagangan Rentas EMA

Penulis:ChaoZhang, Tarikh: 2023-12-12 17:09:24
Tag:

img

Ringkasan

Strategi perdagangan silang EMA adalah strategi perdagangan kuantitatif yang mudah namun berkesan. Ia menggunakan purata bergerak eksponensial (EMA) dan isyarat silang untuk mengenal pasti trend harga dan menentukan titik masuk dan keluar. Berbanding dengan strategi yang lebih kompleks, ia lebih mudah difahami dan dilaksanakan.

Logika Strategi

EMA1 ditetapkan kepada 25 hari dan EMA2 ditetapkan kepada 100 hari. Apabila EMA jangka pendek melintasi di atas EMA jangka panjang, ia adalah isyarat beli. Apabila EMA yang lebih pendek melintasi di bawah EMA yang lebih lama, ia adalah isyarat jual. Oleh itu, EMA yang lebih pendek menangkap trend harga jangka pendek dan momentum, sementara EMA yang lebih lama mencerminkan trend jangka panjang.

Untuk menapis isyarat palsu, strategi ini juga menetapkan beberapa kriteria tambahan. Sebagai contoh, memerlukan corak lilin bullish atau crossover yang berlaku di atas tahap 50 RSI. Ini mengelakkan perdagangan yang salah disebabkan oleh kebisingan jangka pendek.

Kelebihan

Kelebihan terbesar adalah kesederhanaan dan intuitif strategi ini. Berbanding dengan strategi dengan banyak parameter dan logik yang kompleks, ia jauh lebih mesra pengguna.

Juga, ia menangkap perubahan trend dalam jangka masa pendek dan jangka panjang, menggunakan penunjuk teknikal klasik EMA untuk mengenal pasti pembalikan trend dan menentukan kemasukan dan keluar, dengan itu berdagang dengan trend.

Akhirnya, penapis yang sesuai ditetapkan untuk mengurangkan isyarat palsu dan mengelakkan tertipu oleh bunyi pasaran.

Risiko

Risiko utama adalah perbezaan antara trend jangka pendek dan jangka panjang. Pergolakan harga yang dramatik boleh mencetuskan isyarat silang tetapi trend jangka panjang tetap tidak berubah, mengakibatkan perdagangan yang hilang.

Tetapan tempoh EMA yang tidak sesuai juga boleh membahayakan prestasi strategi, kerana kuasa perwakilan EMA akan berkurangan, menjadikan mereka tidak berkesan dalam menangkap trend dan pembalikan.

Di samping itu, penapis yang terlalu ketat boleh menyebabkan kehilangan peluang perdagangan yang berpotensi, sehingga melemahkan keuntungan.

Peningkatan

Menggabungkan dengan penunjuk lain seperti KDJ, MACD dan lain-lain dapat membantu mengesahkan isyarat perdagangan dan mengelakkan isyarat palsu.

Ujian set parameter yang berbeza untuk mencari tempoh EMA yang optimum, dan menyesuaikan kriteria penapis untuk mengimbangi kekerapan perdagangan dan kebolehpercayaan.

Saiz kedudukan dinamik juga penting. Sebagai contoh, kedudukan yang lebih besar apabila kedua-dua EMA lebih jauh, lebih kecil apabila lebih dekat. Ini menyesuaikan diri dengan perubahan keadaan pasaran.

Kesimpulan

Strategi crossover EMA adalah strategi perdagangan kuantitatif yang mudah namun praktikal. Ia memanfaatkan isyarat crossover EMA untuk berdagang bersama dengan trend jangka pendek dan jangka panjang. Mudah difahami dan dilaksanakan, meminimumkan kerumitan dan sesuai dengan peniaga pemula.


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

//@version=5
strategy('EMA Crossover Signal', shorttitle='EMA Crossover Signal', overlay=true)
// Define input for position size as a percentage of equity
position_size_pct = input(1, title='Position Size (%)') / 100

//Input EMA
len1 = input.int(25, minval=1, title='EMA 1')
src1 = input(close, title='Source')
ema1 = ta.ema(src1, len1)
len2 = input.int(100, minval=1, title='EMA 2')
src2 = input(close, title='Source')
ema2 = ta.ema(src2, len2)
//End of format

//Format RSI
lenrsi = input(14, title='RSI length')
outrsi = ta.rsi(close,lenrsi)

bodybar1 = math.abs(close - open)
bodybar2 = math.abs(close[1] - open[1])
// Plot the EMAs
plot(ema1, color=color.new(color.blue, 0), title='EMA 1')
plot(ema2, color=color.new(color.red, 0), title='EMA 2')

// EMA Crossover conditions
emaCrossoverUp = ta.crossover(ema1, ema2)
emaCrossoverDown = ta.crossunder(ema1, ema2)
var entrybar = close  // Initialize entrybar with the current close

// Calculate crossovers outside of the if statements
emaCrossoverUpOccured = ta.crossover(close, ema1) and ema1 > ema2 and bodybar1 > bodybar2 and close > entrybar
emaCrossoverDownOccured = ta.crossunder(close, ema1) and ema1 < ema2 and bodybar1 > bodybar2 and close < entrybar

plotshape(series=emaCrossoverUpOccured, location=location.abovebar, color=color.new(color.green, 0), style=shape.triangleup, title='New Buy Order', size=size.tiny)
plotshape(series=emaCrossoverDownOccured, location=location.belowbar, color=color.new(color.red, 0), style=shape.triangledown, title='New Sell Order', size=size.tiny)

if emaCrossoverUpOccured
    strategy.entry("Enter Long", strategy.long)
else if emaCrossoverDownOccured
    strategy.entry("Enter Short", strategy.short)

Lebih lanjut