Bollinger-Band-Mittelumkehrstrategie mit Intraday-Intensivitätsindex

Schriftsteller:ChaoZhang, Datum: 2024-02-20 15:07:59
Tags:

img

Übersicht

Diese Strategie ist eine mittlere Umkehrstrategie, die auf Bollinger Bands und Intraday Intensity Index basiert. Sie nutzt die Preisbreaks der oberen und unteren Bande der Bollinger Bands in Kombination mit dem Volumenindikator Intraday Intensity Index, um den Eintrittszeitpunkt zu bestimmen. Zu den Vorteilen dieser Strategie gehören: Gewinn aus der mittleren Umkehr der Preise zu erzielen und Signale mit Volumenindikatoren zu filtern.

Strategieprinzip

Die Strategie berechnet zunächst das mittlere Band, das obere Band und das untere Band der Bollinger-Bänder. Das mittlere Band ist der einfache gleitende Durchschnitt oder der exponentielle gleitende Durchschnitt des Schlusskurses. Die oberen und unteren Bande werden durch Addition/Subtraktion von zwei Standardabweichungen auf dem mittleren Band konstruiert. Wenn der Preis durch das untere Band bricht, wird es als Gelegenheit für eine mittlere Umkehr angesehen, indem er eine Long-Position einnimmt.

Als unterstützter Indikator für das Urteilen führt die Strategie den Intraday Intensity Index ein. Dieser Indikator kombiniert sowohl Preis- als auch Volumeninformationen. Wenn der Index positiv ist, zeigt er an, dass sich die Kaufkraft stärkt, was ein langes Signal gibt. Wenn der Index negativ ist, zeigt er an, dass sich die Verkaufskraft stärkt, was ein kurzes Signal gibt.

Für die Eröffnung von Positionen erfordert die Strategie sowohl den Preisbruch des Bollinger Bands Bands als auch das Urteil des Intraday Intensity Index-Indikators. Für den Stop-Loss setzt die Strategie einen zeitbasierten Stop-Loss ein. Wenn nach bestimmten Perioden keine Gewinne erzielt werden, wählt die Strategie den Verlust zu reduzieren und zu verlassen.

Analyse der Vorteile

Der größte Vorteil dieser Strategie besteht darin, die durchschnittliche Umstellung der Preise auf den Gewinn zu nutzen. Wenn die Preise nach statistischen Gesetzen große Abweichungen vom Durchschnitt haben, ist die Wahrscheinlichkeit, dass die Preise wieder zum Durchschnitt zurückkehren, relativ groß. Dies bietet die theoretische Grundlage für die Operationen der Strategie.

Ein weiterer Vorteil ist die Einführung eines Volumenindikators - Intraday Intensity Index, um Preissignale zu filtern. Handelsvolumina können die Gültigkeit von Preissignalen beweisen. Dies vermeidet die falschen Signale, die bei einigen gewaltsamen Preisschwankungen mit niedrigen Volumina erzeugt werden.

Risikoanalyse

Obwohl diese Strategie auf das Wahrscheinlichkeitsereignis von Preisdurchschnittsumkehrungen beruht, kann die zufällige Bewegung der Marktpreise dennoch einen Stop-Loss auslösen, der zu Verlusten führt.

Ein weiteres großes Risiko besteht darin, dass der Prozess der Wiederherstellung der Preise zu sich selbst ein relativ langer Zyklus ist. Für Anleger kann Kapital für einen bestimmten Zeitraum gehalten werden. Ein solches Zeitrisiko kann dazu führen, dass Anleger andere bessere Anlagemöglichkeiten verpassen.

Optimierungsrichtlinien

Die Strategie kann in folgenden Aspekten optimiert werden:

  1. Optimierung der Bollinger-Band-Parameter, Anpassung der Zyklus- und Abweichungsmetriken an die Volatilität verschiedener Märkte

  2. Versuchen Sie andere Arten von gleitenden Durchschnitten, wie gewichtete gleitende Durchschnitt, um die Glattigkeit zu erhöhen

  3. Versuchen Sie andere Arten von Volumenindikatoren und suchen Sie nach besseren Volumen-Preis-Bestätigungssignalen

  4. Hinzufügen von Stop-Loss/Profit-Taking-Strategien, Kontrolle des maximalen Verlusts pro Auftrag

Schlussfolgerung

Zusammenfassend ist diese Strategie eine typische Mittelumkehrstrategie. Sie profitiert von Wahrscheinlichkeitsereignissen, aber auch die Risiken sind offensichtlich. Bessere Ergebnisse können durch Anpassungen von Parametern und Optimierungen von Indikatoren erzielt werden. Für Anleger ist es aber auch wichtig, die Attribute dieser Strategie richtig zu erkennen.


/*backtest
start: 2024-01-20 00:00:00
end: 2024-02-19 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/

// Bollinger Bands Strategy with Intraday Intensity Index
// by SparkyFlary

//For Educational Purposes
//Results can differ on different markets and can fail at any time. Profit is not guaranteed.
strategy(title="Bollinger Bands Strategy with Intraday Intensity Index", shorttitle="Bollinger Bands Strategy", overlay=true)

BBlength = input(20, title="Bollinger Bands length")
BBmaType = input("SMA", title="Bollinger Bands MA type", type=input.string, options=["SMA", "EMA"])
BBprice = input(close, title="source")
timeStop = input(10, title="Time-based stop length")
BBmult = input(2.0, title="Bollinger Bands Standard Deviation")
withIII = input(true, title="with Intraday Intensity Index?")
IIIlength = input(21, title="Intraday Intensity Index length")

//function for choosing moving averages
f_ma(type, src, len) =>
    float result = 0
    if type == "SMA"
        result := sma(src, len)
    if type == "EMA"
        result := ema(src, len)
    result

//Intraday Intensity Index
k1 = (2 * close - high - low) * volume
k2 = high != low ? high - low : 1
i = k1 / k2
iSum = sum(i, IIIlength)

//Bollinger Bands
BBbasis = f_ma(BBmaType, BBprice, BBlength)
BBdev = BBmult * stdev(BBprice, BBlength)
BBupper = BBbasis + BBdev
BBlower = BBbasis - BBdev

plot(BBupper, title="Bollinger Bands Upper Line")
plot(BBlower, title="Bollinger Bands Lower Line")
plot(BBbasis, title="Bollinger Bands Mid line", color=color.maroon)

//Strategy
buy = close[1]<BBlower[1] and close>BBlower and (withIII ? iSum>0 : 1)
sell = close>BBbasis or buy[timeStop] or (strategy.openprofit>0 and buy==0 and buy[1]==0 and buy[2]==0 and buy[3]==0)
short = close[1]>BBupper[1] and close<BBupper and (withIII ? iSum<0 : 1)
cover = close<BBbasis or short[timeStop] or (strategy.openprofit>0 and short==0 and short[1]==0 and short[2]==0 and short[3]==0)

strategy.entry(id="enter long", long=true, when=buy)
strategy.close(id="enter long", comment="exit long", when=sell)
strategy.entry(id="enter short", long=false, when=short)
strategy.close(id="enter short", comment="exit short", when=cover)

Mehr