
Strategi ini menggunakan isyarat silang dari purata bergerak indeks (EMA) untuk menangkap perubahan dinamik harga. Dengan membandingkan EMA jangka pendek dan EMA jangka panjang, isyarat beli dihasilkan apabila EMA jangka pendek melalui EMA jangka panjang, sebaliknya isyarat jual dihasilkan. Strategi ini memperkenalkan mekanisme pengesahan tertunda isyarat perdagangan untuk memastikan isyarat silang disahkan dan kemudian melakukan perdagangan, yang meningkatkan kebolehpercayaan isyarat.
Inti strategi ini adalah menggunakan EMA untuk menangkap perubahan momentum harga dalam tempoh yang berbeza. EMA adalah penunjuk trend yang lebih sensitif terhadap perubahan harga. Apabila EMA jangka pendek melintasi EMA jangka panjang, harga menunjukkan momentum naik, menghasilkan isyarat beli; apabila EMA jangka pendek melintasi EMA jangka panjang, harga menunjukkan momentum turun, menghasilkan isyarat jual.
Strategi ini memperkenalkan mekanisme pengesahan tertangguh untuk isyarat perdagangan, dengan harga penutupan K baris yang akan menghasilkan isyarat sebagai harga pemicu perdagangan, dan ditangguhkan hingga K baris berikutnya sebelum melakukan perdagangan. Ini dapat memastikan isyarat silang disahkan, meningkatkan kebolehpercayaan isyarat, dan mengelakkan perdagangan isyarat palsu yang kerap berlaku.
Strategi ini adalah berdasarkan pada EMA cross-signal dan mekanisme pengesahan tertunda untuk menangkap perubahan dinamik harga dengan cara yang mudah dan berkesan. Logik strategi jelas, mudah dilaksanakan dan dioptimumkan. Tetapi ada juga risiko seperti sensitiviti parameter, pasaran yang bergolak dan perubahan trend.
/*backtest
start: 2023-05-22 00:00:00
end: 2024-05-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © anshchaubey1373
//@version=5
strategy("EMA Crossover Strategy", overlay=true)
// Define the EMA lengths
shortEmaLength = 10
longEmaLength = 21
// Calculate the EMAs
shortEma = ta.ema(close, shortEmaLength)
longEma = ta.ema(close, longEmaLength)
// Plot the EMAs
plot(shortEma, title="10 EMA", color=color.blue)
plot(longEma, title="21 EMA", color=color.red)
// Generate buy and sell signals
longCondition = ta.crossover(shortEma, longEma)
shortCondition = ta.crossunder(shortEma, longEma)
// Delay the signal by one bar
longSignal = ta.valuewhen(longCondition, close, 1)
shortSignal = ta.valuewhen(shortCondition, close, 1)
// Plot buy and sell signals
plotshape(series=longCondition[1], location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=shortCondition[1], location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
// Strategy logic for entering positions
if (longCondition[1])
strategy.entry("Long", strategy.long)
if (shortCondition[1])
strategy.entry("Short", strategy.short)