
Strategi ini berdasarkan pada Indeks Pergerakan Rata-rata 20 Hari (EMA) untuk membina saluran, melakukan lebih banyak apabila harga menembusi saluran di atas, dan kosong apabila harga jatuh di bawah saluran, dan merupakan strategi trend-following.
Penyelesaian risiko:
Strategi ini secara keseluruhannya mudah dan praktikal, dibina berdasarkan saluran EMA, dan merupakan strategi pengesanan trend yang tipikal. Ia mempunyai ciri-ciri sebagai isyarat terobosan, tetapi juga terdapat risiko misinformasi tertentu. Kesan strategi boleh ditingkatkan dengan cara mengoptimumkan parameter, menambah penapis, dan sebagainya.
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("EMA Channel Strategy with Alerts", shorttitle="EMA Channel", overlay=true)
// Define EMA length
emaLength = 20
// Calculate EMA values
emaHigh = ema(high, emaLength)
emaLow = ema(low, emaLength)
// Define the condition for a buy signal
buyCondition = crossover(close, emaHigh)
// Define the condition for a sell signal
sellCondition = crossunder(close, emaLow)
// Plot the EMA lines
plot(emaHigh, color=color.green, title="EMA High")
plot(emaLow, color=color.red, title="EMA Low")
// Plot buy and sell signals
plotshape(buyCondition, style=shape.triangleup, location=location.belowbar, color=color.green, title="Buy Signal")
plotshape(sellCondition, style=shape.triangledown, location=location.abovebar, color=color.red, title="Sell Signal")
// Strategy
strategy.entry("Buy", strategy.long, when=buyCondition)
strategy.close("Buy", when=sellCondition)
// Define and trigger alerts
alertcondition(buyCondition, title="Buy Alert", message="Buy signal - Price crossed above EMA High")
alertcondition(sellCondition, title="Sell Alert", message="Sell signal - Price crossed below EMA Low")