
Die Strategie nutzt Bolling-Band-Indikatoren, um Trends zu ermitteln und in Kombination mit Bandbreitensignalen nach Handelsmöglichkeiten zu suchen, um ein Portfolio zu stabilisieren. Die Strategie hat eine Gewinnrate von 78,95% und eine maximale Rücknahme von nur 4,02%, basierend auf Daten aus dem vergangenen Jahr.
Wenn Sie mit den aktuellen Ergebnissen zufrieden sind, können Sie diese in Lernen umwandeln und Alarme hinzufügen, um eine Strategie zu automatisieren. Dies erfordert die Erweiterung der Warnmechanismen in der Codierung. Wenn Sie daran interessiert sind, kann ich relevante Lernen auf der Grundlage dieser Strategie erstellen.
Die Strategie nutzt Bolling-Bänder und Bandbreiten, um die Einstiegs- und Ausstiegszeiten zu bestimmen.
Die Bollinger Bands umfassen die oberen, mittleren und unteren Linien. Die mittlere Linie ist der n-Tage-Simple Moving Average mit dem Parameter n, der 16 als Default annimmt. Die obere Grenze ist die mittlere Linie + k.*Standarddeviation, die untere Grenze ist die mittlere Linie - k*Die Standarddeviation, mit dem Parameter k, wird 3 angenommen. Wenn der Preis nahe an der Obergrenze ist, bedeutet dies, dass die Aktie zu hoch oder zu hoch ist. Wenn der Preis nahe an der Untergrenze ist, bedeutet dies, dass die Aktie zu niedrig oder zu hoch ist.
Der Bandbreitenindikator zeigt die relative Preisfluktuation in der Mittellinie. Es wird von ((up-down-line) / Mittellinie)*1000 wird berechnet. Wenn die Bandbreite unter 20 liegt, bedeutet das, dass die Situation ruhig oder stabil ist. Wenn die Bandbreite über 50 liegt, bedeutet dies, dass die Schwankungen zunehmen.
Die Strategie besteht darin, nach Möglichkeiten zu suchen, die untere Grenze zu überschreiten, wenn die Bandbreite zwischen 20 und 50 liegt. Nach dem Überschreiten wird die Stop-Line auf 108% des Eröffnungspreises festgelegt, oder bei einem Bruch der oberen Grenze wird ein Verlust ausgeschlossen.
Diese Strategie hat folgende Vorteile:
Die Verwendung von Bol-Bol-Sträben zur Beurteilung der Trendrichtung verringert die Gefahr von False-Breaks
Bandbreitsignale können Schwankungen präzise erkennen und Schwankungen verhindern.
Die Rückmeldung zeigt, dass man in einem Jahr fast 80% Gewinne erzielen kann, wobei die Gewinne und Risiken sehr hoch sind.
Maximaler Rückzug von weniger als 5%, Risiken können wirksam kontrolliert werden, Portfolio-Wachstum stabil gehalten
Die Strategie ist klar und einfach zu verstehen und kann für verschiedene Arten von digitalen Assets eingesetzt werden.
Die Strategie birgt auch folgende Risiken:
Die Bolling-Band-Parameter sind falsch eingestellt und könnten bessere Handelschancen verpassen
Die Handelsfrequenz kann zu niedrig sein und die Profitabilität begrenzt sein, wenn der Markt in einem Bären- oder Bärenwettbewerb andauert.
Unzureichende Rücklaufdaten, Rücklaufindikatoren können in der Praxis nicht reproduziert werden
Unter extremen Marktbedingungen kann der Stop-Loss-Punkt überschritten werden, was zu größeren Verlusten führt.
Zu hohe Transaktionsgebühren verringern auch die tatsächlichen Gewinne
Entsprechende Lösungen:
Optimierung von Parametern, Anpassung der Brin-Band-Zyklus für verschiedene Märkte usw.
Zusätzliche Einführung von anderen Indikatoren zur Beurteilung von Trends und zur Bewältigung von Ausnahmetendenzen
Sammeln Sie ausreichende Daten für verschiedene Marktergebnisse, um die Stabilität der Strategie zu überprüfen
Stellungen an den Stop-Loss-Punkten, um extreme Verluste zu verhindern
Handelsplattformen mit niedrigen Gebühren und damit weniger Kosten
Die Strategie kann optimiert werden durch:
Bring in volume confirmation to avoid false breakouts Erhöhung der Bestätigung der Menge, um falsche Breakouts zu vermeiden
Kombination mit Trendindikatoren zur Identifizierung der Trendrichtung
Verwenden Sie maschinelles Lernen, um Parameter anzupassen und sich automatisch an den Markt anzupassen
Add correlation filter to avoid trading uncorrelated assets Add correlation filter to avoid trading uncorrelated assets
Optimiere Take Profit/Stop Loss für mehr Gewinne während Aufwärtstrends
Einführung von mehr Bedingungsfiltern, um die Gewinnrate zu erhöhen
Test multi-timeframe combinations to profit from multiple cycles Test multi-timeframe combinations to profit from multiple cycles Test multi-timeframe combinations to profit from multiple cycles
Build indexed portfolio to expand exposure Erstellen eines indexierten Portfolios, um die Exposition zu erweitern
Verwenden Sie maschinelles Lernen, um neue Strategien automatisch zu generieren und zu validieren
Die Bolling-Schock-Breakout-Strategie hat insgesamt gute Rückmeldung und kann in einem Schock-Szenario stabilere Erträge erzielen. Die Kernidee der Strategie ist einfach und klar und die Anwendung ist leicht zu erlernen. Die Optimierung der Parameter, die Risikokontrolle und das Portfolio-Management müssen jedoch noch weiter verbessert werden, um in einem komplexen, wechselnden Markt eine stabile Gewinnspanne zu erzielen.
/*backtest
start: 2023-10-30 00:00:00
end: 2023-11-06 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Bollinger Bands BAT/USDT 30min", overlay=true )
/// Indicators
///Bollinger Bands
source = close
length = input(16, minval=1)
mult = input(3, step=0.1, minval=0.001, maxval=50)
basis = sma(source, length)
dev = mult * stdev(source, length)
upper = basis + dev
lower = basis - dev
plot(basis, color=color.red)
p1 = plot(upper, color=color.blue)
p2 = plot(lower, color=color.blue)
fill(p1, p2)
//Bollinger bands width
bbw = (upper-lower)/basis*1000
//plot(bbw, color=color.blue)
upper_bbw_input = input(title="BBW Upper Threshold", step=1, minval=0, defval=50)
lower_bbw_input = input(title="BBW Lower Threshold", step=1, minval=0, defval=20)
// Backtesting Period
testStartYear = input(2019, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)
testStopYear = input(2020, "Backtest Stop Year")
testStopMonth = input(12, "Backtest Stop Month")
testStopDay = input(31, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)
testPeriod() => true
// Take Profit
tp_inp = input(8, title='Take Profit %', step=0.1)/100
take_level = strategy.position_avg_price * (1 + tp_inp)
//Entry Strategy
entry_long = crossover(source, lower) and (bbw < upper_bbw_input) and (bbw > lower_bbw_input)
exit_long = cross(high,upper) or close < lower
if testPeriod()
strategy.entry(id="LongBB", long=true, comment="LongBB", when=entry_long)
strategy.exit("Take Profit Long","LongBB",limit=take_level)
strategy.close(id="LongBB", when=exit_long )