Esta estrategia es un sistema de negociación cuantitativo basado en el indicador Bollinger Bands, que captura las tendencias del mercado a través de señales de avance de rango dinámico.
La estrategia utiliza una media móvil de 20 períodos como eje central, tomando 2 veces la desviación estándar hacia arriba y hacia abajo para formar canales dinámicos. Cuando el precio rompe el carril inferior, se ve como una señal de sobreventa, y el sistema compra con posición completa; cuando el precio rompe el carril superior, se ve como una señal de sobrecompra, y el sistema vende con posición completa. La volatilidad se mide a través de la desviación estándar para garantizar la adaptabilidad dinámica de las señales de negociación. Mientras tanto, la estrategia integra un sistema de gestión de fondos, ajustando automáticamente el tamaño de la posición de acuerdo con el capital de la cuenta. Además, la estrategia incluye una interfaz de negociación automatizada que puede lograr una ejecución automatizada a través de WebHook con los intercambios.
Esta estrategia construye un sistema de negociación cuantitativo completo a través del indicador técnico de Bollinger Bands, que combina la gestión de fondos y la ejecución automatizada, poseyendo una gran practicidad. Aunque hay ciertas limitaciones, a través de las direcciones de optimización sugeridas, la estabilidad y rentabilidad de la estrategia se pueden mejorar aún más.
/*backtest start: 2024-11-26 00:00:00 end: 2024-12-25 08:00:00 period: 3h basePeriod: 3h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Bollinger Bands Strategy", overlay=true, initial_capital=86, default_qty_type=strategy.percent_of_equity) // Parameter für die Bollinger-Bänder length = input.int(20, title="Bollinger Bands Length") mult = input.float(2.0, title="Bollinger Bands Multiplier") // Berechnung der Bollinger-Bänder basis = ta.sma(close, length) upper = basis + mult * ta.stdev(close, length) lower = basis - mult * ta.stdev(close, length) // Startkapital usdt_balance = 86.0 // Anfangsbetrag in USDT zerebro_balance = 52.0 // Anfangsbetrag in ZEREBRO // Bedingungen für Kauf- und Verkaufssignale longCondition = ta.crossover(close, lower) shortCondition = ta.crossunder(close, upper) // Kauf- und Verkaufslogik if (longCondition and usdt_balance > 0) strategy.entry("Buy", strategy.long, qty=usdt_balance / close) usdt_balance := 0 // Alle USDT werden verwendet zerebro_balance += strategy.position_size // Gekaufte ZEREBRO hinzufügen if (shortCondition and zerebro_balance > 0) strategy.close("Buy") usdt_balance += strategy.position_size * close // Verkaufserlös in USDT zerebro_balance := 0 // Alle ZEREBRO verkauft // Plot der Bollinger-Bänder plot(basis, color=color.blue, title="Basis") plot(upper, color=color.green, title="Upper Band") plot(lower, color=color.red, title="Lower Band") // Alerts für Bybit-Verbindung alertcondition(longCondition, title="Buy Alert", message='{"action": "buy", "symbol": "ZEREBRO/USDT"}') alertcondition(shortCondition, title="Sell Alert", message='{"action": "sell", "symbol": "ZEREBRO/USDT"}') // Automatische Verknüpfung mit Bybit // Stellen Sie sicher, dass Sie den Webhook-URL in TradingView einstellen und korrekt mit Bybit verbinden.