Stratégie de trading quantitatif à double filtre avec écart type de bande de Bollinger sur cinq minutes

Boll BB SMA stdev
Date de création: 2024-04-30 16:03:11 Dernière modification: 2024-04-30 16:03:11
Copier: 0 Nombre de clics: 720
1
Suivre
1617
Abonnés

Stratégie de trading quantitatif à double filtre avec écart type de bande de Bollinger sur cinq minutes

Aperçu

La stratégie est basée sur l’indicateur de la ceinture de Brin, filtrée par un double écart standard, permettant des transactions rapides sur une période de 5 minutes. Les cours sont achetés lorsque le cours descend et vendus lorsque le cours monte. Les hauts et les bas sont définis par différents écarts standards et utilisent différents symboles de couleurs pour afficher intuitivement la force et la faiblesse de la tendance.

Principe de stratégie

  1. Calculer la ligne de référence de la ceinture de Brin, la voie supérieure 1, la voie supérieure 2, la voie inférieure 1 et la voie inférieure 2.
  2. Un signal d’achat est généré lorsque le prix de clôture traverse la direction du bas de la trajectoire 1.
  3. Un signal de vente est généré lorsque le prix de clôture traverse la direction du haut de la ligne 1 vers le bas.
  4. Après avoir acheté, il est à plat quand il y a un signal de vente. Après avoir vendu, il est à plat quand il y a un signal de vente.
  5. Les rails supérieurs et inférieurs identifient l’intensité de la tendance et fournissent un jugement auxiliaire.

Avantages stratégiques

  1. Le réglage de l’écart-type double améliore la précision de la détection des tendances.
  2. La fréquence de transaction est élevée à 5 minutes, ce qui est approprié pour les transactions rapides et rapides.
  3. Le jugement de la force de la tendance aide à contrôler le risque.
  4. Les paramètres peuvent être ajustés pour s’adapter à différents marchés.

Risque stratégique

  1. Les transactions fréquentes peuvent entraîner des frais élevés.
  2. Il y a des pertes à juger les tendances.
  3. Le manque de mesures préventives entraîne une exposition accrue.
  4. Les tendances unilatérales sont mal connues.

Orientation de l’optimisation de la stratégie

  1. La mise en place de mécanismes de stop-loss et de stop-loss pour contrôler les risques liés à une seule transaction.
  2. Optimiser les paramètres des bandes de Bryn pour améliorer la capacité de capture des tendances.
  3. L’ajout d’indicateurs auxiliaires tels que la MA pour évaluer les tendances augmente le taux de réussite.
  4. Les conditions de filtrage sont définies pour les tremblements de terre.

Résumer

La stratégie utilise les caractéristiques statistiques de la bande de Bryn, le double filtrage pour améliorer la détection des tendances, adapté pour capturer rapidement les opportunités de tendance au niveau de 5 minutes. Cependant, les problèmes de fréquence des transactions et l’insuffisance des mesures de contrôle du vent doivent encore être optimisés.

Code source de la stratégie
/*backtest
start: 2024-03-01 00:00:00
end: 2024-03-31 23:59:59
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
//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("Five Min Scalping Strategy", overlay=true)

src = input(close, title="Source")
length = input.int(20, minval=1, title="Length")
mult = input.float(2.0, minval=0.001, maxval=50, title="Multiplier")

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

LongCondition = close[1] < lower1 and close > lower1
ShortCondition = close[1] > upper1 and close < upper1

strategy.entry("Long", strategy.long, when = LongCondition)
strategy.entry("Short", strategy.short, when = ShortCondition)

strategy.close("Long", when = ShortCondition)
strategy.close("Short", when = LongCondition)

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), style=plot.style_circles)
pLower1 = plot(lower1, color=color.new(color.orange, 0), style=plot.style_circles)
pLower2 = plot(lower2, color=color.new(color.orange, 0), style=plot.style_circles)

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))