Doppelte gleitende Durchschnittsabweichung kombiniert mit der Trendfolgestrategie des ATR-Indikators


Erstellungsdatum: 2023-11-16 11:25:23 zuletzt geändert: 2023-11-16 11:25:23
Kopie: 0 Klicks: 855
1
konzentrieren Sie sich auf
1617
Anhänger

Doppelte gleitende Durchschnittsabweichung kombiniert mit der Trendfolgestrategie des ATR-Indikators

Überblick

Die Strategie nutzt die doppelte EMA-Gleichgewicht-Gold- und Dead-Fork-Signal, um die Marktfluktuation in Verbindung mit dem ATR-Indikator zu bestimmen und den Trend zu einem niedrigen Kauf zu einem hohen Verkauf zu verwirklichen. Wenn die Gold- und Dead-Fork-Line schnell ist und der ATR-Indikator niedriger als am Vortag ist, wird dies als Mehrkopfsignal betrachtet.

Strategieprinzip

  1. Es wird eine doppelte EMA-Mittellinie mit einer Länge von 20 und 55 verwendet. Wenn ein Goldfork durch eine langsame Linie auf der Schnellleine erzeugt wird, wird dies als Mehrkopfsignal betrachtet. Wenn ein Schnellfork durch eine langsame Linie unter der Schnellleine erzeugt wird, wird dies als Leerkopfsignal betrachtet.

  2. Die Verwendung von ATR-Indikatoren mit einer Länge von 14 Tagen. Der ATR-Indikator spiegelt die Volatilität und das Risiko des Marktes wider. Wenn der ATR niedriger als am Vortag ist, bedeutet dies, dass die Marktfluktuation nachlässt und es geeignet ist, mehr zu intervenieren.

  3. Nur bei schnellen Gold- und Forch-Langlängen mit einem niedrigeren ATR als am Vortag mehr machen; nur bei schnellen Gold- und Forch-Langlängen mit einem höheren ATR als am Vortag frei machen. Vermeiden Sie es, leicht einzugreifen, wenn der Markt schwankt.

  4. Der ATR-Indikator wird auch verwendet, um den Stop-Loss und den Stop-Out zu setzen. Der Stop-Loss ist der aktuelle Preis abzüglich ATR multipliziert mit dem Stop-Loss-Multiplikator; der Stop-Off ist der aktuelle Preis plus ATR multipliziert mit dem Stop-Off-Multiplikator.

  5. Die Stop-Loss-Multiplikator-Default ist 3x ATR, die Stop-Loss-Multiplikator-Default ist 3x ATR. Dies ermöglicht sowohl die Stop-Loss- als auch die Stop-Off-Lösung, die dynamisch mit den Marktfluktuationen verbunden sind.

Strategische Vorteile

  1. Die Verwendung eines doppelten Mittelliniensystems bietet eine stärkere Bestätigung für die Beurteilung des Leerstands. Es wird vermieden, von den häufigen falschen Durchbrüchen im Markt getäuscht zu werden.

  2. Die Einführung von ATR-Indikatoren, die die Strategie nur bei niedrigen Schwankungen einbeziehen, filtert viele falsche Signale und reduziert das Systemrisiko.

  3. Der ATR-Dynamische Stop-Loss-Stop kann den Stop-Loss-Stop auf die Marktfluktuation einstellen. Vermeiden Sie, dass der Stop-Loss zu nahe kommt oder überschwemmt.

  4. Es kann eingestellt werden, ob ein Gleichschnitt als zusätzliche Ausstiegsmechanismus verwendet wird. Dies kann die Verlust- und Verlust-Ergebnisse des Systems weiter optimieren.

  5. Die Stop-Loss- und Stop-Stop-Levels können dynamisch nach ATR eingestellt werden, um der Trend-Handelslogik zu entsprechen. Stop-Loss ist nicht überempfindlich und Stop-Stop ist nicht übermäßig locker.

Strategisches Risiko

  1. Ein Doppel-Einheitliches-System beurteilt das Signal als etwas zurückgeblieben. Es kann einen stärkeren kurzfristigen Trend verpassen.

  2. Bei hohen Schwankungen steigt der ATR und kann die Interventionszeit verpassen. Die ATR-Parameter sollten entsprechend angepasst werden.

  3. Bei langfristigen Positionen kann ein Stop-Loss-Level zu nahe kommen und sollte in Kombination mit einer angemessenen Lockerung der Trendstärke eingesetzt werden.

  4. Das Gleichlinien-System ist schwach bei der Beurteilung von Kurvenbild-Szenen. Es sollte mit anderen Indikatoren bestätigt werden.

  5. Die ATR-Parameter sollten für verschiedene Sorten in unterschiedlichen Zeiträumen angepasst werden. Die falsche Auswahl der Parameter kann zu Systemverlusten führen.

Richtung der Strategieoptimierung

  1. Tests mit mittlerer Kombination verschiedener Längenparameter werden durchgeführt, um die mittlerer Parameter zu finden, die am besten mit den Trendmerkmalen der Sorte übereinstimmen.

  2. Weitere Kennzahlen wie MACD, KD und andere können eingeführt werden, um die Entscheidungssicherheit zu erhöhen.

  3. Die ATR-Parameter können durch Rückmessung optimiert werden, um sie besser an die schwankenden Gleichgewichtsmerkmale der Sorte anzupassen.

  4. Der ATR-Multiplikator kann als einstellbare Variable eingestellt werden, um die Stop-Loss-Position dynamisch an die Trendstärke anzupassen.

  5. Es kann mit einem Trendstärke-Indikator kombiniert werden, um die Stop-Loss-Anforderung bei schwachen Trends zu senken und die Stop-Anforderung bei starken Trends zu erhöhen.

