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.
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 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 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.
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.
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)