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.
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:
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;
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.
Schließen einer Longposition, wenn die erste Derivate <= 0;
Abschluss einer Shortposition, wenn die erste Derivate >= 0 ist
Zu den Vorteilen dieser Strategie gehören:
Die Verwendung mehrerer gleitender Durchschnitte zur Bestimmung von Trends macht die Trendbeurteilung zuverlässiger;
Die Vorhersage von Umkehrpunkten bei Derivaten ermöglicht zeitnahen Stop-Loss und kleinere Drawdowns;
Die Logik ist einfach und leicht verständlich, für Anfänger geeignet;
Nur der Handel mit Umkehrungen nach Trends vermeidet, dass man gefangen wird und hat eine höhere Gewinnrate.
Diese Strategie birgt auch einige Risiken:
Die gleitende Durchschnittskombination kann während der Bereichsgebundenen Märkte falsche Signale geben;
Die Ableitungsumkehrsignale können verzögern und Verluste nicht vollständig vermeiden;
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.
Die Strategie kann in folgenden Aspekten optimiert werden:
Optimierung der gleitenden Durchschnittsperioden, um sie besser an unterschiedliche Marktbedingungen anzupassen;
Versuchen Sie verschiedene Arten von gleitenden Durchschnitten, wie EMAs;
Verwendung von Volatilitätsindikatoren zur Festlegung dynamischer Stopps;
Kombination anderer Indikatoren zur Bestätigung, um falsche Signale zu vermeiden.
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))