Strategi ini adalah sistem perdagangan kuantitatif yang didasarkan pada penyeberangan dua Exponential Moving Averages (EMA). Ini menggunakan EMA jangka pendek (14 periode) dan EMA jangka panjang (100 periode) untuk menangkap titik transisi tren pasar dengan menentukan waktu masuk melalui persimpangan rata-rata bergerak jangka pendek dan jangka panjang. Sinyal beli dihasilkan ketika EMA jangka pendek melintasi EMA jangka panjang, dan sinyal jual dihasilkan ketika sebaliknya terjadi. Strategi ini sangat cocok untuk pedagang yang ingin memposisikan diri pada awal pembalikan tren.
EMA jangka pendek lebih sensitif terhadap perubahan harga, sementara EMA jangka panjang lebih baik menyaring kebisingan pasar dan mencerminkan tren utama. Ketika rata-rata bergerak jangka pendek melintasi di atas rata-rata bergerak jangka panjang, itu menunjukkan penguatan momentum jangka pendek dan kemungkinan uptrend; ketika rata-rata bergerak jangka pendek melintasi di bawah rata-rata bergerak jangka panjang, itu menunjukkan momentum melemah dan potensi downtrend. Strategi ini menggunakan fungsi ta.crossover dan ta.crossunder untuk menangkap titik persimpangan ini dengan akurat dan melaksanakan operasi posisi pada waktu yang tepat.
Strategi Kuantitatif Dynamic EMA Trend Crossover Entry adalah sistem klasik dan praktis yang mengikuti tren. Dengan menggabungkan rata-rata bergerak eksponensial jangka pendek dan jangka panjang, strategi secara efektif menangkap peluang transisi tren pasar. Meskipun ada risiko lag dan sinyal palsu, hasil perdagangan yang stabil masih dapat dicapai melalui optimasi parameter yang tepat dan langkah-langkah pengendalian risiko. Kesederhanaan dan skalabilitas strategi menjadikannya kerangka dasar yang sangat baik untuk perdagangan kuantitatif.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-11 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("EMA Crossover Strategy", overlay=true) // Input for EMAs shortEmaLength = input(14, title="Short EMA Length") longEmaLength = input(100, title="Long EMA Length") // Calculate EMAs shortEma = ta.ema(close, shortEmaLength) longEma = ta.ema(close, longEmaLength) // Plot EMAs plot(shortEma, color=color.blue, title="9 EMA") plot(longEma, color=color.red, title="100 EMA") // Historical Signal Tracking var float lastBuyPrice = na var float lastSellPrice = na // Buy and Sell Signals buySignal = ta.crossover(shortEma, longEma) sellSignal = ta.crossunder(shortEma, longEma) // Track last buy and sell prices if (buySignal) lastBuyPrice := close if (sellSignal) lastSellPrice := close // Plot buy and sell signals on the chart plotshape(buySignal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY") plotshape(sellSignal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL") // Strategy Logic if (buySignal) strategy.entry("Buy", strategy.long) if (sellSignal) strategy.close("Buy")