Stratégie de trading suivant la dynamique de rupture des bandes de Bollinger

MA SMA EMA SMMA WMA VWMA
Date de création: 2025-01-06 15:19:50 Dernière modification: 2025-01-06 15:19:50
Copier: 1 Nombre de clics: 530
1
Suivre
1617
Abonnés

Stratégie de trading suivant la dynamique de rupture des bandes de Bollinger

Aperçu

La stratégie est un système de trading suivant la dynamique basé sur l’indicateur des bandes de Bollinger. Il identifie les opportunités de cassure potentielles en surveillant la relation entre le prix et la bande de Bollinger supérieure et ferme la position lorsque le prix tombe en dessous de la bande de Bollinger inférieure. Les bandes de Bollinger se composent de trois lignes : la bande médiane (moyenne mobile), la bande supérieure et la bande inférieure (calculée à partir de l’écart type). La stratégie prend en charge plusieurs types de moyennes mobiles et peut ajuster les paramètres en fonction des préférences du trader.

Principe de stratégie

La logique fondamentale de la stratégie repose sur les points suivants :

  1. Signal d’entrée : lorsque le cours de clôture franchit la bande de Bollinger supérieure, cela indique que le marché pourrait avoir une forte tendance à la hausse et une position longue est ouverte à ce moment-là.
  2. Signal de sortie : lorsque le prix de clôture tombe en dessous de la bande de Bollinger inférieure, cela indique que la dynamique à la hausse est peut-être épuisée et qu’il est temps de fermer la position et de réaliser un profit.
  3. Calcul des bandes de Bollinger : la piste du milieu utilise un type de moyenne mobile facultatif (SMA, EMA, SMMA, WMA, VWMA), et les pistes supérieure et inférieure déterminent la bande passante par des multiples de l’écart type.
  4. Gestion des transactions : la stratégie exécute les transactions dans une fenêtre de temps spécifiée, utilise 100 % des fonds pour chaque transaction et prend en compte les commissions et les facteurs de glissement.

Avantages stratégiques

  1. Forte adaptabilité : prend en charge plusieurs types de moyennes mobiles et ajustements de paramètres, et peut s’adapter à différents environnements de marché.
  2. Gestion parfaite des risques : utilisez la piste inférieure de la bande de Bollinger comme point d’arrêt des pertes pour contrôler efficacement les risques.
  3. Confirmation de cassure : l’utilisation de la bande de Bollinger supérieure comme point d’entrée peut filtrer les fausses cassures.
  4. Gestion raisonnable des fonds : adopter une gestion des fonds à ratio fixe pour éviter un effet de levier excessif.
  5. Considérations relatives aux coûts de transaction : inclure les frais et les écarts dans le calcul est plus conforme à l’environnement commercial réel.

Risque stratégique

  1. Risque de marché volatil : de faux signaux sont susceptibles de se produire dans un marché latéral et volatil.
  2. Risque de décalage : la moyenne mobile présente un décalage et vous risquez de manquer la meilleure opportunité d’entrée.
  3. Sensibilité des paramètres : différentes combinaisons de paramètres peuvent entraîner de grandes différences dans les performances de la stratégie.
  4. Risque d’utilisation du capital : une allocation de 100 % du capital peut entraîner une baisse plus importante.

Orientation de l’optimisation de la stratégie

  1. Ajouter des indicateurs de confirmation de tendance : vous pouvez ajouter des indicateurs de tendance tels que ADX pour améliorer la précision de la saisie.
  2. Optimiser la gestion des fonds : introduire une gestion dynamique des positions et ajuster les positions en fonction des fluctuations du marché.
  3. Améliorez le mécanisme d’arrêt du profit : vous pouvez définir un point d’arrêt du profit dynamique pour gagner plus de profits sur un marché fort.
  4. Augmentez le filtrage de l’environnement de marché : ajoutez des indicateurs de volatilité pour éviter de trader dans des environnements de marché inappropriés.

Résumer

Il s’agit d’une stratégie de suivi des tendances basée sur les bandes de Bollinger, qui capture les tendances du marché en observant la relation entre le prix et les bandes de Bollinger. La stratégie est raisonnablement conçue et dispose d’une bonne capacité d’ajustement et d’un bon mécanisme de gestion des risques. Grâce aux orientations d’optimisation recommandées, la stabilité et la rentabilité de la stratégie peuvent être encore améliorées. Cette stratégie est particulièrement adaptée aux marchés présentant une volatilité plus élevée, mais les traders doivent ajuster les paramètres et les mesures de contrôle des risques en fonction des conditions réelles.

Code source de la stratégie
/*backtest
start: 2019-12-23 08:00:00
end: 2025-01-04 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(title="Demo GPT - Bollinger Bands Strategy", overlay=true, initial_capital=100000, commission_type=strategy.commission.percent, commission_value=0.1, slippage=3)

// Inputs
length = input.int(20, minval=1, title="Length")
maType = input.string("SMA", "Basis MA Type", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"])
src = input(close, title="Source")
mult = input.float(2.0, minval=0.001, maxval=50, title="StdDev")
offset = input.int(0, "Offset", minval=-500, maxval=500)
startDate = input(timestamp('01 Jan 2018 00:00 +0000'), title="Start Date")
endDate = input(timestamp('31 Dec 2069 23:59 +0000'), title="End Date")

// Moving Average Function
ma(source, length, _type) =>
    switch _type
        "SMA" => ta.sma(source, length)
        "EMA" => ta.ema(source, length)
        "SMMA (RMA)" => ta.rma(source, length)
        "WMA" => ta.wma(source, length)
        "VWMA" => ta.vwma(source, length)

// Calculations
basis = ma(src, length, maType)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev

// Plotting
plot(basis, "Basis", color=#2962FF, offset=offset)
p1 = plot(upper, "Upper", color=#F23645, offset=offset)
p2 = plot(lower, "Lower", color=#089981, offset=offset)
fill(p1, p2, title="Background", color=color.rgb(33, 150, 243, 95))

// Strategy Logic
inTradeWindow = true
longCondition = close > upper and inTradeWindow
exitCondition = close < lower and inTradeWindow

if (longCondition)
    strategy.entry("Long", strategy.long, qty=1)
if (exitCondition)
    strategy.close("Long")