Strategi ini adalah sistem perdagangan kuantitatif berdasarkan persilangan purata bergerak eksponen (EMA) berganda. Ia menggunakan EMA jangka pendek (14 tempoh) dan EMA jangka panjang (100 tempoh) untuk menangkap titik peralihan trend pasaran dengan menentukan masa kemasukan melalui persimpangan purata bergerak jangka pendek dan jangka panjang. Isyarat beli dihasilkan apabila EMA jangka pendek melintasi EMA jangka panjang, dan isyarat jual dihasilkan apabila sebaliknya berlaku. Strategi ini sangat sesuai untuk peniaga yang ingin meletakkan diri mereka pada permulaan pembalikan trend.
EMA jangka pendek lebih sensitif terhadap perubahan harga, manakala EMA jangka panjang lebih baik menapis bunyi pasaran dan mencerminkan trend utama. Apabila purata bergerak jangka pendek melintasi di atas purata bergerak jangka panjang, ia menunjukkan penguatan momentum jangka pendek dan kemungkinan uptrend; apabila purata bergerak jangka pendek melintasi di bawah purata bergerak jangka panjang, ia mencadangkan momentum melemah dan potensi downtrend. Strategi menggunakan fungsi ta.crossover dan ta.crossunder untuk menangkap dengan tepat titik persimpangan ini dan melaksanakan operasi kedudukan pada masa yang sesuai.
Strategi Kuantitatif Masuk Transisi Tren EMA Dinamik adalah sistem trend berikut klasik dan praktikal. Dengan menggabungkan purata bergerak eksponensial jangka pendek dan jangka panjang, strategi ini berkesan menangkap peluang peralihan trend pasaran. Walaupun terdapat risiko kelewatan dan isyarat palsu, hasil perdagangan yang stabil masih dapat dicapai melalui pengoptimuman parameter yang sesuai dan langkah kawalan risiko. Keederhanaan dan skalabiliti strategi menjadikannya rangka kerja asas 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")