
Strategi ini adalah strategi perdagangan kuantitatif yang berdasarkan pada persilangan rata-rata bergerak indeks 13 dan 21 ((EMA)). Strategi ini mengenal pasti perubahan trend pasaran dengan melihat persilangan EMA jangka pendek dan jangka panjang, dan mengambil kedudukan lebih banyak apabila persilangan emas berlaku, dan mengambil posisi kosong apabila persilangan mati berlaku. Strategi ini unik dalam penggunaan perubahan warna dinamik untuk meningkatkan kesan visual, membantu pedagang mengenali isyarat perdagangan dengan lebih intuitif.
Logik teras strategi ini adalah berdasarkan purata bergerak indeks dalam dua kitaran yang berbeza: EMA jangka pendek 13 kitaran dan EMA jangka panjang 21. Apabila EMA jangka pendek naik, ia membentuk persilangan emas, yang menunjukkan pembentukan trend naik, dan sistem menghasilkan isyarat beli; Apabila EMA jangka pendek turun, ia membentuk persilangan mati, yang menunjukkan pembentukan trend turun, dan sistem menghasilkan isyarat jual. Strategi ini menggunakan warna dinamik, mengubah warna garis EMA apabila persilangan berlaku, hijau menunjukkan isyarat berbilang, dan merah menunjukkan isyarat kosong, yang memberi maklum balas visual yang dapat membantu pedagang menilai keadaan pasaran dengan cepat.
Strategi kuantitatif warna dinamik silang dua hala adalah sistem perdagangan yang menggabungkan teori klasik analisis teknikal dan teknologi visualisasi moden. Strategi ini menghasilkan isyarat perdagangan melalui silang EMA dan menggunakan perubahan warna dinamik untuk meningkatkan kesan visual, menjadikan keputusan perdagangan lebih intuitif. Walaupun terdapat beberapa risiko yang wujud, dengan pengoptimuman dan pengurusan risiko yang munasabah, strategi ini dapat menjadi alat perdagangan yang berkesan.
/*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)