Stratégie de rupture de la bande de volatilité basée sur un profil de retournement en mouvement


Date de création: 2023-09-19 13:29:51 Dernière modification: 2023-09-19 13:29:51
Copier: 0 Nombre de clics: 626
1
Suivre
1617
Abonnés

Aperçu

La stratégie est basée sur l’indicateur de la bande d’ondulation et introduit des contours de virage mobiles pour trouver des points de rupture potentiels. Elle calcule une bande d’ondulation qui se déplace vers l’avant et émet un signal de transaction lorsque le prix franchit cette bande d’ondulation qui se déplace vers l’avant. La stratégie combine la capacité de reconnaissance de la tendance puissante de la bande d’ondulation et la capacité d’alerte précoce fournie par les contours de virage mobiles pour trouver des points d’entrée plus efficaces.

Principe de stratégie

  1. Calculer la moyenne, la haute et la basse des bandes de fréquences ordinaires
  2. Déplacer le milieu, le haut et le bas de la bande d’onde en avant sur une période donnée
  3. Un signal d’achat est émis lorsque le prix se déplace vers l’avant en franchissant la ligne de bas vers le haut
  4. Un signal de vente est émis lorsque le prix franchit une ligne descendante qui se déplace vers l’avant de haut en bas
  5. Après l’entrée en jeu, utilisez la bande d’oscillation inverse comme arrêt de perte.

Analyse des avantages

  1. Les contours de virage mobiles fournissent une alerte précoce pour détecter les virages plus tôt
  2. Capacité de reconnaissance de tendances combinée à l’indicateur de bande d’ondulation lui-même pour améliorer la précision du signal
  3. Préparer un arrêt à l’avance permet de contrôler efficacement les risques
  4. Les positions positives sont mieux placées en fonction des tendances et des bandes.

Analyse des risques

  1. Une mauvaise configuration des paramètres peut entraîner un nombre trop élevé de signaux erronés
  2. Le déplacement du contour du virage peut entraîner une rupture du Preis et un arrêt de la voie médiane
  3. Il est nécessaire d’approfondir le jugement sur les tendances pour éviter d’être coincé dans un marché en crise.
  4. Il y a un certain retard, et on ne peut pas vraiment saisir le tournant.

Direction d’optimisation

  1. Tester différentes combinaisons de données et de paramètres sur les prix
  2. Ajout de conditions de filtrage additionnelles pour éviter les fausses percées
  3. Les indicateurs de tendance sont utilisés pour déterminer les grandes orientations et éviter les pièges.
  4. Optimisation de la stratégie de stop loss et ajustement de la marge de stop loss en fonction du marché
  5. Essayez de tester les effets sur différentes variétés et cycles
  6. Peut être combiné avec d’autres indicateurs pour trouver des points d’entrée plus précis

Résumer

La stratégie exploite pleinement les avantages de la bande d’ondulation elle-même et améliore l’efficacité de l’entrée en jeu en déplaçant le contour du virage. Sur la base d’une combinaison de paramètres optimisés, d’une augmentation des conditions de filtrage et d’une prise en compte supplémentaire des conditions de tendance, la stratégie peut devenir un système de rupture plus puissant.

Code source de la stratégie
/*backtest
start: 2023-09-11 00:00:00
end: 2023-09-18 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("LAGging span leaves Bollinger Bands strategy" , shorttitle="LagBB" , overlay=true)
source = input( hl2 )
length = input(20, minval=1)
mult = input( 1.0, minval=0.0, maxval=50)
x_offset = input( 26 ,minval=0 , maxval=244 )

basis = sma(source, length)
dev = mult * stdev(source, length)
upper = basis + dev
lower = basis - dev
buyEntry = crossover(source, upper[x_offset] )
sellEntry = crossunder(source, lower[x_offset] )
if (crossover(source, upper[x_offset] ))
    strategy.entry("LE", strategy.long, stop=lower, oca_name="BollingerBands",  comment="LE")
else
    strategy.cancel(id="LE")
if (crossunder(source, lower[x_offset] ))
    strategy.entry("SE", strategy.short, stop=upper, oca_name="BollingerBands",  comment="SE")
else
    strategy.cancel(id="SE")
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)
plot( upper , color=#cccc00 , transp=50 , offset=x_offset )
plot( basis , color=#cccc00 , offset=x_offset )
plot( lower , color=#cccc00 , transp=50 , offset=x_offset )