Diese Strategie erzeugt Kauf- und Verkaufssignale basierend auf dem Crossover von gleitenden Durchschnitten. Sie verwendet 8-tägige, 18-tägige und 50-tägige exponentielle gleitende Durchschnitte (EMA). Ein Kaufsignal wird erzeugt, wenn der Preis über die 8-tägige EMA bricht und höher ist als die 50-tägige EMA. Ein Verkaufssignal wird erzeugt, wenn die 8-tägige EMA unter die 18-tägige EMA geht.
Bewegliche Durchschnitte können Preisschwankungen effektiv filtern und Preistrends widerspiegeln. Schneller bewegliche Durchschnitte reagieren schneller auf Preisänderungen. Wenn der schnellere gleitende Durchschnitt über den langsameren überschreitet, signalisiert er einen Aufwärtstrend der Preise. Und wenn er darunter überschreitet, signalisiert er einen Abwärtstrend.
Diese Strategie nutzt das Crossover von EMAs aus verschiedenen Perioden, um Veränderungen der Kursentwicklung zu ermitteln und Handelssignale zu erzeugen.
Kaufsignale werden erzeugt, wenn der kurzfristige Aufwärtstrend (aufwärtender 8-Tage-EMA) mit den mittelfristigen und langfristigen Trends (Preis über der 50-Tage-EMA) übereinstimmt. Verkaufssignale werden erzeugt, wenn der kurzfristige Aufwärtstrend (aufwärtender 8-Tage-EMA) durch den mittelfristigen Abwärtstrend (fallender 18-Tage-EMA) gebrochen wird.
Die Vorteile dieser Strategie sind:
Es gibt auch einige Risiken:
Einige Methoden zur Optimierung und Minderung von Risiken:
Einige Richtungen zur weiteren Optimierung der Strategie:
Insgesamt ist dies eine einfache und praktische Strategie, die EMA-Kreuzungen verwendet, um Trendveränderungen zu bestimmen. Es hat eine gute Echtzeitleistung, erfordert aber auch weitere Tests und Optimierungen. Mit robusten Verbesserungen kann es eine stabile algorithmische Handelsstrategie werden.
/*backtest start: 2023-02-16 00:00:00 end: 2024-02-22 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy('Trading EMAs', overlay=true) // Definir las medias móviles con colores personalizados ema8 = ta.ema(close, 8) ema18 = ta.ema(close, 18) ema50 = ta.ema(close, 50) plot(ema8, color=color.new(color.green, 0), title='EMA8') plot(ema18, color=color.new(color.blue, 0), title='EMA18') plot(ema50, color=color.new(color.red, 0), title='EMA50') // Condiciones de entrada longCondition = ta.crossover(close, ema8) and close > ema50 // Señal de compra cuando el precio de cierre cruza al alza la EMA de 8 y el precio está por encima de la EMA de 50 // Condiciones de salida exitLongCondition = ta.crossunder(ema8, ema18) // Señal de venta cuando EMA8 cruza por debajo de EMA18 // Ejecutar las operaciones basadas en las condiciones de entrada if longCondition strategy.entry('Long', strategy.long) // Salida de las operaciones basadas en las condiciones de salida if exitLongCondition strategy.close('Long')