Trendfolgestrategie basierend auf gleitenden Durchschnitten


Erstellungsdatum: 2023-12-20 14:23:49 zuletzt geändert: 2023-12-20 14:23:49
Kopie: 0 Klicks: 439
1
konzentrieren Sie sich auf
1166
Anhänger

Trendfolgestrategie basierend auf gleitenden Durchschnitten

Überblick

Die Strategie basiert auf der Stock-Stock-Stock-Template von Mark Menevigne und kombiniert die Bewegung der Durchschnittswerte, um die Kursentwicklung zu bestimmen. Die Strategie entscheidet hauptsächlich, ob die Aktie im Aufwärtstrend ist, und ob sie den kritischen Moving Average überschreitet, um ein Kaufsignal zu erzeugen. Gleichzeitig setzt die Strategie eine Stop-Line ein, die aktiven Stop-Losses auslöst, wenn der Kurs zurückzieht.

Strategieprinzip

Die Strategie richtet sich hauptsächlich nach folgenden Bedingungen und erzeugt ein Kaufsignal, wenn die Bedingungen gleichzeitig erfüllt sind:

  1. Derzeit liegt der Kurs über den 150- und 200-Tage-Moving Averages.
  2. Der 150-Tage-Moving-Average ist höher als der 200-Tage-Moving-Average.
  3. Der 200-Tages-Moving-Average ist im letzten Monat auf dem Vormarsch.
  4. Der 50-Tage-Moving Average ist höher als der 150- und 200-Tage-Moving Average.
  5. Aktuelle Aktienkurse über dem 50-Tage-Moving Average
  6. Aktienpreise steigen um mehr als 25% gegenüber dem 52-Wochen-Tief
  7. Der Aktienkurs ist nahe am 52-Wochen-Höchstwert.

Wenn die oben genannten Bedingungen erfüllt sind, erzeugt die Strategie ein Kaufsignal, wenn der Aktienkurs in der Aufwärtsphase ist.

Die Strategie setzt außerdem eine Stop-Loss-Linie ein, die bei einem Rückzug um 5% oder einem Anstieg um 10% von einem Höchststand aus eingesetzt wird.

Strategische Vorteile

  1. Die Aktienoptionsmethode von Mark Menevney zur Erhöhung der Gewinnwahrscheinlichkeit
  2. Verwenden Sie mehrere Moving Averages, um Trends zu bestätigen und Kaufpunkte zu vermeiden
  3. Ein Stop-Loss-System zur Vermeidung großer Verluste

Risikoanalyse

  1. Aktienpreise könnten kurzfristig korrigiert werden, was dazu führt, dass ein Stop-Loss ausgelöst wird.
  2. Der Moving Average kann Trends nicht vollständig bestimmen und kann zu False Breaks führen.
  3. Die Stop-Loss-Relation ist nicht perfekt eingestellt und kann zu früh zum Stoppen oder zum Vergrößern von Verlusten führen

Optimierungsrichtung

  1. Moving Average-Kombinationen mit verschiedenen Parametern können getestet werden
  2. Das ist eine sehr wichtige Frage, die man sich stellen kann.
  3. Verhältnis Einstellungen, die die Stop-Loss-Stopp optimieren können

Zusammenfassen

Die Strategie folgt insgesamt der Denkweise des Trendhandels und erzeugt ein Kaufsignal unter der Voraussetzung, dass der Aktienpreis eine steigende Tendenz bestätigt. Gleichzeitig wird ein Stop-Loss-Mechanismus eingerichtet, um das Risiko zu kontrollieren. Durch die Optimierung der einzelnen Detailparameter kann die Stabilität und Profitabilität der Strategie weiter verbessert werden.

Strategiequellcode
/*backtest
start: 2022-12-13 00:00:00
end: 2023-12-19 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="Pure Mark Minervini 10%TP 5%CL", pyramiding = 0, commission_type=strategy.commission.percent, commission_value=0.08, overlay=true)

ma50 = sma(close,50)
ma150 = sma(close,150)
ma200 = sma(close,200)
ma200_22 = ma200[22]

high_loopback = input(260, "High Lookback Length")
low_loopback = input(260, "Low Lookback Length")
highest_price = highest(high, high_loopback)
lowest_price = lowest(low, low_loopback)
above52lo = ((close/lowest_price)-1)*100
below52hi = (1-(close/highest_price))*100
ep = strategy.position_avg_price

trigger = close>ma150 and close>ma200 and ma150>ma200 and ma200>ma200_22 and ma50>ma150 and ma50>ma200 and close>ma50 and above52lo>=25 and below52hi<=25 and close>0.3
var label maLabel = na
if (trigger)
    yLocation = close>ma150 and close>ma200 and ma150>ma200 and ma200>ma200_22 and ma50>ma150 and ma50>ma200 and close>ma50 and above52lo>=25 and below52hi<=25 and close>0.3 ?
         yloc.abovebar :
         yloc.belowbar

    // labelStyle = close>ma150 and close>ma200 and ma150>ma200 and ma200>ma200_22 and ma50>ma150 and ma50>ma200 and close>ma50 and above52lo>=25 and below52hi<=25 and close>0.3 ?
    //      label.style_labeldown :
    //      label.style_labelup

buy = close>ma150 and close>ma200 and ma150>ma200 and ma200>ma200_22 and ma50>ma150 and ma50>ma200 and close>ma50 and above52lo>=25 and below52hi<=25 and close>0.3
sell = close>ep*1.1 or close<ep*0.95

strategy.entry("TF", strategy.long, when = buy)
strategy.close("TF", when = sell)