Derivate-basierte Trendstrategie

Schriftsteller:ChaoZhang, Datum: 23.11.2023
Tags:

img

Übersicht

Diese Strategie verwendet eine Kombination von gleitenden Durchschnitten mit verschiedenen Perioden, um Trends zu ermitteln, und verwendet endliche Differenzderivaten-Approximationen, um mögliche Umkehrungen vorherzusagen.

Strategie Logik

Die Strategie verwendet 20-, 40- und 80-Perioden einfache gleitende Durchschnitte gleichzeitig. Wenn der Schlusskurs über diesen 3 gleitenden Durchschnitten liegt, wird er als Aufwärtstrend definiert; wenn der Schlusskurs unter diesen 3 gleitenden Durchschnitten liegt, wird er als Abwärtstrend definiert. Der Trend wird nur bestätigt, wenn der niedrigste Preis über oder der höchste Preis unter diesen 3 gleitenden Durchschnitten liegt.

Um mögliche Umkehrpunkte vorherzusagen, verwendet die Strategie die Enddifferenz-Derivaten-Approximation der ersten Derivate des 40-Perioden-simple Moving Average.

Die spezifischen Handelsregeln sind:

  1. Wenn die schnelle Linie über der mittleren Linie und die mittlere Linie über der langsamen Linie liegt und die erste Ableitung > 0 ist, gehen Sie lang;

  2. Wenn die schnelle Linie unterhalb der mittleren Linie und die mittlere Linie unterhalb der langsamen Linie liegt und die erste Ableitung < 0 beträgt, wird kurz geschlagen.

  3. Schließen einer Longposition, wenn die erste Derivate <= 0;

  4. Abschluss einer Shortposition, wenn die erste Derivate >= 0 ist

Analyse der Vorteile

Zu den Vorteilen dieser Strategie gehören:

  1. Die Verwendung mehrerer gleitender Durchschnitte zur Bestimmung von Trends macht die Trendbeurteilung zuverlässiger;

  2. Die Vorhersage von Umkehrpunkten bei Derivaten ermöglicht zeitnahen Stop-Loss und kleinere Drawdowns;

  3. Die Logik ist einfach und leicht verständlich, für Anfänger geeignet;

  4. Nur der Handel mit Umkehrungen nach Trends vermeidet, dass man gefangen wird und hat eine höhere Gewinnrate.

Risikoanalyse

Diese Strategie birgt auch einige Risiken:

  1. Die gleitende Durchschnittskombination kann während der Bereichsgebundenen Märkte falsche Signale geben;

  2. Die Ableitungsumkehrsignale können verzögern und Verluste nicht vollständig vermeiden;

  3. Eine unsachgemäße Stop-Loss-Einstellung kann die Verluste vergrößern.

Um diesen Risiken entgegenzuwirken, können wir die Parameter der gleitenden Durchschnitte optimieren, den Stop-Loss anpassen, mit anderen Indikatoren kombinieren, um die Strategie zu verbessern.

Optimierungsrichtlinien

Die Strategie kann in folgenden Aspekten optimiert werden:

  1. Optimierung der gleitenden Durchschnittsperioden, um sie besser an unterschiedliche Marktbedingungen anzupassen;

  2. Versuchen Sie verschiedene Arten von gleitenden Durchschnitten, wie EMAs;

  3. Verwendung von Volatilitätsindikatoren zur Festlegung dynamischer Stopps;

  4. Kombination anderer Indikatoren zur Bestätigung, um falsche Signale zu vermeiden.

Schlussfolgerung

Diese gleitende Durchschnittskombinationstrendstrategie verwendet mehrere gleitende Durchschnitte, um die Trendrichtung zu bestimmen, und Derivate, um Umkehrungen vorherzusagen, die Risiken effektiv kontrollieren und für den mittelfristigen Handel geeignet sind.


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

//@version=3
strategy("Big 3",overlay=true, default_qty_type=strategy.percent_of_equity)
 
// enter on Arrows
// take profit on touch with 80 SMA, gray, or at discretion
 
fast = sma(close,20)
mid = sma(close,40)
slow = sma(close,80)
 
plot(fast,linewidth=1)
plot(mid,linewidth=2)
plot(slow,linewidth=4)
 
isUptrend = close > fast and close > mid and close > slow
isDowntrend = close < fast and close < mid and close < slow
 
confirmed = (low > fast and low > mid and low > slow) or (high < fast and high < mid and high < slow)
deriv = 3 * mid[0] - 4 * mid[1] + mid[2]

stableUptrend = (fast > mid) and (mid > slow) and (deriv > 0)
stableDowntrend = (fast < mid) and (mid < slow) and (deriv < 0)
 
barcolor(isUptrend ? green : isDowntrend ? red : gray)
plotshape(not confirmed[1] and confirmed and isUptrend ? close : na,style=shape.arrowup,location=location.belowbar,color=green)
plotshape(not confirmed[1] and confirmed and isDowntrend ? close : na,style=shape.arrowdown,location=location.abovebar,color=red)

stop = na
//stop = input(1000, "Stop")


strategy.entry("long", strategy.long, when=(stableUptrend), stop=stop)
strategy.close("long", when=(deriv <= 0))

strategy.entry("short", strategy.short, when=(stableDowntrend), stop=stop)
strategy.close("short", when=(deriv >= 0))





Mehr