Dynamische Stop-Profit- und Stop-Loss-Adaptivstrategie basierend auf ATR und EMA

ATR EMA
Erstellungsdatum: 2024-05-28 14:15:56 zuletzt geändert: 2024-05-28 14:15:56
Kopie: 1 Klicks: 835
1
konzentrieren Sie sich auf
1617
Anhänger

Dynamische Stop-Profit- und Stop-Loss-Adaptivstrategie basierend auf ATR und EMA

Überblick

Die Strategie verwendet zwei Indikatoren, den ATR und den EMA, um sich an die Volatilität des Marktes anzupassen, indem sie die Stop-Loss-Punkte dynamisch anpasst. Die Hauptidee der Strategie ist: Die Verwendung des ATR-Indikators zur Messung der Marktvolatilität und die Einstellung der Stop-Loss-Punkte entsprechend der Größe der Volatilität. Die Verwendung des EMA-Indikators zur Bestimmung der Handelsrichtung, um mehrere Aufträge zu eröffnen, wenn der Preis die EMA nach oben durchbricht, und leere Aufträge, wenn die EMA nach unten durchbricht.

Strategieprinzip

  1. Berechnen Sie den ATR-Wert, der die Größe der Marktfluktuation misst.
  2. Der dynamische Stop-Loss-Punkt wird berechnet, basierend auf den Werten des ATR und den multiplizierten Parametern der Eingabe.
  3. Mit Hilfe der EMA-Indikatoren als Filterbedingungen wird ein Überkauf geöffnet, wenn der Preis die EMA nach oben durchbricht, und ein Leerkauf, wenn der Preis die EMA nach unten durchbricht.
  4. Bei der Positionshaltung wird die Stop-Loss-Position ständig angepasst, je nachdem, wie sich der Preis und die dynamischen Stop-Loss-Positionen ändern.
  5. Wenn der Preis den dynamischen Stop-Loss-Punkt erreicht, wird die Position gelöscht und umgekehrt eröffnet.

Strategische Vorteile

  1. Anpassungsfähigkeit: Durch die dynamische Anpassung der Stop-Loss-Punkte kann die Strategie an die Veränderungen der Volatilität in verschiedenen Marktbedingungen angepasst werden, um das Risiko zu kontrollieren.
  2. Trend-Tracking-Fähigkeiten: Die EMA-Indikatoren werden verwendet, um die Richtung des Handels zu bestimmen und die Markttrends effektiv zu erfassen.
  3. Anpassbarkeit der Parameter: Die Risiken und Erträge der Strategie können flexibel gesteuert werden, indem die Parameter für die ATR-Periode und -Mehrzahl angepasst werden.

Strategisches Risiko

  1. Die Einstellung der Parameterrisiken: Die Einstellung der ATR-Periode und der Multiplikatorparameter beeinflusst die Performance der Strategie unmittelbar, und die falsche Einstellung der Parameter kann zur Ausfallstrategie führen.
  2. Schwankungsrisiko: In schwankenden Märkten kann die häufige Auslösung von Positionen zu größeren Verlusten an Schlupfpunkten und Gebühren führen.
  3. Trendwechselrisiko: Die Strategie kann in Folge Verluste verursachen, wenn sich der Marktwechsel ereignet.

Richtung der Strategieoptimierung

  1. Die Einführung von mehr technischen Indikatoren wie MACD, RSI usw. verbessert die Genauigkeit der Trendbeurteilung.
  2. Die Berechnungsmethoden zur Optimierung der Stop-Loss-Punkte, wie z. B. die Einführung von Moving Stops und Dynamic Ratio Stops.
  3. Optimierung der Parameter, um die optimale Kombination von ATR-Zyklen und Multiplikatorparametern zu finden, um die Stabilität und Profitabilität der Strategie zu verbessern.
  4. Positionsmanagement-Modul, das die Positionsgröße dynamisch an die Marktvolatilität und das Risikoniveau des Kontos anpasst.

Zusammenfassen

Die Strategie nutzt die beiden Indikatoren ATR und EMA, um sich an die Veränderungen der Marktvolatilität anzupassen, indem sie die Stop-Loss-Punkte dynamisch anpasst, und verwendet die EMA-Indikatoren, um die Richtung des Handels zu beurteilen. Die Strategie hat eine starke Anpassungsfähigkeit und Trendverfolgung, kann jedoch mit einem gewissen Risiko konfrontiert sein, wenn die Parameter eingestellt werden, der Markt schwankt und der Trend umkehrt.

Strategiequellcode
/*backtest
start: 2024-04-27 00:00:00
end: 2024-05-27 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/

//@version=5
strategy(title='UT MB&SS Bot', overlay=true)

// Inputs
a = input(1, title='Key Value. \'This changes the sensitivity\'')
c = input(10, title='ATR Period')
h = input(false, title='Signals from Heikin Ashi Candles')
stoploss = input(2.0, title='Stop Loss (ATR Multiples)')

xATR = ta.atr(c)
nLoss = a * xATR

src = h ? request.security(ticker.heikinashi(syminfo.tickerid), timeframe.period, close, lookahead=barmerge.lookahead_off) : close

var xATR_trailing_stop = 0.0
iff_1 = src > nz(xATR_trailing_stop[1], 0) ? src - nLoss : src + nLoss
iff_2 = src < nz(xATR_trailing_stop[1], 0) and src[1] < nz(xATR_trailing_stop[1], 0) ? math.min(nz(xATR_trailing_stop[1]), src + nLoss) : iff_1
xATR_trailing_stop := src > nz(xATR_trailing_stop[1], 0) and src[1] > nz(xATR_trailing_stop[1], 0) ? math.max(nz(xATR_trailing_stop[1]), src - nLoss) : iff_2

pos = 0
iff_3 = src[1] > nz(xATR_trailing_stop[1], 0) and src < nz(xATR_trailing_stop[1], 0) ? -1 : nz(pos[1], 0)
pos := src[1] < nz(xATR_trailing_stop[1], 0) and src > nz(xATR_trailing_stop[1], 0) ? 1 : iff_3

xcolor = pos == -1 ? color.red : pos == 1 ? color.green : color.blue

ema = ta.ema(src, 1)
above = ta.crossover(ema, xATR_trailing_stop)
below = ta.crossover(xATR_trailing_stop, ema)

buy = src > xATR_trailing_stop and above
sell = src < xATR_trailing_stop and below

barbuy = src > xATR_trailing_stop
barsell = src < xATR_trailing_stop

plotshape(buy, title='Buy', text='Buy', style=shape.labelup, location=location.belowbar, color=color.new(color.green, 0), textcolor=color.new(color.white, 0), size=size.tiny)
plotshape(sell, title='Sell', text='Sell', style=shape.labeldown, location=location.abovebar, color=color.new(color.red, 0), textcolor=color.new(color.white, 0), size=size.tiny)

barcolor(barbuy ? color.green : na)
barcolor(barsell ? color.red : na)

stop_level = pos == 1 ? xATR_trailing_stop - stoploss * xATR : xATR_trailing_stop + stoploss * xATR
stop_level := math.max(stop_level, nz(stop_level[1]))

if pos == 1
    strategy.exit('Exit Long', 'UT Long', stop=stop_level)
else if pos == -1
    strategy.exit('Exit Short', 'UT Short', stop=stop_level)





if buy
    strategy.entry("Enter Long", strategy.long)
else if sell
    strategy.entry("Enter Short", strategy.short)