
Die Strategie basiert auf einem 20-Tage-Index-Moving-Average (EMA) und baut Kanäle auf. Sie ist eine Trend-Tracking-Strategie, bei der Sie mehr machen, wenn der Preis den Kanal überschreitet, und weniger, wenn der Preis den Kanal unterbricht.
Die Risiken können auf folgende Weise gelöst werden:
Die Strategie ist insgesamt einfach und praktisch, basiert auf der EMA-Kanal und gehört zu den typischen Trend-Tracking-Strategien. Sie hat die Eigenschaften eines Durchbruchs als Signal, aber es besteht auch ein gewisses Risiko für Fehlmeldungen. Die Effektivität der Strategie kann durch Optimierung von Parametern, Hinzufügen von Filtern usw. verbessert werden und lohnt sich für weitere Tests und Optimierungen.
/*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")