EMA-Prozentkanal und Bollinger-Bänder-Range-Trading-Strategie


Erstellungsdatum: 2023-11-13 17:38:01 zuletzt geändert: 2023-11-13 17:38:01
Kopie: 0 Klicks: 854
1
konzentrieren Sie sich auf
1617
Anhänger

EMA-Prozentkanal und Bollinger-Bänder-Range-Trading-Strategie

Überblick

Die Strategie basiert auf dem von den Benutzern gewählten EMA und dem definierten Prozentsatz der Kanäle. Wenn der Preis unter der Oberbahn liegt, wird die Strategie ausgebucht; wenn der Preis über der Unterbahn liegt, wird die Strategie ausgebucht. Wenn der Preis beginnt, zu trenden und den Kanal zu durchbrechen, werden alle Positionen platziert, um Verluste zu vermeiden.

Für trendige Märkte wird empfohlen, die EMA-Prozentsatzkanal mit Brin-Band-Trend-Trading-Strategie zu kombinieren.

Grundsätze

  1. Berechnen Sie eine EMA von 200 Zyklen als Referenz-EMA.

  2. Der Prozentsatz, den der Benutzer eingestellt hat, berechnet sich auf und ab: Aufwärts = EMA * (1 + Prozent) Die untere Spur = EMA * (1 - Prozent)

  3. Berechnen Sie ein Brinband mit 20 Zyklen und zeichnen Sie den Bereich des Kanals ab.

  4. Wenn der Schlusskurs von unten nach oben über die Bollinger Bands nach unten geht, machen Sie einen Plus; wenn der Schlusskurs von oben nach unten über die Bollinger Bands nach oben geht, machen Sie einen Minus.

  5. Vermeiden Sie große Verluste, indem Sie den Stop-Loss mit ATR berechnen.

  6. Wenn der Preis über die festgelegte prozentual-kanäle-Range hinausgeht, werden alle Positionen platziert, um weitere Verluste zu verhindern.

Vorteile

  1. Mit einer EMA als Benchmark können Trendwechselpunkte besser erfasst werden.

  2. Der Prozentsatz der Kanäle legt einen angemessenen Umfang an Transaktionen fest, um zu häufige Transaktionen zu vermeiden.

  3. Der Brin-Band unterstützt die Widerstandsposition und hilft dabei, die richtige Zeit für den Einstieg zu bestimmen.

  4. Stop-Loss-Einstellungen mit ATR trailing stopdynamically, um das Risiko eines einzelnen Handels effektiv zu kontrollieren.

  5. Wenn der Preis über den Kanal hinausgeht, ist die gesamte Position platziert, so dass die Verluste schnell kontrolliert werden können.

  6. Anpassbare Parameter-Einstellungen sind flexibel und für verschiedene Märkte anpassbar.

Die Gefahr

  1. Wenn der Prozentsatz der Kanäle zu breit ist, können Trends verpasst oder Verluste verhindert werden.

  2. Wenn der Prozentsatz der Kanäle zu eng ist, kann es zu häufigen Transaktionen führen, die die Transaktionskosten erhöhen.

  3. Die falsche Einstellung der Brin-Band-Parameter kann auch zu verpassten Handelschancen führen.

  4. Ein zu lockeres STOP-System kann zu einem zu hohen Verlust führen.

  5. Die Parameter müssen entsprechend optimiert werden, um die optimale Handelsspanne zu finden.

Optimierungsrichtung

  1. Verschiedene EMA-Periodenparameter werden getestet, um die am besten geeignete Mittellinien-Periode zu finden.

  2. Optimierung der Prozentsatzkanalparameter und Suche nach dem optimalen Kanalbereich.

  3. Anpassung der Periodiparameter der Brin-Band zur Optimierung der Effektivität der Schwankungen.

  4. Anpassung der ATR-Zyklen und der Multiplikatoren zur weiteren Optimierung der Stop-Loss-Strategie.

  5. Tests, bei denen nur die oberen oder unteren Bedingungen ausgeführt werden, um zu sehen, ob sie die Erfolgsquote erhöhen.

  6. In Verbindung mit den Trendindikatoren wird die Notwendigkeit eines vorzeitigen Ausgleichs beurteilt.