Zusammenfassen

Die Strategie integriert die Trendbeurteilung der doppelten EMA-Gewinnlinien und die Risikokontrolle der ATR-Volatilitätsindikatoren zu einem vollständigeren Trendfolge-System. Der Schwerpunkt der Strategieoptimierung liegt auf der Anpassung der Mittellinie und der ATR-Parameter, um sie besser an die Merkmale der Sorte anzupassen, sowie auf der Entwicklung von dynamischen Stop-Loss-Mechanismen, um die Veränderungen der Trendstärke zu verfolgen. Durch die Optimierung der Parameter und die Optimierung der Logik kann die Strategie zu einer hervorragenden Trendfolge-Strategie werden.

Strategiequellcode
/*backtest
start: 2023-10-16 00:00:00
end: 2023-11-15 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
// **********************************************
// PtahX EMA/ATR Strategy Public Release
// EMA Strategy with ATR & "Fear Factor" built in 
// written by PtahX October 2019
// * modifications welcome 
// * please let me know if you improve it so I can continue to learn :) 
// * use at your own risk - I'm a new programmer and still learning
// * Best of luck on your trades!!

// Take Profit (TP) option based on ATR or MA Crossover 
//***********************************************

strategy(title="PtahX EMA/ATR Strategy", overlay=true, pyramiding=1, calc_on_every_tick=true, default_qty_value=1, initial_capital=10000, slippage=2)

//***************************** 
// Global Inputs
//***************************** 

fastMA = input(title="Fast Moving Average", defval=20, step=1)
slowMA = input(title="Slow Moving Average", defval=55, step=1)
source = input(close, title="Source")
atrLength = input(title="ATR Length", defval=14, minval=7, step=1)
slMultiplier = input(title="Stop Loss Multiple", type=input.float, defval=3, minval=1, step=0.2)
tpMultiplier = input(title= "Take Profit Multiple", type=input.float, defval=3, minval=1, step=0.2)
maPlot = input(true, title="Plot EMA?")
maCrossoverExit =  input(false, title="Exit with Slow MA Crossover?")
atrExit = input(true, title="Exit with ATR?")
//***********************************
// ATR
//***********************************
atr = atr(atrLength)


//***********************************
// Volatility Filter
//**********************************
// During uptrends the ATR indicator tends to post lower volatility. 
// During downtrends, the ATR indicator tends to post higher volatility

volatilityBullish = atr < atr[1] 
volatilityBearish = atr > atr[1]


//***********************************
// Moving Averages
//***********************************
    
// Double Line Plot Code (used for Entries & Exits not plotted by default)
fast = ema(source, fastMA)
slow = ema(source, slowMA)
maLong = crossover(fast, slow)
maShort = crossunder(fast, slow) 

// Single Line Plot Code
bullish = slow > slow[1]
bearish = slow < slow[1]
barColor = bullish ? color.green : bearish ? color.red : color.blue


//***************************** 
// Entries
//***************************** 

entryLong = maLong and volatilityBullish
entryShort = maShort and volatilityBearish

if entryLong
    sLoss = source - atr * slMultiplier
    strategy.entry("Long", strategy.long, qty=10)
    strategy.exit("Long Exit", "Long", stop=sLoss)


if entryShort
    sLoss = source + atr * slMultiplier
    tProfit = close > slowMA
    strategy.entry("Short", strategy.short, qty=10)
    strategy.exit("Short Exit", "Short", stop=sLoss)


//***************************** 
// Exits
//*****************************

exitLong = 0
exitShort = 0

if maCrossoverExit
    exitLong = maShort
    exitShort = maLong
    strategy.exit("Long Exit", "Long", when = exitLong)
    strategy.exit("Short Exit", "Short", when = exitShort)

if atrExit
    exitLong = source + atr * tpMultiplier
    exitShort = source - atr * tpMultiplier
    strategy.exit("Long Exit", "Long", limit = exitLong)
    strategy.exit("Short Exit", "Short", limit = exitShort)


//******************************
// ATR Based Exit/ Stop Plotting 
//******************************

// Stop Loss Calculations
longStopLoss = source - atr(atrLength) * slMultiplier
shortStopLoss = source + atr(atrLength) * slMultiplier

longTakeProfit = source - atr(atrLength) * slMultiplier
shortTakeProfit = source + atr(atrLength) * slMultiplier
  

//*********************************
//Chart Plotting
//*********************************

//ATR Based Stop Losses
plot(shortStopLoss, color=color.fuchsia, offset=0, transp=0, show_last=5, linewidth=2, style=plot.style_stepline, title="Short Stop Loss")
plot(longStopLoss, color=color.fuchsia, offset=0, transp=0, show_last=5, linewidth=2, style=plot.style_stepline, title="Long Stop Loss")


// Single Slow EMA Option
plot(slow and maPlot ? slow : na, title="EMA", color=barColor, linewidth=3)