Trendfolgende EMA- und RSI-Strategie


Erstellungsdatum: 2023-09-26 15:39:48 zuletzt geändert: 2023-09-26 15:39:48
Kopie: 0 Klicks: 983
1
konzentrieren Sie sich auf
1621
Anhänger

Überblick

Die Strategie nutzt die Vorteile von Moving Averages und relativ starken Indikatoren, um Trends zu identifizieren und zu verfolgen. Sie benötigt nur zwei Indikatoren, um Trends zu beurteilen und die Zeitpunkte für Ein- und Ausgänge zu wählen. Die Strategie zielt darauf ab, die Preisentwicklung der mittleren und langen Linie zu erfassen, ohne sich von kurzfristigen Marktgeräuschen ablenken zu lassen.

Strategieprinzip

Die Strategie verwendet die EMA-Mittellinie aus drei verschiedenen Perioden, EMA-A mit der kürzesten Periode und EMA-B mit der längsten Periode. Wenn die kurze Periode EMA-A über EMA-B mit der längeren Periode durchbricht, bedeutet dies, dass der Preis im Aufwärtstrend ist.

Die Strategie kombiniert auch die RSI-Indikatoren, um den Exit-Zeitpunkt zu bestimmen. Wenn Sie mehrere Positionen halten, platzieren Sie, wenn der RSI über die 70-Linie geht. Wenn Sie keine Positionen halten, platzieren Sie, wenn der RSI unter die 30-Linie geht.

Analyse der Stärken

  • Nutzen Sie die Vorteile der EMA, um Trends zu erkennen
  • Der RSI hilft bei der Bestimmung von Ein- und Ausstiegspunkten
  • Die Strategie ist einfach, man braucht nur zwei Indikatoren.
  • Konfigurierbare Kennzahlen, freies Anpassen der Strategiestile
  • Sie können zu Beginn, in der Mitte und am Ende des Trends profitieren.

Risikoanalyse

  • Ein Rückschlag unter einem Trend könnte falsche Signale erzeugen
  • Schwankungen bei Erschütterungen
  • Die RSI-Parameter sind falsch eingestellt und können zu früh zum Stillstand führen.
  • EMA-Zyklus-Einstellungen müssen vorsichtig sein, zu kurz ist geräuschempfindlich, zu lang verpasst den Trend

Diese Risiken können durch Optimierung der RSI-Parameter oder durch Hinzufügen von zusätzlichen Filterbedingungen verringert werden. Technische Analysemethoden wie Trend- und Resistenzunterstützung können auch verwendet werden, um die Strategieleistung zu verbessern.

Optimierungsrichtung

  • Optimierung von RSI-Parametern und Ausgleich von Stop-Loss
  • Verschiedene EMA-Zykluskombinationen testen
  • Bestätigung von Energieerhöhungen oder anderen Kennzahlen
  • Die Stop-Loss-Methode kann nach ATR eingestellt werden
  • Der Trend kann in der Zwischenzeit abgesenkt werden.
  • Optimierung der Einstiegsmomente, wie z. B. der vorherige Hoch/Tiefpunkt oder die Absorption von Energie
  • Erwägung eines Wiedereintrittsmechanismus

Zusammenfassen

Die Strategie integriert Trend-Tracking und Overselling Indikatoren, die nur zwei einfache Indikatoren benötigen, um Trends zu beurteilen und zu erfassen. Durch Parameteroptimierung und Regeloptimierung kann die Effektivität erheblich verbessert werden, während sie einfach bleibt. Es ist eine sehr praktische Trend-Tracking-Strategie-Vorlage für mittlere und langfristige Investoren.

Strategiequellcode
/*backtest
start: 2023-08-26 00:00:00
end: 2023-09-25 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
//@author Alorse

//@version=5
// strategy(title='Tendency EMA + RSI [Alorse]', shorttitle='Tendece EMA + RSI [Alorse]', overlay=true, pyramiding=0, currency=currency.USD, default_qty_type=strategy.percent_of_equity, initial_capital=1000, default_qty_value=20, commission_type=strategy.commission.percent, commission_value=0.01)

// Bollinger Bands
len = input.int(14, minval=1, title='Length', group='RSI')
src = input.source(close, 'Source', group='RSI')
rsi = ta.rsi(src, len)

// Moving Averages
len_a = input.int(10, minval=1, title='EMA A Length', group='Moving Averages')
out_a = ta.ema(close, len_a)
plot(out_a, title='EMA A', color=color.purple)

len_b = input.int(20, minval=1, title='EMA B Length', group='Moving Averages')
out_b = ta.ema(close, len_b)
plot(out_b, title='EMA B', color=color.orange)

len_c = input.int(100, minval=1, title='EMA C Length', group='Moving Averages')
out_c = ta.ema(close, len_c)
plot(out_c, title='EMA B', color=color.green)

// Strategy Conditions
stratGroup = 'Strategy'
showLong = input.bool(true, title='Long entries', group=stratGroup)
showShort = input.bool(false, title='Short entries', group=stratGroup)
closeAfterXBars = input.bool(true, title='Close after X # bars', tooltip='If trade is in profit', group=stratGroup)
xBars = input.int(24, title='# bars')

entryLong = ta.crossover(out_a, out_b) and out_a > out_c and close > open
exitLong = rsi > 70

entryShort = ta.crossunder(out_a, out_b) and out_a < out_c and close < open
exitShort = rsi < 30


bought = strategy.opentrades[0] == 1 and strategy.position_size[0] > strategy.position_size[1]
entry_price = ta.valuewhen(bought, open, 0)
var int nPastBars = 0
if strategy.position_size > 0
    nPastBars := nPastBars + 1
    nPastBars
if strategy.position_size == 0
    nPastBars := 0
    nPastBars
if closeAfterXBars
    exitLong := nPastBars >= xBars and close > entry_price ? true : exitLong
    exitLong
    exitShort := nPastBars >= xBars and close < entry_price ? true : exitShort
    exitShort

// Long Entry
strategy.entry('Long', strategy.long, when=entryLong and showLong)
strategy.close('Long', when=exitLong)

// Short Entry
strategy.entry('Short', strategy.short, when=entryShort and showShort)
strategy.close('Short', when=exitShort)