Trendfolgende Strategie auf Basis des Bollinger-Band-Oszillators

Schriftsteller:ChaoZhang, Datum: 2023-10-10 10:54:05
Tags:

Übersicht

Die Kernidee dieser Strategie besteht darin, Trends mithilfe des Bollinger-Band-Oszillators zu identifizieren und Positionen einzugeben, wenn sich die Trends ändern.

Strategie Logik

Die Strategie verwendet hauptsächlich den Bollinger-Band-Oszillator, um die Trendrichtung zu bestimmen.

BBO = (Close - N-day Moving Average) / (2 * N-day Standard Deviation) * 100

Bei dem Close der Schlusskurs ist, ist der N-Tage- gleitende Durchschnitt der N-Tage- einfache gleitende Durchschnitt des Schlusses und die N-Tage-Standard-Abweichung die N-Tage-Standard-Abweichung des Schlusses.

Die Strategie berechnet zuerst den 65-Tage-BBO, dann den 30-Tage- gleitenden Durchschnitt des BBO. Wenn der BBO über seinen MA überschreitet, signalisiert er einen Aufwärtstrend, geht lang. Wenn der BBO unter seinen MA überschreitet, signalisiert er einen Abwärtstrend, geht kurz.

Nach dem Eintritt in Positionen verwendet die Strategie bewegliche Stop Loss, feste Take Profit und Trailing Stop Loss, um Risiken zu kontrollieren und Gewinne zu erzielen.

Vorteile

  1. BBO ist empfindlich auf Trendveränderungen.

  2. Bewegt Stop Loss kontrolliert individuelle Verluste, wenn sich der Trend umkehrt.

  3. Festverzinsung bei korrekter Tendenz.

  4. Ein Trailing Stop Loss maximiert den Gewinn für einen einzigen Trade.

  5. Die Strategie ist einfach und intuitiv.

Risiken

  1. BBO kann falsche Signale geben.

  2. Unzulässiger Stop-Loss/Take-Profit kann zu früh ausfallen.

  3. Festverzinsung kann zu früh ausfallen und weitere Gewinne verpassen.

  4. Die Parameter müssen optimiert werden, um eine Überanpassung zu vermeiden.

  5. Potenziell hohe Abzüge, genügend Kapital erforderlich.

Optimierung

  1. Optimieren Sie die BBO- und MA-Parameter.

  2. Testen Sie verschiedene Stop-Loss-Methoden wie ATR, Prozent.

  3. Optimieren Sie den Fixed Take Profit und den Stop Loss.

  4. Fügen Sie Filter hinzu, um falsche Signale zu vermeiden.

  5. Optimierung der Positionsgröße für verschiedene Märkte.

  6. Testen Sie die Wirksamkeit der Strategie über Instrumente und Zeitrahmen hinweg.

Schlussfolgerung

Die Strategie identifiziert Trendveränderungen mit BBO und tritt entsprechend Positionen ein. Sie kontrolliert Risiken und sperrt Gewinne mit verschiedenen Arten von Exits. Die Strategie ist einfach und intuitiv, erfordert aber Parameteroptimierung.


/*backtest
start: 2022-10-03 00:00:00
end: 2023-10-09 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy(title="Strategy CCT Bollinger Band Oscillator", shorttitle="Hornkild", calc_on_order_fills=true, default_qty_type=strategy.percent_of_equity, default_qty_value=50, overlay=false)

length=input(65)
lengthMA=input(30)
src=close
cctbbo=100 * ( src + 2*stdev( src, length) - sma( src, length ) ) / ( 4 * stdev( src, length ) )

//ul=hline(100, color=gray, editable=true)
//ll=hline(0, color=gray)
//hline(50, color=gray)
//fill(ul,ll, color=blue)
//plot(cctbbo, color=blue, linewidth=2)
//plot(ema(cctbbo, lengthMA), color=red)

TP = input(0) * 10
SL = input(0) * 10
TS = input(1) * 10
TO = input(10) * 10
CQ = 100

TPP = (TP > 0) ? TP : na
SLP = (SL > 0) ? SL : na
TSP = (TS > 0) ? TS : na
TOP = (TO > 0) ? TO : na

longCondition = crossover(cctbbo, ema(cctbbo, lengthMA))
if (longCondition)
    strategy.entry("Long", strategy.long)


shortCondition = crossunder(cctbbo, ema(cctbbo, lengthMA))
if (shortCondition)
    strategy.entry("Short", strategy.short)

strategy.exit("Close Short", "Short", qty_percent=CQ, profit=TPP, loss=SLP, trail_points=TSP, trail_offset=TOP)
strategy.exit("Close Long", "Long", qty_percent=CQ, profit=TPP, loss=SLP, trail_points=TSP, trail_offset=TOP)

Mehr