
Strategi ini menggunakan sinyal silang dari indeks moving average (EMA) untuk menangkap perubahan dinamika harga. Dengan membandingkan EMA jangka pendek dan EMA jangka panjang, sinyal beli dihasilkan ketika EMA jangka pendek melewati EMA jangka panjang, yang sebaliknya menghasilkan sinyal jual. Strategi ini memperkenalkan mekanisme konfirmasi tertunda dari sinyal perdagangan untuk memastikan bahwa sinyal silang dikonfirmasi dan kemudian melakukan perdagangan, sehingga meningkatkan keandalan sinyal.
Inti dari strategi ini adalah menggunakan EMA untuk menangkap perubahan momentum harga dalam periode yang berbeda. EMA adalah indikator pelacakan tren yang lebih sensitif terhadap perubahan harga. Ketika EMA jangka pendek melewati EMA jangka panjang, harga menunjukkan momentum naik, menghasilkan sinyal beli; Ketika EMA jangka pendek melewati EMA jangka panjang, harga menunjukkan momentum turun, menghasilkan sinyal jual.
Strategi ini memperkenalkan mekanisme konfirmasi tertunda dari sinyal perdagangan, dimana harga penutupan dari K-line yang akan menghasilkan sinyal sebagai harga pemicu perdagangan, ditunda sampai K-line berikutnya sebelum melakukan perdagangan. Ini dapat memastikan bahwa sinyal silang dikonfirmasi, meningkatkan keandalan sinyal, dan menghindari perdagangan sinyal palsu yang sering terjadi.
Strategi ini didasarkan pada sinyal silang EMA dan mekanisme konfirmasi tertunda untuk menangkap perubahan dinamika harga dengan cara yang sederhana dan efektif. Logika strategi jelas, mudah diterapkan dan dioptimalkan. Namun, ada juga risiko seperti sensitivitas parameter, pasar yang bergoyang, dan pergeseran tren.
/*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)