Die Strategie basiert auf dem Bollinger Bands-Indikator, der bei einem Preisbruch über die Bollinger Bands nach unten geht und bei einem Preisbruch über die Bollinger Bands nach oben platziert. Die Strategie nutzt die Inklusivität der Bollinger Bands, um ungewöhnliche Preisbruche zu verfolgen und zu verkaufen oder zu verkaufen.
Berechnen Sie den mittleren SMA für die Brin-Band und nehmen Sie einen einfachen Moving Average für den jüngsten Schlusskurs.
Die Berechnungsdifferenz ist StdDev und spiegelt die Bandbreite der Preisschwankungen wider.
Die mittlere SMA plus die Standarddifferenz-Abweichung wird von Brin auf die Strecke gebracht.
Die mittlere SMA minus die Standarddifferenz wird von Brin ausgeglichen.
Wenn der Schlusskurs von unten nach oben ausbricht, wird ein zusätzlicher Einstieg gemacht.
Wenn der Preis die Bahn berührt, wird er als außergewöhnlich eingestuft und der Kurs wird aufgelöst.
Der größte Vorteil dieser Strategie besteht darin, dass die statistischen Eigenschaften der Bollinger Bands-Indikatoren genutzt werden, um außergewöhnliche Marktschwankungen effektiv zu verfolgen und Trends zu erfassen. Im Vergleich zu herkömmlichen Moving-Average-Strategien hat die Bollinger Bands-Strategie mehr Vorteile:
Die Brin-Strecke kann sich automatisch an Marktschwankungen anpassen.
Ein Durchbruch als Einstiegssignal ist zuverlässiger.
Die Rückkehr zur Mitte ist als Stoppsignal angemessen.
Die Optimierung der Parameter ist groß und kann für verschiedene Märkte angepasst werden.
Es kann sowohl mittlere als auch längere Trends erfassen und auch für die Kurzlinie verwendet werden.
Die potenziellen Risiken dieser Strategie sind:
Die Brin-Band funktioniert nicht gut auf dem Horizontalmarkt.
Das Durchbruchsignal könnte ein falscher Durchbruch sein, es ist zu beurteilen.
Die Haltestellposition ist zu idealisiert und kann in der Praxis optimiert werden.
Die falsche Einstellung der Parameter kann zu zu häufigen oder konservativen Transaktionen führen.
Die Rücklaufphase sollte lang genug sein, um eine Kurvenpassung zu vermeiden.
Entsprechende Risikomanagementmaßnahmen:
In Kombination mit dem Handelsvolumen-Indikator filtert das Signal.
Optimierung der Parameter und Testen der Datenwirksamkeit für verschiedene Märkte.
Erweiterung der Bewegungssperre und der Rotationsstoppposition.
Die Bewertungssignale sind abweichend und verhindern die Verfolgung von Höhen und Tiefen.
Die Strategie kann optimiert werden durch:
Versuchen Sie mit verschiedenen Größen von Brin-Band-Parametern, um die beste Kombination zu finden.
Durchschnittslinie, MACD und andere Kennzahlen werden gefiltert, um die Durchbruchsignale zu erhöhen.
Anwendung von maschinellen Lernalgorithmen zur Optimierung von Brin-Band-Parametern.
Der Eintritt in den Markt wird von der Bewertung der Stärken und Schwächen und der Anpassung der Positionen begleitet.
Die Daten aus der langen Periode werden analysiert, um die Stabilität der Strategie zu testen.
Die Einführung von Stop-Loss-Mechanismen zur Risikokontrolle.
Die Brin-Band-Strategie ist im Allgemeinen eine zuverlässige Trend-Tracking-Strategie. Sie kann außergewöhnliche Preisschwankungen effektiv erfassen. Aber wir müssen auch darauf achten, dass sie von der tatsächlichen Situation abweicht, und die Parameter ständig optimieren.
/*backtest
start: 2023-09-11 00:00:00
end: 2023-09-12 04:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title="BB training No Repainting (OTS Mode)", overlay=true)
// Strategy Rules:
// 1. Enter trade when price crosses above the lower band
// 2. Exit trade when price touches the upper band
//
// Chart Properties
testStartYear = input(2010, "Backtest Start Year")
testStartMonth = input(01, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear, testStartMonth, testStartDay, 0, 0)
testStopYear = input(2030, "Backtest Stop Year")
testStopMonth = input(12, "Backtest Stop Month")
testStopDay = input(30, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear, testStopMonth, testStopDay, 0, 0)
// A switch to control background coloring of the test period
testPeriodBackground = input(title="Color Background?", type=input.bool, defval=true)
testPeriodBackgroundColor = testPeriodBackground and time >= testPeriodStart and time <= testPeriodStop ? #6c6f6c : na
bgcolor(testPeriodBackgroundColor, transp=97)
// User provided values
smaLength = input(title="SMA Length", type=input.integer, defval=20) // Middle band period length (moving average)
stdLength = input(title="StdDev Length", type=input.integer, defval=20) // Range to apply bands to
ubOffset = input(title="Upper Band Offset", type=input.float, defval=2.0, step=0.5) // Number of standard deviations above MA
lbOffset = input(title="Lower Band Offset", type=input.float, defval=2.0, step=0.5) // Number of standard deviation below MA
testPeriod() =>
time >= testPeriodStart and time <= testPeriodStop ? true : false
smaValue = sma(close, smaLength) // Middle band
stdDev = stdev(close, stdLength)
upperBand = smaValue + stdDev * ubOffset // Top band
lowerBand = smaValue - stdDev * lbOffset // Bottom band
// Plot bands to chart
plot(series=smaValue, title="SMA", color=color.green)
plot(series=upperBand, title="UB", color=color.blue, linewidth=2)
plot(series=lowerBand, title="LB", color=color.blue, linewidth=2)
longCondition = (crossover(close, lowerBand))
closeLongCondition = (close >= upperBand)
if (longCondition and testPeriod())
strategy.entry(id="CALL", long=true)
strategy.close(id="CALL", when=closeLongCondition)