Strategi ini adalah sistem perdagangan kuantitatif berdasarkan persilangan 13 dan 21 tempoh Exponential Moving Averages (EMA). Ia mengenal pasti perubahan trend pasaran melalui pemerhatian persilangan EMA jangka pendek dan jangka panjang, menghasilkan kedudukan panjang di salib emas dan kedudukan pendek di salib kematian. Ciri unik strategi ini terletak pada perubahan warna dinamiknya, meningkatkan maklum balas visual dan membantu peniaga mengenal pasti isyarat perdagangan dengan lebih intuitif.
Logik teras bergantung pada dua EMA dengan tempoh yang berbeza: EMA jangka pendek 13 tempoh dan EMA jangka panjang 21 tempoh. Apabila EMA jangka pendek melintasi di atas EMA jangka panjang, ia membentuk salib emas, yang menunjukkan pembentukan trend menaik dan menghasilkan isyarat beli. Sebaliknya, apabila EMA jangka pendek melintasi di bawah EMA jangka panjang, ia membentuk salib kematian, yang menunjukkan pembentukan trend menurun dan menghasilkan isyarat jual. Strategi menggunakan paparan warna dinamik, mengubah warna garis EMA pada persimpangan - hijau untuk isyarat kenaikan dan merah untuk isyarat penurunan, memberikan maklum balas visual yang membantu peniaga menilai keadaan pasaran dengan cepat.
Strategi Kuantitatif Dynamic Dual EMA Crossover menggabungkan analisis teknikal klasik dengan teknik visualisasi moden. Ia menjana isyarat perdagangan melalui silang EMA dan meningkatkan maklum balas visual melalui perubahan warna dinamik, menjadikan keputusan perdagangan lebih intuitif. Walaupun terdapat risiko yang melekat, strategi ini boleh menjadi alat perdagangan yang berkesan melalui pengoptimuman dan pengurusan risiko yang betul.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-03 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("EMA Strategy by clf", overlay=true) // Input parameters for EMAs shortEmaLength = input(13, title="Short EMA Length") longEmaLength = input(21, title="Long EMA Length") // Calculate EMAs shortEma = ta.ema(close, shortEmaLength) longEma = ta.ema(close, longEmaLength) // Define the color variable with type var color emaColor = na // Determine the colors for the EMAs based on crossovers if (ta.crossover(shortEma, longEma)) emaColor := color.green else if (ta.crossunder(shortEma, longEma)) emaColor := color.red // Plot EMAs on the chart with dynamic colors plot(shortEma, title="Short EMA", color=emaColor, linewidth=2) plot(longEma, title="Long EMA", color=color.red, linewidth=2) // Generate buy and sell signals longCondition = ta.crossover(shortEma, longEma) shortCondition = ta.crossunder(shortEma, longEma) // Plot buy and sell signals plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.labelup, text="BUY") plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL") // Strategy entry and exit strategy.entry("Long", strategy.long, when=longCondition) strategy.close("Long", when=shortCondition) strategy.entry("Short", strategy.short, when=shortCondition) strategy.close("Short", when=longCondition)