Stratégie de trading à double écart type basée sur les bandes de Bollinger


Date de création: 2023-12-18 17:23:42 Dernière modification: 2023-12-18 17:23:42
Copier: 0 Nombre de clics: 746
1
Suivre
1621
Abonnés

Stratégie de trading à double écart type basée sur les bandes de Bollinger

Aperçu

Cette stratégie est une stratégie de négociation basée sur le modèle de l’écart double standard de la ceinture de Brin. Elle utilise l’écart supérieur et inférieur de la ceinture de Brin et les écarts un et deux standards comme signaux de négociation.

Principe de stratégie

La stratégie commence par calculer le milieu, le haut et le bas de la bande de Brin. Le milieu est le SMA de CLOSE et le haut est le milieu + 2*La norme est mauvaise, la voie inférieure est la voie médiane-2*L’écart-type. Il génère un signal d’achat lorsque le prix atteint la barre supérieure et un signal de vente lorsque le prix atteint la barre inférieure. De plus, la stratégie trace des lignes de milieu + 1 écart-type et de milieu - 1 écart-type.

  1. Calculer le SMA de CLOSE comme la voie médiane de la bande de Bryn
  2. Calculer le décalage standard STD de CLOSE et calculer 2*STD
  3. La voie médiane + 2*La STD est en orbite pour Brin, orbite centrale-2*Le STD a mis Brin sur le mauvais chemin
  4. Faire plus lorsque le prix se relève
  5. Faire une pause lorsque le prix est en baisse
  6. La voie centrale + 1*STD comme une ligne de stop loss, si la ligne de stop loss est franchie, la position est levée

Avantages stratégiques

  1. Utilisation d’une conception à double écart de normes, plus stricte sur les jugements de rupture, pour éviter les faux signaux
  2. Conception à double ligne d’arrêt pour une maîtrise maximale des risques
  3. L’optimisation des paramètres est large, la moyenne orbitale et le multiple de la différence standard sont ajustables
  4. Le retrait peut être contrôlé en ajustant le stop loss

Risque stratégique

  1. La stratégie de la ceinture de Brin est sujette à de fausses percées, ce qui entraîne des signaux de trading inexacts.
  2. Les réglages du double écart et du double stop-loss peuvent être trop stricts, ce qui réduit les chances de suppression du signal.
  3. Une mauvaise configuration des paramètres peut augmenter le risque stratégique
  4. Les contrôles de retrait ne sont pas parfaits et ne permettent pas de contrôler efficacement les pertes dans des situations extrêmes.

Orientation de l’optimisation de la stratégie

  1. On peut envisager de filtrer les signaux de négociation de la bande de tambour en combinaison avec d’autres indicateurs, afin d’éviter les fausses percées.
  2. Il est possible de tester différents paramètres et d’optimiser les paramètres pour obtenir un meilleur rapport de rétractation des gains.
  3. Des mécanismes d’arrêt dynamiques peuvent être conçus, tels que l’arrêt de type de suivi ou l’arrêt du ratio de solde
  4. Paramètres d’optimisation automatique qui peuvent être combinés avec des algorithmes d’apprentissage automatique

Résumer

Cette stratégie est une stratégie de rupture typique des bandes de Brindille. Elle utilise un double écart standard pour améliorer la rigueur de la décision du signal et un double contrôle des risques par des lignes de stop-loss.

Code source de la stratégie
/*backtest
start: 2022-12-11 00:00:00
end: 2023-12-17 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
// Bollinger Bands: Madrid : 14/SEP/2014 11:07 : 2.0
// This displays the traditional Bollinger Bands, the difference is 
// that the 1st and 2nd StdDev are outlined with two colors and two
// different levels, one for each Standard Deviation

strategy(shorttitle='MBB', title='Bollinger Bands', overlay=true)
src = input(close)
length = input.int(34, minval=1)
mult = input.float(2.0, minval=0.001, maxval=50)

basis = ta.sma(src, length)
dev = ta.stdev(src, length)
dev2 = mult * dev

upper1 = basis + dev
lower1 = basis - dev
upper2 = basis + dev2
lower2 = basis - dev2

colorBasis = src >= basis ? color.blue : color.orange

pBasis = plot(basis, linewidth=2, color=colorBasis)
pUpper1 = plot(upper1, color=color.new(color.blue, 0), style=plot.style_circles)
pUpper2 = plot(upper2, color=color.new(color.blue, 0))
pLower1 = plot(lower1, color=color.new(color.orange, 0), style=plot.style_circles)
pLower2 = plot(lower2, color=color.new(color.orange, 0))

fill(pBasis, pUpper2, color=color.new(color.blue, 80))
fill(pUpper1, pUpper2, color=color.new(color.blue, 80))
fill(pBasis, pLower2, color=color.new(color.orange, 80))
fill(pLower1, pLower2, color=color.new(color.orange, 80))

// Entry conditions
longCondition = ta.crossover(close, upper1)
shortCondition = ta.crossunder(close, lower1)

// Entry and exit strategy
strategy.entry("Buy", strategy.long, when=longCondition)
strategy.entry("Sell", strategy.short, when=shortCondition)

strategy.close("Buy", when=shortCondition)
strategy.close("Sell", when=longCondition)