Alles über die ATR- und EMA-basierte Trendfolgestrategie

Schriftsteller:ChaoZhang, Datum: 2024-02-23 14:34:24
Tags:

img

Übersicht

Der Kerngedanke dieser Strategie besteht darin, den vom ATR-Indikator berechneten Preisschwankungsbereich zu verwenden, um Preisdurchbrüche zu beurteilen, und den EMA-Indikator, um die allgemeine Trendrichtung zu beurteilen, um einen Trend nach dem Handel zu erzielen. Wenn der Preis die obere oder untere Grenze des ATR-Bereichs durchbricht, wenn die Durchbruchsschwelle mit der EMA-Richtung übereinstimmt, nehmen Sie lange oder kurze Positionen. Die Schlusskondition ist, dass der Preis erneut durch die ATR-Bereich durchbricht.

Strategieprinzip

Erstens verwendet diese Strategie den ATR-Indikator, um den Kursschwankungsbereich über einen bestimmten Zeitraum zu berechnen. Die obere Grenze des ATR-Bereichs ist SMA+ATR und die untere Grenze ist SMA-ATR.

Wenn der Preis die obere oder untere Grenze des ATR-Bereichs durchbricht, tritt eine Handelsmöglichkeit auf. Zu diesem Zeitpunkt ist es notwendig, die Richtung zu beurteilen. Wenn es sich um einen Aufbruch handelt, gehen Sie lang. Wenn es sich um einen Abbruch handelt, gehen Sie kurz. Um sicherzustellen, dass die Durchbruchrichtung mit der Trendrichtung übereinstimmt, verwendet die Strategie den EMA-Indikator, um die allgemeine Trendrichtung zu bestimmen. Nur wenn die Durchbruchrichtung mit der EMA-Richtung übereinstimmt, wird eine Position eingenommen.

Schließlich verwendet die Strategie den Preis, der erneut durch die ATR-Range durchbricht, als Schlusssignal.

Strategische Vorteile

  1. Die Verwendung des ATR-Indikators zur Ermittlung von Durchbrüchen kann die Durchbrüche des Kurstrends effektiv erfassen.

  2. Durch das Hinzufügen des EMA-Indikators als richtungsorientiertes Urteil wird vermieden, gegen die Trendrichtung zu handeln, was die Gewinnrate erheblich verbessern kann.

  3. Die Verwendung des Preisrückgangs über den ATR-Bereich als Stop-Loss-Methode kann die Risikokontrolle maximieren.

Strategische Risiken

  1. Auf einem volatilen Markt kann die ATR-Bereichsbreite häufig überschritten werden, was leicht zu übermäßigen ungültigen Trades und größeren Verlusten führt.

  2. Der EMA als Indikator für die Beurteilung der Trendrichtung ist etwas zurückgeblieben, so dass er Möglichkeiten für kurzfristige Kursumkehrungen verpassen kann.

  3. Die Stop-Loss-Methode ist ein Preisrückgang über den Bereich, der aufgrund plötzlicher Ereignisse leicht zu vergrößerten Verlusten führen kann.

Strategieoptimierungsrichtlinien

  1. Es sollte in Betracht gezogen werden, andere Indikatoren zu kombinieren, um Trends und Rückgänge zu ermitteln, um einzigartige EMA-Bewertungsfehler wie MACD, KDJ usw. zu vermeiden.

  2. Es sollte in Betracht gezogen werden, die ATR-Parameter in Echtzeit entsprechend der Marktvolatilität anzupassen, damit der ATR-Bereich der tatsächlichen Schwankung näher kommt.

  3. Überlegen Sie, ob Sie eine bewegliche Stop-Loss-Methode verwenden, um den Stop-Loss-Punkt kontinuierlich anzupassen, um die Risikokontrolle einzelner Verluste zu maximieren.

Zusammenfassung

Die Gesamtidee dieser Strategie ist klar, indem der ATR-Indikator verwendet wird, um Preisdurchbrüche zu bestimmen und mit der EMA zusammenzuarbeiten, um die Richtung zu bestimmen, kann er Trends effektiv verfolgen; Die Stop-Loss-Methode ist einfach und einfach zu bedienen. Aber gleichzeitig gibt es bestimmte Risiken und einen großen Raum für Optimierung, die weitere Tests und Anpassungen erfordern. Im Allgemeinen ist diese Strategie für Trendhändler geeignet, die hohe Gewinnraten anstreben.


/*backtest
start: 2024-01-23 00:00:00
end: 2024-02-22 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © cwagoner78
//@version=4
strategy("cATRpillar", overlay=true)
//------------

//inputs
lookback = input(title="Periods", type=input.integer, defval=37)
atrMult = input(title="Range Multiplier", type=input.float, defval=.2)
takeProfit = input(title="Take Profit", type=input.float, defval=5000)
stopLoss = input(title="Stop Loss", type=input.float, defval=2500)
lots = input(title="Lots to Trade", type=input.float, defval=1)
//------------

//indicators
atr=atr(lookback)*atrMult
sma=sma(close, lookback)
ema=ema(close,lookback*2)
rangeLo=sma-atr
rangeHi=sma+atr
//------------

//draw objects
p0 =plot(close, title="Close", color=#26A69A, linewidth=0, transp=80,style=plot.style_stepline)
p1 =plot(rangeHi, title="High", color=color.fuchsia, linewidth=0, transp=80,style=plot.style_stepline)
p2 =plot(rangeLo, title="Low", color=color.lime, linewidth=0, transp=80,style=plot.style_stepline)
p3 =plot(ema, title="EMA", color=color.white, linewidth=0, transp=80, style=plot.style_stepline)
fill(p1, p0, color=color.fuchsia)
fill(p0, p2, color=color.lime)
//------------

//Trading
atrShort=open[1] > rangeHi and open < rangeLo
atrLong=open[1] < rangeLo and open > rangeHi
exitLong=open>rangeLo
exitShort=open<rangeHi

//Long
longCondition=atrLong and open>ema+atr
strategy.entry(id="cATRpillar-Buy", long=true, when=longCondition)
longCloseCondition=exitLong
strategy.exit(id="cATRpillar-Exit", qty=lots, profit=takeProfit, loss=stopLoss, when=longCloseCondition)

//Short
shortCondition=atrShort and open<ema-atr
strategy.entry(id="cATRpillar-Sell", long=false, when=shortCondition)
shortCloseCondition=exitShort
strategy.exit(id="cATRpillar-Exit",  qty=lots, profit=takeProfit, loss=stopLoss, when=shortCloseCondition)

plotshape(shortCondition,  title= "Short", location=location.belowbar, color=color.fuchsia, transp=80, style=shape.triangledown, size=size.tiny)
plotshape(longCondition,  title= "Long", location=location.abovebar, color=color.lime, transp=80, style=shape.triangleup, size=size.tiny)
//------------







Mehr