Stratégie de négociation de rupture par accumulation progressive

Auteur:ChaoZhang est là., Date: 2023-10-25 17h34 et 41 min
Les étiquettes:

img

Résumé

La stratégie de négociation de rupture graduelle de l'accumulation vise à identifier les phases potentielles d'accumulation et de distribution sur le marché en utilisant les principes de l'analyse de Wyckoff, complétée par la détection de tendances de printemps et de poussée ascendante, afin de rechercher des opportunités d'achat et de vente potentielles.

La logique de la stratégie

  1. Utilisez des croisements de moyenne mobile de différentes longueurs pour identifier les phases d'accumulation et de distribution. Lorsque le prix de clôture dépasse le MA de longueur AccumulationLength, il indique une phase d'accumulation. Lorsque le prix de clôture dépasse le MA de longueur DistributionLength, il indique une phase de distribution.

  2. Utilisez des croisements moyens mobiles de différentes longueurs pour identifier les modèles de printemps et de poussée vers le haut. Lorsque le prix bas franchit le MA de la longueur SpringLength, il indique un printemps. Lorsque le prix élevé franchit le MA de la longueur UpthrustLength, il indique une poussée vers le haut.

  3. Il est préférable d'utiliser une longueur d'onde lorsque l'on observe un ressort pendant une phase d'accumulation, et une courte d'onde lorsqu'on observe une poussée vers le haut pendant une phase de distribution.

  4. Définir les niveaux de stop loss. Le stop loss long est défini à close * (1 - Stop Percentage%). Le stop loss short est défini à close * (1 + Stop Percentage%).

  5. Tracer des formes sur le graphique pour indiquer les modèles d'accumulation, de répartition, de ressort et de poussée vers le haut pour une reconnaissance visuelle facile.

Analyse des avantages

  1. L'identification des phases d'accumulation et de distribution à l'aide de l'analyse de Wyckoff améliore la fiabilité des signaux de négociation.

  2. La confirmation des signaux avec des motifs de ressort et de poussée vers le haut permet une validation supplémentaire.

  3. Le stop loss aide à contrôler les pertes d'une seule transaction.

  4. Les annotations du graphique révèlent clairement tout le processus d'enroulement des prix.

  5. Les paramètres réglables permettent d'optimiser cette stratégie sur tous les marchés et tous les délais.

Analyse des risques

  1. Les Whipsaws peuvent générer de faux signaux lors de l'action des prix.

  2. Le ressort et la poussée peuvent parfois échouer.

  3. L'arrêt des pertes pourrait accroître les pertes.

  4. Des paramètres incompatibles pour différents marchés peuvent entraîner des signaux incorrects.

  5. Les systèmes mécaniques manquent de contrôle discrétionnaire souple.

Directions d'optimisation

  1. Tester les combinaisons optimales de paramètres sur les marchés et les délais.

  2. Considérez l'incorporation du volume pour la confirmation du signal.

  3. Mettre en place des arrêts dynamiques basés sur la volatilité du marché.

  4. Incorporer des facteurs fondamentaux pour éviter les signaux lors d'événements majeurs.

  5. Appliquer l'apprentissage automatique pour optimiser dynamiquement les paramètres.

Résumé

La stratégie de trading de rupture d'accumulation graduelle intègre l'analyse de Wyckoff, les moyennes mobiles, la reconnaissance de modèles et d'autres techniques pour identifier efficacement l'action des prix en coulée et générer des signaux de trading. Elle présente des signaux fiables, des risques contrôlés, des visuels clairs et d'autres avantages.


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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © deperp

//@version=5
strategy("Wyckoff Range Strategy",  overlay=true, initial_capital=1000, default_qty_type=strategy.percent_of_equity, default_qty_value=10, commission_type=strategy.commission.percent)

// Input Variables
AccumulationLength = input(32, "Accumulation")
DistributionLength = input(35, "Distribution")
SpringLength = input(10, "Spring")
UpthrustLength = input(20, "Upthrust")
stopPercentage = input(10, "Stop Percentage")

// Accumulation Phase
isAccumulation = ta.crossover(close, ta.sma(close, AccumulationLength))

// Distribution Phase
isDistribution = ta.crossunder(close, ta.sma(close, DistributionLength))

// Spring and Upthrust
isSpring = ta.crossover(low, ta.sma(low, SpringLength))
isUpthrust = ta.crossunder(high, ta.sma(high, UpthrustLength))

// Strategy Conditions
enterLong = isAccumulation and isSpring
exitLong = isDistribution and isUpthrust

enterShort = isDistribution and isUpthrust
exitShort = isAccumulation and isSpring

// Entry and Exit Conditions
if (enterLong)
    strategy.entry("Long", strategy.long)
    
if (exitLong)
    strategy.close("Long")

if (enterShort)
    strategy.entry("Short", strategy.short)

if (exitShort)
    strategy.close("Short")

// Stop Loss
stopLossLevelLong = close * (1 - stopPercentage / 100)
stopLossLevelShort = close * (1 + stopPercentage / 100)
strategy.exit("Stop Loss Long", "Long", stop=stopLossLevelLong)
strategy.exit("Stop Loss Short", "Short", stop=stopLossLevelShort)

// Plotting Wyckoff Schematics
plotshape(isAccumulation, title="Accumulation Phase", location=location.belowbar, color=color.green, style=shape.labelup, text="Accumulation")
plotshape(isDistribution, title="Distribution Phase", location=location.abovebar, color=color.red, style=shape.labeldown, text="Distribution")
plotshape(isSpring, title="Spring", location=location.belowbar, color=color.blue, style=shape.triangleup)
plotshape(isUpthrust, title="Upthrust", location=location.abovebar, color=color.orange, style=shape.triangledown)

Plus de