Stratégie de trading de cassure cumulative


Date de création: 2023-10-25 17:34:41 Dernière modification: 2023-10-25 17:34:41
Copier: 1 Nombre de clics: 739
1
Suivre
1617
Abonnés

Stratégie de trading de cassure cumulative

Aperçu

La stratégie de rupture graduelle consiste à identifier les phases graduelles et distributives du marché, en utilisant les principes d’analyse vectorielle et en recherchant des opportunités d’achat et de vente potentielles.

Principe de stratégie

  1. Le croisement de lignes moyennes de différentes longueurs est utilisé pour identifier les phases d’accumulation et d’attribution. Lorsque la longueur moyenne de la longueur d’accumulation est traversée par le prix de clôture, elle est considérée comme la phase d’accumulation; lorsque la longueur moyenne de la longueur de distribution est traversée par le prix de clôture, elle est considérée comme la phase d’attribution.

  2. Le croisement de lignes moyennes de différentes longueurs est utilisé pour identifier les formes d’arc-en-ciel et les formes inversées. Lorsqu’une longueur moyenne de SpringLength est traversée au bas, elle est considérée comme une forme d’arc-en-ciel; lorsqu’une longueur moyenne de UpthrustLength est traversée en dessous du haut, elle est considérée comme une forme inversée.

  3. Si l’on observe une forme d’arc-en-ciel dans la phase d’accumulation, il faut faire plus; si l’on observe une forme d’inversion dans la phase d’attribution, il faut faire moins.

  4. Le niveau d’arrêt est défini comme suit: le prix d’arrêt pour les positions longues est le prix de clôture (pourcentage d’arrêt de 1 pour cent) et le prix d’arrêt pour les positions courtes est le prix de clôture (pourcentage d’arrêt de 1 pour cent).

  5. Les phases de dégradation, les phases de distribution, les formes d’arc-en-ciel et les formes inversées sont indiquées sur le graphique pour faciliter l’identification des formes.

Analyse des avantages

  1. L’utilisation d’une méthode d’analyse vectorielle pour identifier les phases d’accumulation et d’attribution de la dynamique du marché peut améliorer la fiabilité des signaux de négociation.

  2. La combinaison de la forme d’arc-en-ciel et de la forme inversée permet de vérifier davantage les signaux de négociation.

  3. Le paramètre Stop Loss permet de contrôler efficacement les pertes individuelles.

  4. En notant sur le graphique, on peut observer clairement le processus de formation de l’accumulation.

  5. Les paramètres de la stratégie sont réglables et peuvent être optimisés pour différents marchés et cycles de négociation.

Analyse des risques

  1. Le phénomène d’agglomération peut entraîner une fausse transmission du signal homogène.

  2. La forme de l’arc-en-ciel et la forme de l’inverse peuvent être invalidées.

  3. La rupture du stop-loss pourrait augmenter les pertes.

  4. Les paramètres doivent être adaptés aux différents marchés, ce qui peut entraîner une erreur de signal de transaction.

  5. Le système de trading automatique peut ne pas être suffisamment flexible pour être contrôlé manuellement.

Direction d’optimisation

  1. Les meilleures combinaisons de paramètres peuvent être testées sur différents marchés à différentes périodes.

  2. On peut considérer l’ajout de facteurs de volume pour confirmer le signal de transaction.

  3. Il est possible de définir un stop-loss dynamique, en ajustant le niveau de stop-loss en fonction des fluctuations du marché.

  4. Il est possible d’envisager d’ajouter des éléments fondamentaux pour éviter de faire des transactions erronées à des moments importants.

  5. Les algorithmes d’apprentissage automatique peuvent être ajoutés pour optimiser dynamiquement les paramètres.

Résumer

La stratégie de négociation de percée graduelle intègre plusieurs méthodes d’analyse technique telles que l’analyse vectorielle, l’indicateur de la moyenne et la reconnaissance de la forme, ce qui permet d’identifier efficacement les forces du marché et de générer des signaux de négociation. La stratégie présente des avantages tels que des signaux de négociation fiables, des risques contrôlables et un affichage visuel clair.

Code source de la stratégie
/*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)