Trendumkehrstrategie basierend auf Bollinger-Bändern


Erstellungsdatum: 2023-11-01 11:29:34 zuletzt geändert: 2023-11-01 11:29:34
Kopie: 0 Klicks: 702
1
konzentrieren Sie sich auf
1617
Anhänger

Trendumkehrstrategie basierend auf Bollinger-Bändern

Überblick

Die Strategie basiert auf Bollinger Bands und Moving Averages, um zu beurteilen, ob die Preise nahe der Bollinger Bands nach unten sind, um eine LONG oder SHORT-Position einzugehen und so zu profitieren. Wenn die Preise die Bollinger Bands aufwärts brechen, ist es zu hoch; wenn die Preise die Bollinger Bands unterwärts brechen, ist es zu hoch. Es kombiniert die Vorteile der beiden Handelsstrategien Trendwende und Breakout, um bessere Gewinne zu erzielen, wenn der Trend schwankt.

Grundsätze

Die Strategie richtet sich vor allem an zwei Eintrittssignale:

  1. Mehrkopfsignal: Wenn der Schlusskurs die Unterbahn berührt und der Schlusskurs über der EMA-Mittellinie liegt, ist der vorherige K-Linie-Wert negativ und der aktuelle K-Linie-Wert positiv.

  2. Blank Signal: Wenn der Schlusskurs die Oberbahn berührt und der Schlusskurs unterhalb der EMA-Mittellinie liegt, ist die vorherige K-Line-Einheit die Sonnenlinie und die aktuelle K-Line-Einheit die Negation.

Stop-Loss-Methode: Fixed-Stop-Loss. Der Stop-Loss-Punkt ist ein Risiko-Return-Faktor, das das Risiko des Einstiegspreises auf die Entfernung des Gegners von der Straße um ein Vielfaches erhöht.

Stopp-Methode: Ziel ist es, den Gegner auf die Schiene zu bringen. Das heißt, mehr Stopps sind unter der Schiene und leere Stopps sind auf der Schiene.

Vorteile

  1. Die Kombination von Vorteilen von Trend- und Umkehrungsstrategien kann bei Trendschwankungen besser funktionieren.

  2. Der Bollinger Bands Index ist eine Methode, um Überkauf- und Überverkaufszonen zu ermitteln und die Chancen auf eine Umkehrung zu bestimmen.

  3. Der Fixed Stop-Loss-Punkt ist vernünftiger und hilft bei der Risikokontrolle.

  4. Das ist eine sehr gute Idee, um den Profit zu maximieren.

Die Gefahr

  1. Die Strategie des Durchbruchs kann leicht arbitragiert werden.

  2. Wenn die Situation zu unruhig ist, kann der Stop-Loss häufig ausgelöst werden.

  3. Der Fixed Stop-Loss kann nicht an Marktbewegungen angepasst werden und kann zu locker oder zu radikal sein.

  4. Wenn die Brin-Band-Parameter nicht richtig eingestellt sind, kann es zu schlechten Ergebnissen kommen.

Optimierung

  1. Es kann in Betracht gezogen werden, ein eingehendes Signal mit einer Kombination von RSI-Indikatoren zu filtern, z. B. wenn der RSI höher als 50 ist, wird mehr getan, und wenn der RSI niedriger als 50 ist, wird weniger getan, um Fehlsignale zu vermeiden.

  2. Hinzugefügt wurde die Funktion, die Feststop-Distanz automatisch anzupassen, um die Stop-Distanz flexibler zu machen. Zum Beispiel wird die Stop-Distanz dynamisch nach den ATR-Indikatoren eingestellt.

  3. Optimierung der Bryn-Band-Parameter und Suche nach der optimalen Kombination der Parameter.

  4. Verschiedene EMA-Gehaltsparameter können getestet werden, um den Schutzwall-Effekt der Gehaltslinie zu optimieren.

Zusammenfassen

