BB Keltner Stratégie de négociation à la pression

Auteur:ChaoZhang est là., Date: le 25 septembre 2023 à 17h38
Les étiquettes:

Résumé

La stratégie de trading BB Keltner Squeeze identifie les renversements de tendance en recherchant des compressions entre les bandes de Bollinger et les canaux de Keltner. C'est une stratégie de trading à court terme.

Principes de stratégie

Les principes fondamentaux de cette stratégie sont les suivants:

  1. Les bandes de Bollinger mesurent la volatilité des prix. Il a des bandes supérieures, moyennes et inférieures pour identifier si le prix est dans une condition volatile.

  2. Les canaux de Keltner valident les signaux de Bollinger. Les canaux de Keltner mesurent également la volatilité des prix. Lorsque le prix se rapproche des bandes de Bollinger, une pression avec Keltner signifie une volatilité accrue et des renversements potentiels.

  3. Les signaux commerciaux sont générés en fonction des compressions. Les ruptures au-dessus de la bande supérieure de Bollinger avec un rétrécissement de Keltner en dessous du signal longs. Les ruptures au-dessous de la bande inférieure de Bollinger avec un rétrécissement de Keltner au-dessus du signal court.

  4. La bande du milieu indique la direction de la tendance. Les prix au-dessus de la bande du milieu signalent une tendance haussière et en dessous une tendance baissière.

  5. Les entrées et les sorties sont basées sur la direction de la bande moyenne.

La stratégie complète les bandes de Bollinger avec les canaux de Keltner pour identifier les points de renversement.

Les avantages

Les principaux avantages de cette stratégie sont les suivants:

  1. La combinaison de deux indicateurs améliore la fiabilité du signal, en évitant les fausses ruptures d'un seul indicateur.

  2. Identification claire de tendance en utilisant la bande moyenne.

  3. Logique d'entrée/sortie flexible basée sur la correspondance de la bande moyenne.

  4. Il capture les écarts à court terme et les compressions pour des profits rapides.

  5. Des visuels intuitifs mettent en évidence les compressions, la bande médiane, l'histogramme MACD, etc. Une représentation graphique propre.

  6. Facile à mettre en œuvre et à répliquer. Une logique simple et des paramètres configurables facilitent l'adoption.

Les risques

Les principaux risques à prendre en considération sont les suivants:

  1. Les compressions peuvent déclencher une série de transactions perdantes lors de fortes tendances.

  2. Le risque d'échec est faible, les échecs de Bollinger peuvent être de courte durée.

  3. Risque d'optimisation des paramètres. Une mauvaise réglage des bandes et des canaux peut dégrader les performances. Requiert des tests rigoureux.

  4. Risque de marché haussier: courts excédentaires déclenchés par des tendances haussières prolongées.

  5. Risque de négociation à haute fréquence: le caractère à court terme peut augmenter les coûts liés aux frais et aux glissements.

  6. Risque de défaillance de l'indicateur: les signaux peuvent cesser de fonctionner dans des conditions extrêmes.

Les risques nécessitent une gestion active par le biais d'arrêt des pertes, de la taille des positions, de l'ajustement des paramètres et d'une planification d'urgence robuste.

Des possibilités d'amélioration

Les moyens d'améliorer la stratégie sont les suivants:

  1. Incorporer des indicateurs supplémentaires pour renforcer les signaux, améliorer le taux de victoire.

  2. Ajouter des mécanismes de stop loss comme les trailing stops ou les ATR stops pour limiter les pertes.

  3. Optimiser les paramètres des bandes et des canaux par des tests rigoureux.

  4. Ajuster la taille des positions en fonction des conditions du marché et de la force de la tendance.

  5. Appliquer l'apprentissage automatique pour l'optimisation des paramètres, l'amélioration du signal et l'adaptation.

  6. Distinguer les régimes haussier et baissier. Réduire les transactions contre-trend lors d'un biais directionnel fort.

  7. Complétez avec des indicateurs de volume et de momentum pour enrichir la diversité du signal.

Avec des améliorations continues, la stratégie peut devenir un système de négociation à court terme robuste et cohérent sur divers marchés.

Conclusion

La stratégie BB Keltner Squeeze capitalise sur les renversements de prix grâce à des compressions entre les bandes de Bollinger et les canaux de Keltner. Elle combine des indicateurs doubles pour des signaux à haute probabilité, utilise la bande moyenne pour mesurer la direction de la tendance et identifie les renversements imminents via des compressions. La stratégie convient aux traders à court terme à la recherche d'opportunités fréquentes. Cependant, le contrôle du retrait et l'ajustement des paramètres sont essentiels.


/*backtest
start: 2023-09-17 00:00:00
end: 2023-09-24 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("BB Keltner Squeeze Strategy", overlay=true, initial_capital=10000, currency='USD')
length = input(title="Length", type=input.integer, defval=20, minval=0)
src = input(close, title="Source")
bband(length, mult) =>
    sma(close, length) + mult * stdev(close, length)
keltner(length, mult) =>
    ema(close, length) + mult * ema(tr, length)


//BB
B2mult = input(2.0, minval=0.001, maxval=50, title="Band 1 StDev")
B2basis = sma(src, length)
B2dev = B2mult * stdev(src, length)
B2upper = B2basis + B2dev
B2lower = B2basis - B2dev
plot(B2basis, color=color.blue)
p1 = plot(B2upper, color=#00ffff, linewidth=2, title="Band 2SD upper")
p2 = plot(B2lower, color=#00ffff, linewidth=2, title="Band 2SD lower")

//Keltner
useTrueRange = input(true)
Kmult = input(1.5, title="Keltner Range")
Kma = ema(src, length)
Krange = useTrueRange ? tr : high - low
Krangema = ema(Krange, length)
Kupper = Kma + Krangema * Kmult
Klower = Kma - Krangema * Kmult
p5 = plot(Kupper, color=color.yellow, linewidth=2, style=plot.style_circles, title="Keltner upper")
p6 = plot(Klower, color=color.yellow, linewidth=2, style=plot.style_circles, title="Keltner lower")


e1 = (highest(high, length) + lowest(low, length)) / 2 + sma(close, length)
osc = linreg(close - e1 / 2, length, 0)
diff = bband(length, 2) - keltner(length, 1)
osc_color = osc[1] < osc[0] ? osc[0] >= 0 ? #00ffff : #cc00cc : 
   osc[0] >= 0 ? #009b9b : #ff9bff
mid_color = diff >= 0 ? color.green : color.red
fromYear = year > 2014
toYear = year < 2016


direction = 0
squeeze = Kupper > B2upper
midc = 0
midc := squeeze ? 0 : close > B2basis ? 1 : 2
midcolor = midc == 0 ? #666666 : midc == 1 ? #00ff00 : #ff0000
direction := midc[1]

plot(B2basis, color=midcolor, linewidth=4, title="BB Mid")
bgcolor(midc == 0 ? #333333 : #000000, transp=75)

if direction == 0
    if midc[1] == 0 and midc == 1
        strategy.entry("LONG", strategy.long)
        direction := 1
    else if midc[1] == 0 and midc == 2
        strategy.entry("SHORT", strategy.short)
        direction := 2
else if direction != midc
    strategy.close_all()
    direction := 0








Plus de