Nut Offline Trendfolgestrategie


Erstellungsdatum: 2024-03-01 10:50:03 zuletzt geändert: 2024-03-01 10:50:03
Kopie: 2 Klicks: 562
1
konzentrieren Sie sich auf
1617
Anhänger

Nut Offline Trendfolgestrategie

In diesem Artikel wird eine Trend-Tracking-Strategie, die auf der 200-Tage-Moving-Average und der Preisentfernung basiert, genauer analysiert. Sie wird als Walnuts Offline-Trend-Tracking-Strategie bezeichnet. Die Strategie setzt bei Überschreitung der eingestellten Threshold-Werte an, indem sie die Entfernung zwischen dem Preis und dem 200-Tage-Moving-Average verfolgt.

1. Strategische Grundlagen

Der Kern der Strategie ist der 200-Tage-Index-Moving-Average (> 200 EMA). Die Strategie entscheidet, ob der Preis von der 200-Tage-Linie abweicht, nachdem er den festgelegten Prozentsatz erreicht hat. Die Strategie richtet die Position ein, wenn die nächste K-Linie eine Sonnenlinie ist (> mehrköpfige Einstiegslinie) oder eine Sonnenlinie (< Hohlkopf Einstiegslinie).

Ausgangsbedingung: Ausgang aus dem Plating, wenn der Preis auf die 200-Tage-Linie zurückkehrt oder das Stop-Loss-Ziel erreicht ((1,5 mal der Eintrittspreis)). Der Stop-Loss ist 20% des gemeldeten Wertes der Option.

Die Ein- und Ausstiegsbedingungen sind wie folgt:

Mehrfache Eintritt:Wenn der Schlusskurs < 200 Tage liegt und der Schlusskurs mit der 200 Tage Linie in Prozent entfernt ist und die K-Linie ist der letzte Schlusskurs

Eintritt ohne Kopf:Wenn der Schlusskurs > 200-Jahres-Linie ist und der Schlusskurs von der 200-Jahres-Linie in Prozent entfernt ist und der Schlusskurs der K-Linie ist

Mehrfache Auftritte:Abschlusskurs ≥ 200-Tageslinie oder Erreichen des Stop-Loss-Ziels oder Ende des Handelstages

Das ist die einzige Möglichkeit, das zu tun.Abschlusskurs <= 200-Tage-Linie oder Stoppziel erreicht oder Handelstag beendet

Die Stop-Loss-Bedingung beträgt 20% des gemeldeten Wertes der Option.

2. Strategische Vorteile

Diese Strategie hat folgende Vorteile:

  1. Verwenden Sie den 200-Tage-Moving-Average, um die Richtung der langfristigen Preisentwicklung zu bestimmen und sich nicht von kurzfristigen Marktgeräuschen ablenken zu lassen
  2. Einrichtung eines Trend-Tracking-Mechanismus, um die langen und mittleren Preistrends zu verfolgen
  3. Optimierung der Eintrittszeit, Eintrittszeit, wenn die Richtung der letzten K-Linie mit dem großen Trend übereinstimmt
  4. Rationalisierte Stop-Loss- und Stop-Stop-Mechanismen, um eine Vergrößerung der Verluste zu vermeiden

3. Strategische Risiken

Diese Strategie birgt folgende Risiken:

  1. Bei großen Börsenbewegungen können die Preise mehrmals den gleitenden Durchschnitt berühren, was zu mehreren Verlusten führt.
  2. Eine plötzliche Trendwende führt zu einem Verlust-Ausgang.
  3. Die Parameter, die eingestellt wurden, wie z. B. die falsche Auswahl der Moving Average Perioden, können keine Trends genau bestimmen

Um diese Risiken zu verringern, können folgende Aspekte optimiert werden:

  1. Anpassung der Moving Average-Parameter oder Hinzufügen anderer Indikatoren zur Beurteilung der großen Trends
  2. Optimierung von Stop-Loss-Mechanismen, z. B. Anpassung der Stop-Loss-Distanz an Preisänderungen
  3. Optimierung der Zulassungsvoraussetzungen und Hinzufügung weiterer Kriterien

Viertens: Strategische Optimierung

Die Strategie kann vor allem in folgenden Bereichen optimiert werden:

  1. Optimierung von Moving Average-Parametern, um die Auswirkungen verschiedener Periodendaten auf die Effektivität der Strategie zu testen
  2. Hinzufügen von anderen Indikatoren, um große Trends zu beurteilen, wie z. B. Brin Line Channels, KDJ Indicators usw.
  3. Anpassung der Stop-Loss-Strategie, so dass Stop-Loss-Levels dynamisch angepasst werden können
  4. Optimierung der Zulassungsbedingungen und Vermeidung von Fehlern bei der Zulassung aufgrund von kurzfristigen Änderungen

5. Zusammenfassung

Dieser Artikel analysiert detailliert die Grundsätze, Vorteile, Risiken und Optimierungsrichtungen einer Trendverfolgungsstrategie, die auf der Entfernung des Preises vom 200-Tage-Moving Average basiert. Die Strategie beurteilt die Richtung des mittleren langen Trends, indem sie den Abstand des Preises vom langfristigen Durchschnitt verfolgt.

Strategiequellcode
/*backtest
start: 2024-02-22 00:00:00
end: 2024-02-24 06:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Intraday Price Away from 200 EMA Strategy", overlay=true)

// Define inputs
emaPeriod = input(200, title="EMA Period")
thresholdPercent = input(0.75, title="Threshold Percent", minval=0)  // Define the threshold percentage

// Calculate 200 EMA
ema = ema(close, emaPeriod)

// Calculate distance from 200 EMA as a percentage
distance_percent = ((close - ema) / ema) * 100

// Track average entry price
var float avgEntryPrice = na

// Buy conditions
buy_condition = close < ema and abs(distance_percent) >= thresholdPercent and close[1] < close[2]

// Exit conditions for buy
exit_buy_condition = close >= ema or time_close(timeframe.period) or (avgEntryPrice * 1.5) <= close

// Sell conditions
sell_condition = close > ema and abs(distance_percent) >= thresholdPercent and close[1] > close[2]

// Exit conditions for sell
exit_sell_condition = close <= ema or time_close(timeframe.period) or (avgEntryPrice * 1.5) >= close

// Execute buy and sell orders only if there are no open trades
if strategy.opentrades == 0
    strategy.entry("Buy", strategy.long, when=buy_condition)
    strategy.entry("Sell", strategy.short, when=sell_condition)

// Update average entry price for buy condition
if buy_condition
    avgEntryPrice := close

// Update average entry price for sell condition
if sell_condition
    avgEntryPrice := close

// Close buy position if exit condition is met
strategy.close("Buy", when=exit_buy_condition)

// Close sell position if exit condition is met
strategy.close("Sell", when=exit_sell_condition)

// Plot 200 EMA
plot(ema, color=color.blue, linewidth=2)

// Plot buy and sell signals
plotshape(buy_condition, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plotshape(sell_condition, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)