Les ressources ont été chargées... Je charge...

Bollinger Bands Filtrage des écarts types doubles Stratégie de négociation quantitative de 5 minutes

Auteur:ChaoZhang est là., Date: 2024-04-30 16:03:11 Je suis désolé
Les étiquettes:BollBBSMAdétection

img

Résumé

Cette stratégie est basée sur l'indicateur des bandes de Bollinger et utilise un double filtre d'écart-type pour obtenir un trading rapide sur une période de 5 minutes. Elle achète lorsque le prix dépasse la bande inférieure et vend lorsqu'il dépasse la bande supérieure. Les bandes supérieure et inférieure sont définies par différents écarts-types et marquées de différentes couleurs, montrant visuellement la force de la tendance.

Principe de stratégie

  1. Calculer la ligne de base des bandes de Bollinger, bande supérieure 1, bande supérieure 2, bande inférieure 1 et bande inférieure 2.
  2. Générer un signal d'achat lorsque le prix de clôture dépasse la bande inférieure 1 par le bas.
  3. Générer un signal de vente lorsque le prix de clôture dépasse la bande supérieure 1 depuis le haut.
  4. Après avoir acheté, fermez la position lorsque le signal de vente apparaît.
  5. La bande supérieure 2 et la bande inférieure 2 indiquent la force de la tendance et fournissent un jugement auxiliaire.

Les avantages de la stratégie

  1. Le double écart-type améliore la précision du jugement de tendance.
  2. La fréquence de négociation élevée au niveau de 5 minutes est adaptée pour une entrée et une sortie rapides.
  3. Le jugement auxiliaire de la force de la tendance aide à contrôler les risques.
  4. Les paramètres réglables s'adaptent aux différents marchés.

Risques stratégiques

  1. Les échanges fréquents peuvent entraîner des commissions élevées.
  2. Les erreurs dans le jugement des tendances entraîneront des pertes.
  3. L'absence de mesures de stop-loss expose à des risques plus importants.
  4. Une prise en compte insuffisante des tendances unilatérales.

Directions d'optimisation de la stratégie

  1. Mettre en place des mécanismes de stop-loss et de take-profit pour contrôler les risques liés à une seule transaction.
  2. Optimiser les paramètres des bandes de Bollinger pour améliorer la capacité de capture des tendances.
  3. Ajouter des indicateurs auxiliaires pour le jugement de la tendance, tels que MA, pour augmenter le taux de gain.
  4. Mettre en place des conditions de filtrage pour les marchés à plage.

Résumé

Cette stratégie utilise les propriétés statistiques des bandes de Bollinger, avec un filtrage à deux couches pour améliorer le jugement des tendances, adapté pour capturer rapidement les opportunités de tendance au niveau de 5 minutes. Cependant, les problèmes liés au trading fréquent et aux mesures de contrôle des risques insuffisantes nécessitent encore une optimisation.


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


Relationnée

Plus de