
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:
3. Strategische Risiken
Diese Strategie birgt folgende Risiken:
Um diese Risiken zu verringern, können folgende Aspekte optimiert werden:
Viertens: Strategische Optimierung
Die Strategie kann vor allem in folgenden Bereichen optimiert werden:
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.
/*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)