Die Strategie heißtTrendverfolgungsstrategie auf Basis von SMA und ATR.
Diese Strategie verwendet den SMA-Indikator, um die Kursentwicklungsrichtung zu bestimmen, und setzt Stop-Loss-Positionen mit dem ATR-Indikator ein, um den Trend zu verfolgen.
(1) Gehen Sie lang, wenn der Schlusskurs steigt und über dem SMA liegt.
(2) Geht kurz, wenn der Schlusskurs fällt und unter dem SMA liegt.
Verwenden Sie den Wert des ATR-Indikators multipliziert mit dem eingestellten Stop-Loss-Multiplikator als Stop-Loss-Position.
Nach dem Schließen jedes Balkens überprüfen Sie die Stop-Loss-Position und aktualisieren Sie sie auf einen Stop-Loss-Wert, der dem aktuellen Preis näher kommt.
Aktive Stop-Loss, wenn der Preis die Stop-Loss-Linie berührt.
Die dynamische Stop-Loss-Einstellung des ATR-Indikators ermöglicht die automatische Verfolgung von Trends.
Strenge Stop-Loss-Regeln helfen, den maximalen Drawdown pro Handel zu kontrollieren.
Nur 3 Parameter machen Anpassung und Optimierung einfach.
Wenn das Stop-Loss-Multiplikator zu hoch eingestellt ist, kann die Stop-Loss-Position zu locker sein und somit den Drawdown erhöhen.
Bei falschen Preisbrechungen kann die Trendrichtung verfehlt werden. Andere Indikatoren sollten verwendet werden, um Signale zu filtern.
Übermäßige Abhängigkeit von Parameteroptimierung kann zu Kurvenanpassung führen.
Andere Arten von Stop-Loss-Algorithmen können getestet werden, wie beispielsweise bewegliche Stop-Loss, proportionale Stop-Loss usw.
Andere Indikatoren können hinzugefügt werden, um falsche Ausbrüche zu filtern.
Backtesting-Verlauf zur Bewertung der Anpassungsfähigkeit von Parametern an verschiedene Produkte und Zeitrahmen.
Die allgemeine Idee dieser Strategie ist klar. Sie beurteilt die Trendrichtung durch SMA und verwendet ATR, um Trends mit guter Drawdown-Kontrolle zu verfolgen. Sie eignet sich für den mittelfristigen und langfristigen Trendhandel.
/*backtest start: 2024-01-16 00:00:00 end: 2024-01-16 17:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © omererkan //@version=5 strategy(title="SMA with ATR", overlay=true) smaLen = input.int(100, title="SMA Length") atrLen = input.int(10, title="ATR Length") stopOffset = input.float(4, title="Stop Offset Multiple", step=0.25) smaValue = ta.sma(close, smaLen) stopValue = ta.atr(atrLen) * stopOffset lowerCloses = close < close[1] and close[1] < close[2] and close[2] < close[3] enterLong = close > smaValue and lowerCloses longStop = 0.0 longStop := if enterLong and strategy.position_size < 1 close - stopValue else math.max(close - stopValue, longStop[1]) higherCloses = close > close[1] and close[1] > close[2] and close[2] > close[3] enterShort = close < smaValue and higherCloses shortStop = 0.0 shortStop := if enterShort and strategy.position_size > -1 close + stopValue else math.min(close + stopValue, shortStop[1]) plot(smaValue, color=#4169e1, linewidth=2, title="SMA") plot(strategy.position_size > 0 ? longStop : na, color=color.lime, style=plot.style_linebr, title="Long stop", linewidth=2) plot(strategy.position_size < 0 ? shortStop : na, color=color.red, style=plot.style_linebr, title="Short stop", linewidth=2) if enterLong strategy.entry("EL", strategy.long) if enterShort strategy.entry("ES", strategy.short) if strategy.position_size > 0 strategy.exit("SL Long", from_entry="EL", stop=longStop) if strategy.position_size < 0 strategy.exit("SL Short", from_entry="ES", stop=shortStop) if enterLong strategy.cancel("Exit Short") if enterShort strategy.cancel("Exit Long")