
Diese Strategie wird alsTrendfolgestrategie basierend auf SMA und ATR。
Diese Strategie nutzt SMA-Indikatoren, um die Richtung der Preisentwicklung zu bestimmen, und verwendet ATR-Indikatoren, um eine Stop-Loss-Position zu setzen, um die Tendenz zu verfolgen.
(1) Wenn der Schlusskurs steigt und über dem SMA liegt, machen Sie mehr (2) Veräußern, wenn der Schlusskurs nach unten und unterhalb des SMA liegt
Der Wert des ATR-Indikators wird mit dem eingestellten Stop-Loss-Multiplikator multipliziert.
Nach jeder K-Linie-Schließung überprüft man die Stop-Loss-Position und aktualisiert sie auf einen Stop-Loss-Wert, der dem aktuellen Preis näher kommt.
Aktive Stop-Out, wenn der Preis die Stop-Loss-Linie berührt.
Die dynamische Stop-Loss-Einstellung mit dem ATR-Indikator ermöglicht die automatische Verfolgung von Trends.
Strenge Stop-Loss-Regeln helfen, die maximale Rücknahme eines einzelnen Handels zu kontrollieren.
Nur drei Parameter, um die Anpassung und Optimierung zu erleichtern.
Wenn die Stop-Loss-Multiplier-Einstellung zu groß ist, kann dies dazu führen, dass die Stop-Loss-Position zu locker ist, was zu einem erhöhten Rückzug führt.
Bei einem False-Breakout kann es zu einer Trendverzerrung kommen und sollte in Kombination mit anderen Indikatoren als Filtersignal verwendet werden.
Übermäßige Parameteroptimierungen können zu Kurvenoptimierungen führen. Die Stabilität der Parameter sollte sorgfältig bewertet werden.
Andere Arten von Stop-Loss-Algorithmen, wie beispielsweise Moving Stop, Proportional Stop, können getestet werden.
Andere Indikatoren können gefälschte Durchbrüche filtern. Zum Beispiel erhöhte Umsatzbedingungen usw.
Die Anpassung der Parameter an verschiedene Sorten und Zyklen wird durch die historische Rückvergleiche bewertet.
Die Strategie ist klar konzipiert, die Richtung des Trends wird durch die SMA beurteilt und die ATR wird für die Trendverfolgung verwendet. Die Rückzugskontrolle ist gut geeignet für den Handel mit mittleren und langen Trends.
/*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")