Zusammenfassen

Die Strategie nutzt die Vorzüge verschiedener Indikatoren wie die Durchschnittslinie, die Kanäle und die Volatilität, um eine relativ stabile Handelsstrategie für den Bereich zu realisieren. Der Schlüssel besteht darin, die Parameter-Einstellungen zu finden, die für den jeweiligen Markt am besten geeignet sind, um eine Balance zwischen Risiko und Ertrag zu erzielen. In der Zukunft können die Parameter und die Strategie-Regeln weiter optimiert werden oder mit einer Kombination von Trend-Trading-Strategien verwendet werden.

Strategiequellcode
/*backtest
start: 2023-11-05 00:00:00
end: 2023-11-12 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="[mdeacey] EMA% Channel + BB Range Strategy", shorttitle="[mdeacey] EMA% Channel + BB Range Strategy", overlay=true)

//EMA 200

len = input(title="EMA Length", type=input.integer, defval=200)
srce = input(title="EMA Source", type=input.source, defval=close)

ema1= ema(srce,len)

percent = input(title="Channel Percentage (%)", type=input.float, defval= 1) 
valuee = (percent*ema1)/100
upperbande = ema1 + valuee
lowerbande = ema1 - valuee


plot(ema1, title='EMA200', color=color.gray, linewidth=1, style=plot.style_line )
plot(upperbande, title='EMA Upper Band', color=color.gray, linewidth=1, style=plot.style_line )
plot(lowerbande, title='EMA Lower Band', color=color.gray, linewidth=1, style=plot.style_line )

length = input(20, minval=2)
src = input(close, title="Close price")
mult = input(2.0, minval=0.001, maxval=50)

MA2 = sma(src, length)
dev = mult * stdev(src, length)
upper = MA2 + dev
lower = MA2 - dev

signalColor = crossunder(close, upper) ? color.red : crossover(close, lower) ? color.green : color.white

barcolor(color=signalColor)


upperBand = plot(upper, color=color.gray, linewidth=1)
lowerBand = plot(lower, color=color.gray, linewidth=1)
fill(upperBand, lowerBand,color=color.gray)
strategy.entry("Long",true,when = crossover(close,lower)  and close <upperbande and close>lowerbande)
strategy.close("Long",when = crossunder(close,lowerbande))
strategy.entry("Short",false,when = crossunder(close,upper)  and close <upperbande and close>lowerbande)
strategy.close("Short",when = crossover(close,upperbande))

//Inputs
atrPeriod = input(defval=14, title="ATR Period",group='ATR Settings', type=input.integer) // Adjust this to change the ATR calculation length
multiplierPeriod = input(defval=1.75, title="ATR Multiplier Period",group='ATR Settings',  type=input.float)// Adjust this to change the distance between your candles and the line

//ATR Calculation
pine_rma(x, y) =>
    alpha = y
    sum = 0.0
    sum := (x + (alpha - 1) * nz(sum[1])) / alpha

true_range() =>
    max(high - low, max(abs(high - close[1]), abs(low - close[1])))

//Long SL
plot(low - pine_rma(true_range() * multiplierPeriod, atrPeriod), "Long Stop", color=color.red, offset = 1)
// Short SL
plot(high +pine_rma(true_range() * multiplierPeriod, atrPeriod), "Short Stop", color=color.red, offset = 1)
strategy.exit("Exit Long","Long",limit=upper ,stop = low - pine_rma(true_range() * multiplierPeriod, atrPeriod)  )
strategy.exit("eExit Short","Short",limit=lower ,stop =high +pine_rma(true_range() * multiplierPeriod, atrPeriod)  )