Découpe des canaux basée sur vecteur et stratégie de choch personnalisée

Auteur:ChaoZhang est là., Date: 2024-03-29 14:45:57 Je vous en prie.
Les étiquettes:

img

Résumé

Cette stratégie combine le concept de bougies vectorielles avec la reconnaissance traditionnelle de modèles de rupture de canal et de sauce au chocolat (ChoCH) pour capturer les mouvements de rupture sur le marché.

Principe de stratégie

  1. Calculer le volume moyen d'un certain nombre de bougies passées et définir quatre bougies vectorielles de couleur différente (rouge, vert, bleu, violet) en fonction du multiple d'amplification du volume.
  2. Lorsque le prix de clôture est inférieur au plus bas de la bougie précédente et qu'il s'agit d'une bougie vectorielle rouge, identifiez-le comme un signal ChoCH rouge; lorsque le prix de clôture est supérieur au plus haut de la bougie précédente et qu'il s'agit d'une bougie vectorielle verte, identifiez-le comme un signal BOS vert.
  3. Dans un certain nombre de bougies de confirmation, si le nombre de fois où les bougies vectorielles rouges se produisent atteint le seuil fixé, confirmer le signal ChoCH rouge; si le nombre de fois où les bougies vectorielles vertes se produisent atteint le seuil fixé, confirmer le signal BOS vert.
  4. Ouvrir une position longue lorsqu'un signal rouge ChoCH est confirmé et fermer la position lorsqu'un signal vert BOS est confirmé.

Les avantages de la stratégie

  1. Combine les bougies vectorielles avec les modèles traditionnels de rupture de canal et de ChoCH, améliorant la fiabilité du signal.
  2. Introduit un mécanisme de bougie de confirmation pour filtrer efficacement le bruit et les faux signaux.
  3. Distingue les signaux par les couleurs de la bougie vectorielle, ce qui les rend plus intuitifs et faciles à identifier.
  4. Les paramètres réglables offrent une flexibilité et peuvent être optimisés en fonction des différentes conditions du marché et des différents styles de négociation.

Risques stratégiques

  1. Dans un marché instable, des évasions et des retraits fréquents peuvent entraîner de nombreux faux signaux et des transactions perdantes.
  2. Un mauvais réglage du nombre de bougies de confirmation peut entraîner un décalage du signal ou une entrée prématurée.
  3. S'appuyer uniquement sur des indicateurs techniques tout en ignorant les facteurs fondamentaux peut exposer la stratégie à des risques inattendus.
  4. La stratégie n'inclut pas de mécanisme de stop-loss, ce qui peut entraîner des pertes importantes lors de revirements brusques du marché.

Directions d'optimisation de la stratégie

  1. Introduire des indicateurs de confirmation de tendance, tels que des moyennes mobiles, pour confirmer la direction de la tendance après l'apparition d'un signal de rupture, améliorant ainsi la qualité du signal.
  2. Pour les marchés agités, envisagez d'intégrer des stratégies de négociation de gamme, telles que la définition de conditions de déclenchement longues et courtes dans le canal.
  3. Optimiser le nombre de bougies de confirmation afin de trouver un équilibre approprié entre filtrer efficacement le bruit et éviter un retard excessif.
  4. Mettre en place des règles raisonnables en matière de stop-loss et de take-profit pour contrôler le risque commercial individuel et le tirage global.
  5. Combiner avec d'autres indicateurs techniques ou des indicateurs de sentiment du marché pour fournir une base plus solide pour les décisions de négociation.

Conclusion

Cette stratégie combine de manière innovante les bougies vectorielles avec les modèles classiques de rupture de canal et de ChoCH, améliorant la fiabilité et la reconnaissance du signal grâce à la différenciation des couleurs et à un mécanisme de bougie de confirmation. Les avantages de la stratégie résident dans ses règles claires, ses signaux intuitifs et un certain degré de flexibilité et d'optimisation.


/*backtest
start: 2024-02-01 00:00:00
end: 2024-02-29 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Custom ChoCH and BOS Strategy with Vector Candles", overlay=true)

// Input Parameters
length = input(10, title="Lookback Length for Volume")
volMultiplier = input(2.0, title="Volume Multiplier for Vector Candles")
confirmationCandles = input(3, title="Confirmation Candles")

// Calculate the average volume of the last 'length' candles
avgVol = sma(volume, length)

// Vector Candle Definitions
vectorCandleRed = (close < open) and (volume > avgVol * volMultiplier) ? 1.0 : 0.0
vectorCandleGreen = (close > open) and (volume > avgVol * volMultiplier) ? 1.0 : 0.0
vectorCandleBlue = (close < open) and (volume > avgVol * 1.5) ? 1.0 : 0.0 // 150% volume for blue
vectorCandlePurple = (close > open) and (volume > avgVol * 1.5) ? 1.0 : 0.0 // 150% volume for purple

// Detecting BOS and ChoCH
isRedChoCH = vectorCandleRed > 0 and (close < low[1]) // Red ChoCH
isGreenBOS = vectorCandleGreen > 0 and (close > high[1]) // Green BOS

// Confirmation Logic
redChoCHConfirmed = (sum(vectorCandleRed, confirmationCandles) >= 2) ? 1.0 : 0.0
greenBOSConfirmed = (sum(vectorCandleGreen, confirmationCandles) >= 2) ? 1.0 : 0.0

// Entry Conditions
buyCondition = redChoCHConfirmed > 0
sellCondition = greenBOSConfirmed > 0

// Strategy Execution
if (buyCondition)
    strategy.entry("Buy", strategy.long)
if (sellCondition)
    strategy.close("Buy")

// Plotting Vector Candles and Signals
plotshape(series=isRedChoCH, title="Red ChoCH Signal", location=location.belowbar, color=color.red, style=shape.circle, text="Red ChoCH")
plotshape(series=isGreenBOS, title="Green BOS Signal", location=location.abovebar, color=color.green, style=shape.circle, text="Green BOS")

// Plotting Vector Candles for Visualization
plotchar(vectorCandleRed > 0, title="Vector Candle Red", location=location.belowbar, color=color.red, char='R', text="Red")
plotchar(vectorCandleGreen > 0, title="Vector Candle Green", location=location.abovebar, color=color.green, char='G', text="Green")
plotchar(vectorCandleBlue > 0, title="Vector Candle Blue", location=location.belowbar, color=color.blue, char='B', text="Blue")
plotchar(vectorCandlePurple > 0, title="Vector Candle Purple", location=location.abovebar, color=color.purple, char='P', text="Purple")


Plus de