La stratégie de rupture dynamique de Bollinger

Auteur:ChaoZhang est là., Date: 2024-01-26 14:52:59 Je suis désolé
Les étiquettes:

img

Résumé

Cette stratégie est une stratégie de trading de rupture basée sur l'indicateur Bollinger Bands. Elle calcule les rails supérieur et inférieur des Bollinger Bands et les combine avec des seuils d'achat et de vente dynamiquement réglables pour automatiser le trading de BTCUSDT sur Binance.

La logique de la stratégie

L'indicateur principal de cette stratégie est les bandes de Bollinger. Les bandes de Bollinger se composent d'une moyenne mobile de N jours et de bandes supérieures et inférieures tracées à un niveau d'écart type au-dessus et en dessous. Les bandes de Bollinger de cette stratégie ont une durée de 20 jours et un multiplicateur d'écart type de 2. Lorsque le prix approche ou touche le rail inférieur des bandes de Bollinger, il est considéré comme survendu et la stratégie ouvrira une position longue. Lorsque le prix approche ou touche le rail supérieur, il est considéré comme suracheté et la stratégie fermera les positions longues.

En plus de l'indicateur Bollinger Bands, cette stratégie introduit également deux paramètres réglables: seuil d'achat et seuil de vente. Le seuil d'achat est par défaut à 58 points en dessous de la bande inférieure et sert de condition d'entrée pour l'ouverture de positions longues. Le seuil de vente est par défaut à 470 points au-dessus de la bande inférieure et sert de condition de sortie pour la fermeture des positions. Ces seuils peuvent être ajustés dynamiquement en fonction des conditions réelles du marché et des résultats des tests antérieurs pour rendre la stratégie plus flexible.

Lorsque la condition d'achat est remplie, la stratégie ouvrira une position longue en utilisant 10% du capital du compte. Après avoir ouvert la position longue, si le prix augmente pour atteindre le niveau de stop loss (-125%), les positions seront fermées par des ordres de stop loss. Lorsque le prix augmente pour déclencher le seuil de vente, la stratégie choisira de fermer toutes les positions pour collecter des bénéfices.

Analyse des avantages

Les principaux avantages de cette stratégie sont les suivants:

  1. L' utilisation des bandes de Bollinger peut saisir les opportunités lorsque les prix s' écartent anormalement des bandes et tirer profit des renversements
  2. L'introduction de seuils d'achat et de vente réglables optimise les points d'entrée et de sortie
  3. L'adoption d'une taille de position partielle permet de contrôler le risque
  4. La mise en place de la condition stop-loss évite de nouvelles pertes
  5. Le backtesting avec des intervalles de 5 minutes peut saisir les opportunités de trading à court terme en temps opportun.

Analyse des risques

Cette stratégie comporte également certains risques:

  1. Bollinger Bands lui-même n'est pas fiable à 100%, les prix peuvent osciller plus bas pendant longtemps avant de tomber à nouveau
  2. Des paramètres de seuil incorrects peuvent entraîner le manque des meilleurs points d'entrée ou de sortie
  3. Le réglage de l'arrêt de perte trop lâche peut ne pas arrêter la perte à temps, ou trop serré peut provoquer un arrêt de perte trop sensible
  4. Une mauvaise sélection de la période de backtesting peut prendre certains bénéfices occasionnels comme un revenu stable

Les contre-mesures:

  1. Combiner plus d'indicateurs pour juger des conditions du marché et éviter les faux signaux des bandes de Bollinger
  2. Tester et optimiser les paramètres de seuil pour trouver la combinaison optimale
  3. Tester et optimiser les conditions de stop loss pour trouver un équilibre
  4. Adopter une période de test antérieur plus longue pour examiner la stabilité de la stratégie

Directions d'optimisation

La stratégie peut être encore optimisée dans les aspects suivants:

  1. Essayez de combiner d'autres indicateurs comme KD, RSI pour établir des règles d'entrée plus strictes, éviter d'entrer trop tôt ou trop tard
  2. Testez différentes combinaisons de paramètres de Bollinger Bands pour optimiser la longueur de bande et le multiplicateur d'écart type
  3. Optimiser les seuils d'achat et de vente pour améliorer le taux de profit
  4. Essayez d'adopter un taux de stop loss dynamique basé sur ATR pour correspondre à la volatilité du marché
  5. Optimiser la dimensionnement des positions, par exemple en disposant les positions en pyramide appropriée lorsqu'elles sont en profit afin de contrôler le risque de perte unique

Résumé

En résumé, il s'agit d'une stratégie de rupture globale simple et pratique. Elle adopte des bandes de Bollinger pour identifier les opportunités d'inversion et définit des seuils dynamiques pour l'entrée et la sortie. Pendant ce temps, des conditions raisonnables de taille de position et de stop-loss sont utilisées pour contrôler les risques. Après optimisation de plusieurs paramètres clés, cette stratégie peut produire des rendements relativement stables. Elle convient au trading algorithmique et peut également servir d'outil auxiliaire pour choisir des actions ou mesurer le sentiment du marché.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © SuperDS_BTC

//@version=5
strategy("布林通道策略多5min", overlay=true) 

// 布林通道计算
length = input(20, title="布林通道周期")
mult = input(2.0, title="标准差倍数")
basis = ta.sma(close, length)
dev = mult * ta.stdev(close, length)
upper = basis + dev
lower = basis - dev

// 计算买入数量:每次检查仓位的大小 
// 每次买入使用总资金的10%
position_size = strategy.equity * 10 / close 

// 定義可調整的閾值
buy_threshold = input(58, title="買入閾值")
exit_threshold = input(470, title="賣出閾值")

// 买入条件:当现价低于布林通道的下限减去 buy_threshold
buy_condition = close < lower - buy_threshold

// 卖出条件和结清仓位条件
exit_condition = close > lower + exit_threshold

// 买入逻辑
if buy_condition
    strategy.entry("BuyLong", strategy.long, qty=position_size, comment="LongBTC")

// 卖出逻辑
if exit_condition
    strategy.close("BuyLong")

// 止损逻辑
stop_loss_percent = -1.25 //止损百分比为-125%
if strategy.position_size > 0
    position_profit_percent = (strategy.position_avg_price - close) / strategy.position_avg_price * 100
    if position_profit_percent <= stop_loss_percent
        strategy.close("BuyLong")

Plus de