Stratégie de suivi basée sur les prix clés


Date de création: 2023-09-21 15:24:53 Dernière modification: 2023-09-21 15:24:53
Copier: 0 Nombre de clics: 684
1
Suivre
1617
Abonnés

Aperçu

La stratégie est basée sur l’idée que les points de prix d’arrêt et de rupture sont souvent fixés à des niveaux de prix entiers ou critiques, qui servent souvent de points de support et de résistance. La stratégie identifie ces niveaux de prix critiques et effectue des opérations d’achat ou de vente lorsque les prix sont proches.

Principe de stratégie

La stratégie comprend principalement les règles suivantes:

  1. L’opération d’achat est effectuée lorsque le prix de clôture est supérieur au niveau de prix critique et qu’il n’a pas été touché au cours des 10 dernières lignes K.

  2. Le suivi de l’escalade est ensuite utilisé pour suivre le mouvement du prix au-delà du prix critique. La longueur de l’escalade est de 20 pas.

  3. L’opération de vente est opposée à l’opération d’achat lorsqu’un prix de clôture est inférieur au niveau de prix critique et qu’il n’a pas touché ce prix au cours des 10 dernières lignes K.

  4. La méthode d’identification des niveaux de prix clés est la suivante:

    • Convertissez le prix de clôture en un nombre entier
    • Calculer le résidu avec 50 points entiers (configurables)
    • Si le nombre restant est supérieur à 25, on prend le prix de référence le plus proche des 50 points.
    • Les prix clés restent inchangés

Cette stratégie est basée sur la psychologie des prix, considérant que les prix entiers ou les niveaux critiques sont souvent des positions importantes pour lesquelles les parties à la hausse se disputent, ce qui a un effet de signal de négociation. Le suivi des pentes permet de suivre les tendances après les ruptures de prix.

Avantages stratégiques

Cette stratégie présente les avantages suivants:

  1. Des signaux de trading simples et intuitifs et des règles d’entrée.
  2. La loi générale du prix critique est de ne pas dépendre d’une variété particulière.
  3. Le suivi des stop-loss permet de localiser les bénéfices et de suivre la tendance.

Risque stratégique

La stratégie présente également les risques suivants:

  1. Les points clés ne sont pas forcément des supports ou des résistances solides. Une fausse rupture peut entraîner la défaillance de la transaction.
  2. La règle fixe de 10 lignes K peut ne pas s’appliquer à différentes variétés.
  3. Il est préférable de ne pas suivre trop loin, car cela pourrait entraîner un arrêt prématuré.

La réponse:

  1. La force et la faiblesse des points clés, combinées à d’autres indicateurs.
  2. Optimiser les paramètres pour les différentes variétés et trouver la combinaison optimale de paramètres.
  3. Optimiser les paramètres de suivi des pertes pour les rendre plus proches du marché

Orientation de l’optimisation de la stratégie

Cette stratégie peut être optimisée dans les domaines suivants:

  1. Ajout d’autres critères pour juger de l’importance des points clés afin d’éviter le risque de faux rebond. Indicateurs tels que le volume des transactions.

  2. Optimiser les paramètres, notamment en déterminant la longueur d’étape des zones de prix critiques, la période de ligne K, etc. pour les rendre plus conformes aux caractéristiques des différentes variétés.

  3. Optimiser les mécanismes de suivi des pertes, par exemple en utilisant des pertes de suivi dynamiques au lieu de pertes de rampes fixes.

  4. Ajout d’algorithmes d’apprentissage automatique pour évaluer la force et la faiblesse des zones de prix clés à partir de données historiques, afin d’améliorer la qualité du signal.

  5. L’élargissement des stratégies à des périodes de temps plus longues permet d’évaluer les tendances à des périodes plus longues et de les suivre à des périodes plus courtes.

Résumer

Cette stratégie est basée sur une logique simple et intuitive basée sur les points clés des prix, qui utilise les habitudes de négociation courantes pour former des signaux de négociation. Les opportunités de stratégie sont abondantes, mais nécessitent une optimisation supplémentaire pour gérer les fausses ruptures. Des moyens tels que l’optimisation des paramètres et l’apprentissage automatique peuvent améliorer la stabilité de la stratégie.

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

//@version=3
//Strategy based on the idea that stop loss and take profit are often placed at full price levels or round numbers, whcih acts as resistance and supports levels
//Buy Rules:
//Actual price (close) is above round number.
//Round number level was not touched in previous ten bars (arbitrary value).
//Place a buy and follow the order with a trail step because price can bounce at round number (support) or can go through it.
//Sell Rules are the same of buy rules but inverted.
//
//Need improvement on conditions' logic and round numbers definitions


strategy("dP magnet", overlay=true, pyramiding=0,default_qty_type=strategy.percent_of_equity,default_qty_value=100,currency=currency.USD)

//Round Levels credit to RKchartest

roundLevel50 = input(500, 'Round Level 1, pips')
//roundLevel100 = input(1000, 'Round Level 2, pips')
deviation = input(1000, 'Max distance, pips', minval=0) 

rDelimeter = 1/syminfo.mintick

intRoundLevel = close[1] * rDelimeter

intRemainder = intRoundLevel % roundLevel50 
toRound = (intRemainder >= roundLevel50/2) ? roundLevel50 : 0
roundLevel = (intRoundLevel - intRemainder + toRound) / rDelimeter
plot(roundLevel, title='Round Level 1', color=black, style=line, transp=0, linewidth=1, trackprice=false)

//intRemainder2 = intRoundLevel % roundLevel100
//toRound2 = (intRemainder2 >= roundLevel100/2) ? roundLevel100 : 0
//roundLevel2 = (intRoundLevel - intRemainder2 + toRound2) / rDelimeter
//plot((abs(roundLevel2 - close) * rDelimeter < deviation) ? roundLevel2 : na, title='Round Level 2', color=black, style=circles, transp=0, linewidth=1, trackprice=true)

// end

//Start of strategy

distToFullNumber=(close-roundLevel) //can be positive or negative number

distPips=input(100,'Distance in pips to full level',minval=10) //user defined: this distance defines when to open an order at market price


TrailS=input(20,'Trail Step points',minval=10) //trail step that follows the order

longCondition = iff(distToFullNumber>0 and abs(distToFullNumber)<=distPips and lowest(low,10)>roundLevel,true,false)

if (longCondition)
    strategy.entry("LongMagnet", strategy.long)
    strategy.exit("ExitMagnet","LongMagnet",trail_points=TrailS)

shortCondition = iff(distToFullNumber<0 and abs(distToFullNumber)<=distPips and highest(high,10)<roundLevel,true,false)

if (shortCondition)
    strategy.entry("ShortMagnet", strategy.short)
    strategy.exit("Exit_Magnet","ShortMagnet",trail_points=TrailS)