G Trend EMA ATR Intelligente Handelsstrategie

EMA ATR
Erstellungsdatum: 2024-06-14 15:35:15 zuletzt geändert: 2024-06-14 15:35:15
Kopie: 8 Klicks: 713
1
konzentrieren Sie sich auf
1617
Anhänger

G Trend EMA ATR Intelligente Handelsstrategie

Überblick

Die Strategie nutzt G-Kanal-Indikatoren, um die Richtung des Markttrends zu erkennen, und kombiniert EMA und ATR-Indikatoren, um die Ein- und Ausstiegspunkte zu optimieren. Die Hauptidee der Strategie lautet: Wenn der Preis den G-Kanal überschreitet und unterhalb der EMA mehr macht, wird der G-Kanal unterhalb der G-Kanal überschritten und oberhalb der EMA leer. Gleichzeitig wird der ATR verwendet, um einen dynamischen Stop-and-Stop-Bereich einzurichten.

Strategieprinzip

  1. Berechnung der Auf- und Abspannung des G-Kanals: Berechnung der Auf- und Abspannung des G-Kanals unter Verwendung des aktuellen Schlusskurses und des vorherigen Höchst-Mindestpreises.
  2. Beurteilung der Richtung des Trends: Beurteilung des Hohlraumtrends durch die Beobachtung der Beziehung zwischen dem Preis und dem Auf- und Abstieg des G-Kanals.
  3. Berechnung der EMA: Berechnung des EMA-Wertes für die angegebene Periode.
  4. Berechnung des ATR: Berechnung des ATR für die angegebene Periode.
  5. Beurteilung der Kauf- und Verkaufskonditionen: Wenn der Preis den G-Kanal überschreitet und unterhalb der EMA ist, wird ein Plus ausgelöst, wenn er den G-Kanal überschreitet und unterhalb der EMA ist, wird ein Minus ausgelöst.
  6. Die Stop-Loss-Einstellung: Die Stop-Loss-Einstellung ist der Eröffnungspreis - 2-fache ATR, die Stop-Loss-Einstellung ist der Eröffnungspreis + 4-fache ATR (Mehrköpfe); die Stop-Loss-Einstellung ist der Eröffnungspreis + 2-fache ATR, die Stop-Loss-Einstellung ist der Eröffnungspreis - 4-fache ATR (Leerköpfe).
  7. Strategie-Trigger: Erledigt die entsprechende Positionseröffnung, wenn die Kauf- und Verkaufskonditionen erfüllt sind, und setzt die entsprechende Stop-Loss-Sperre ein.

Strategische Vorteile

  1. Trend-Tracking: Strategien zur effektiven Erfassung von Markttrends im Rahmen von Trends.
  2. Dynamische Stop-Loss-Positions: Die ATR kann die Stop-Loss-Position dynamisch anpassen, um besser auf Marktschwankungen eingehen zu können.
  3. Risikokontrolle: Die Stop-Loss-Bedingung ist auf das 2-fache des ATR festgelegt, um das Risiko für jeden Handel streng zu kontrollieren.
  4. Einfach zu bedienen: Die Strategie ist klar und logisch und für die meisten Anleger geeignet.

Strategisches Risiko

  1. In einem wackligen Markt können häufige Handelssignale zu Verlusten führen.
  2. Parameteroptimierung: Unterschiedliche Sorten und Zyklen können unterschiedliche Parameter benötigen, was zu einem Risiko führt.
  3. Black Swan: Im Extremfall kann es zu starken Preisschwankungen kommen, sodass die Stop-Loss-Regelung nicht wirksam ausgeführt werden kann.

