Cette stratégie est un système de trading quantitatif basé sur l'indicateur Bollinger Bands, capturant les tendances du marché à travers des signaux de rupture de gamme dynamique.
La stratégie utilise une moyenne mobile de 20 périodes comme axe central, prenant 2 fois l'écart type vers le haut et vers le bas pour former des canaux dynamiques. Lorsque le prix traverse le rail inférieur, il est considéré comme un signal de survente, et le système achète avec une position complète; lorsque le prix traverse le rail supérieur, il est considéré comme un signal de surachat, et le système vend avec une position complète. La volatilité est mesurée à travers l'écart type pour assurer l'adaptabilité dynamique des signaux de trading. Pendant ce temps, la stratégie intègre un système de gestion de fonds, ajustant automatiquement la taille de position en fonction du capital du compte.
Cette stratégie construit un système de négociation quantitatif complet à travers l'indicateur technique des bandes de Bollinger, combinant la gestion de fonds et l'exécution automatisée, possédant une forte praticité. Bien qu'il existe certaines limitations, grâce aux directions d'optimisation suggérées, la stabilité et la rentabilité de la stratégie peuvent être encore améliorées.
/*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.