Die Strategie berücksichtigt Trends und Umkehrungen, nutzt die Brin-Band, um Überkauf-Überverkaufsposten zu bestimmen, und maximiert die Gewinne durch mobile Stopps. Sie funktioniert besser bei Trendschwankungen. Sie muss jedoch darauf achten, dass Sie nicht eingehalten werden, und die Parameter müssen angepasst werden, um die Strategie zu optimieren.

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

//@version=4

// Welcome to yet another script. This script was a lot easier since I was stuck for so long on the Donchian Channels one and learned so much from that one that I could use in this one
// This code should be a lot cleaner compared to the Donchian Channels, but we'll leave that up to the pro's
// This strategy has two entry signals, long = when price hits lower band, while above EMA, previous candle was bearish and current candle is bullish
// Short = when price hits upper band, while below EMA, previous candle was bullish and current candle is bearish
// Take profits are the opposite side's band(lower band for long signals, upper band for short signals). This means our take profit price will change per bar
// Our stop loss doesn't change, it's the difference between entry price and the take profit target divided by the input risk reward
// At the time of writing this, I could probably calculate that much easier by simply multiplying the opposite band by the input risk reward ratio
// Since I want to get this script out and working on the next one, I won't clean that up, I'm sorry
// strategy(shorttitle="BB Trending Reverse Strategy", title="Bollinger Bands Trending Reverse Strategy", overlay=true, default_qty_type = strategy.cash, default_qty_value = 150, initial_capital = 1000, currency = currency.USD, commission_type = "percent", commission_value = 0.036)

// The built-in Bollinger Band indicator inputs and variables, added some inputs of my own and organised the code
length              = input(20, minval=1)
src                 = input(close, title="Source")
mult                = input(2.0, minval=0.001, maxval=50, title="StdDev")
emaInput            = input(title = "EMA Input", type = input.integer, defval = 200, minval = 10, maxval = 400, step = 1)
riskreward          = input(title = "Risk/Reward Ratio", type = input.float, defval = 1.50, minval = 0.01, maxval = 100, step = 0.01)
offset              = input(0, "Offset", type = input.integer, minval = -500, maxval = 500)
basis               = sma(src, length)
dev                 = mult * stdev(src, length)
upper               = basis + dev
lower               = basis - dev
ema                 = ema(close, emaInput)

// These are our conditions as explained above
entryLong           = low[1] <= lower[1] and low <= lower and low > ema
entryShort          = high[1] >= upper[1] and high >= upper and high < ema
reversecandleLong   = close > open and close[1] < open[1]
reversecandleShort  = close < open and close[1] > open[1]
var stopLong        = 0.0
var stopShort       = 0.0

// These are our entry signals, notice how the stop condition is within the if statement while the strategy.exit is outside of the if statement, this way the take profit targets trails up or down depending on what the price does
if reversecandleLong and entryLong and strategy.position_size == 0
    stopLong := (((close / upper - 1) * riskreward + 1) * close)
    strategy.entry("Long Entry", strategy.long, comment = "Long Entry")
    
strategy.exit("Exit Long", "Long Entry", limit = upper, stop = stopLong, comment = "Exit Long")

if reversecandleShort and entryShort and strategy.position_size == 0
    stopShort := (((close / lower - 1) / riskreward + 1) * close)
    strategy.entry("Short Entry", strategy.short, comment = "Short Entry")

strategy.exit("Exit Short", "Short Entry", limit = lower, stop = stopShort, comment = "Exit Short")


// The built-in Bollinger Band plots
plot(basis, "Basis", color=#872323, offset = offset)
p1 = plot(upper, "Upper", color=color.teal, offset = offset)
p2 = plot(lower, "Lower", color=color.teal, offset = offset)
fill(p1, p2, title = "Background", color=#198787, transp=95)
plot(ema, color=color.red)

// These plots are to check the stoplosses, they can  make a mess of your chart so only use these if you want to make sure these work
// plot(stopLong)
// plot(stopShort)