Richtung der Strategieoptimierung

  1. Trendfilter: Erhöhen Sie Trendfilterbedingungen wie MA-Kreuzungen, DMI, etc. und reduzieren Sie den Handel in schwankenden Zeiten.
  2. Parameteroptimierung: Parameteroptimierung für verschiedene Sorten und Perioden, um die optimale Parameterkombination zu finden.
  3. Positionsmanagement: Anpassung der Positionen an die dynamischen Marktschwankungen, um die Kapitalnutzung zu erhöhen.
  4. Kombinationsstrategie: Kombination mit anderen effektiven Strategien zur Steigerung der Stabilität.

Zusammenfassen

Die Strategie baut ein einfaches und effektives Trend-Tracking-Handelssystem mit G-Kanal, EMA, ATR und anderen Indikatoren auf. Sie kann in Trendbewegungen gute Ergebnisse erzielen, aber in Schokbewegungen funktioniert sie im Allgemeinen. Anschließend kann die Strategie in Bezug auf Trendfilter, Parameteroptimierung, Positionsmanagement und Kombinationsstrategien optimiert werden, um die Stabilität und Profitabilität der Strategie weiter zu verbessern.

Strategiequellcode
/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-31 23:59:59
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
// Full credit to AlexGrover: https://www.tradingview.com/script/fIvlS64B-G-Channels-Efficient-Calculation-Of-Upper-Lower-Extremities/
strategy ("G-Channel Trend Detection with EMA Strategy and ATR", shorttitle="G-Trend EMA ATR Strategy", overlay=true)

// Inputs for G-Channel
length = input(100, title="G-Channel Length")
src = input(close, title="Source")

// G-Channel Calculation
var float a = na
var float b = na
a := max(src, nz(a[1])) - (nz(a[1] - b[1]) / length)
b := min(src, nz(b[1])) + (nz(a[1] - b[1]) / length)
avg = (a + b) / 2

// G-Channel Signals
crossup = b[1] < close[1] and b > close
crossdn = a[1] < close[1] and a > close
bullish = barssince(crossdn) <= barssince(crossup)
c = bullish ? color.lime : color.red

// Plot G-Channel Average
p1 = plot(avg, "Average", color=c, linewidth=1, transp=90)
p2 = plot(close, "Close price", color=c, linewidth=1, transp=100)
fill(p1, p2, color=c, transp=90)

// Show Buy/Sell Labels
showcross = input(true, title="Show Buy/Sell Labels")
plotshape(showcross and not bullish and bullish[1] ? avg : na, location=location.absolute, style=shape.labeldown, color=color.red, size=size.tiny, text="Sell", textcolor=color.white, transp=0, offset=-1)
plotshape(showcross and bullish and not bullish[1] ? avg : na, location=location.absolute, style=shape.labelup, color=color.lime, size=size.tiny, text="Buy", textcolor=color.white, transp=0, offset=-1)

// Inputs for EMA
emaLength = input(50, title="EMA Length")
emaValue = ema(close, emaLength)

// Plot EMA
plot(emaValue, title="EMA", color=color.blue, linewidth=1)

// ATR Calculation
atrLength = input(14, title="ATR Length")
atrValue = atr(atrLength)

// Strategy Conditions
buyCondition = bullish and close < emaValue
sellCondition = not bullish and close > emaValue

// Stop Loss and Take Profit Levels
longStopLoss = close - 2 * atrValue
longTakeProfit = close + 4 * atrValue
shortStopLoss = close + 2 * atrValue
shortTakeProfit = close - 4 * atrValue

// Execute Strategy with ATR-based stop loss and take profit
if (buyCondition)
    strategy.entry("Buy", strategy.long)
    strategy.exit("Sell", "Buy", stop=longStopLoss, limit=longTakeProfit)

if (sellCondition)
    strategy.entry("Sell", strategy.short)
    strategy.exit("Cover", "Sell", stop=shortStopLoss, limit=shortTakeProfit)

// Plot Buy/Sell Signals on the chart
plotshape(series=buyCondition, location=location.belowbar, color=color.green, style=shape.labelup, text="BUY", offset=-1)
plotshape(series=sellCondition, location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL", offset=-1)