Strategi Perdagangan Crossover EMA

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

img

Gambaran umum

Strategi perdagangan EMA crossover adalah strategi perdagangan kuantitatif yang sederhana namun efektif. Strategi ini menggunakan rata-rata bergerak eksponensial (EMA) dan sinyal crossover untuk mengidentifikasi tren harga dan menentukan titik masuk dan keluar.

Logika Strategi

Kuncinya adalah menggunakan dua EMA dengan parameter yang berbeda. EMA1 ditetapkan menjadi 25 hari dan EMA2 ditetapkan menjadi 100 hari. Ketika EMA jangka pendek melintasi di atas EMA jangka panjang, itu adalah sinyal beli. Ketika EMA jangka pendek melintasi di bawah EMA jangka panjang, itu adalah sinyal jual. Dengan demikian, EMA jangka pendek menangkap tren harga jangka pendek dan momentum, sementara EMA jangka panjang mencerminkan tren jangka panjang.

Untuk menyaring sinyal palsu, strategi ini juga menetapkan beberapa kriteria tambahan. Misalnya, membutuhkan pola candlestick bullish atau crossover yang terjadi di atas level 50 RSI. Ini menghindari perdagangan yang salah karena kebisingan jangka pendek.

Keuntungan

Keuntungan terbesar dari strategi ini adalah kesederhanaan dan intuitif. Dibandingkan dengan strategi dengan banyak parameter dan logika yang kompleks, itu jauh lebih user-friendly.

Juga, ia menangkap perubahan tren dalam jangka pendek dan jangka panjang, menggunakan indikator teknis klasik EMA silang untuk mengidentifikasi pembalikan tren dan menentukan entri dan keluar, sehingga perdagangan dengan tren.

Akhirnya, filter yang tepat diatur untuk mengurangi sinyal palsu dan menghindari tertipu oleh kebisingan pasar.

Risiko

Risiko utama adalah perbedaan antara tren jangka pendek dan jangka panjang. Pergeseran harga yang dramatis dapat memicu sinyal silang tetapi tren jangka panjang tetap tidak berubah, yang mengakibatkan kehilangan perdagangan. Juga, whipsaws sering muncul di pasar yang terikat rentang.

Pengaturan periode EMA yang tidak tepat juga dapat membahayakan kinerja strategi, karena kekuatan representatif EMA akan berkurang, membuat mereka tidak efektif dalam menangkap tren dan pembalikan.

Selain itu, filter yang terlalu ketat dapat menyebabkan kehilangan peluang perdagangan potensial, sehingga merusak profitabilitas.

Peningkatan

Kombinasi dengan indikator lain seperti KDJ, MACD dll dapat membantu mengkonfirmasi sinyal perdagangan dan menghindari sinyal palsu.

Pengujian set parameter yang berbeda untuk menemukan periode EMA yang optimal, dan menyesuaikan kriteria filter untuk menyeimbangkan frekuensi perdagangan dan keandalan.

Dimensi posisi dinamis juga penting. Misalnya, posisi yang lebih besar ketika dua EMA lebih jauh, lebih kecil ketika lebih dekat. Ini beradaptasi dengan perubahan kondisi pasar.

Kesimpulan

Strategi EMA crossover adalah strategi perdagangan kuantitatif yang sederhana namun praktis. Ini memanfaatkan sinyal EMA crossover untuk berdagang bersama dengan tren jangka pendek dan jangka panjang. Mudah dipahami dan diimplementasikan, meminimalkan kompleksitas dan sesuai dengan pedagang pemula. Namun, risikonya tidak boleh diabaikan. Optimasi lebih lanjut pada parameter dan filter dapat membuat strategi lebih kuat di berbagai pasar.


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