Stratégie de rupture de la rigidité

Auteur:ChaoZhang est là., Date: 2024-01-03 11:34:34 Je suis désolé
Les étiquettes:

img

Résumé

La stratégie de rupture de rigidité est une stratégie de rupture basée sur l'indicateur de rigidité des prix. Elle calcule le nombre de fois où le prix de clôture traverse le rail supérieur sur une certaine période pour déterminer la rigidité du prix. Lorsque l'indicateur de rigidité dépasse le seuil fixé, il est jugé que le marché est sur le point de se briser et un ordre d'achat est placé. Lorsque l'indicateur de rigidité est en dessous du seuil, il est jugé que le marché est sur le point de reculer et un ordre de vente est placé.

Principe de stratégie

  1. Calcul de la moyenne mobile et de l'écart type: Calculer la moyenne mobile simple de n périodes en tant que rail supérieur de référence et 0,2 fois l'écart type du prix en tant que rail inférieur tampon.

  2. Calculer l'indicateur de rigidité: comptez le nombre de jours où le prix de clôture est supérieur au niveau supérieur en m cycles, divisez par m pour obtenir une valeur comprise entre 0 et 100, puis lissiez-le avec une EMA de n périodes pour obtenir la valeur de rigidité finale, représentant la probabilité que le prix de clôture franchisse le niveau supérieur.

  3. Comparer la rigidité et le seuil: lorsque l'indicateur de rigidité dépasse le seuil fixé, cela signifie que la probabilité de percée augmente et qu'un signal d'achat est généré.

  4. Entrée et sortie: acheter lorsque le prix de clôture franchit le niveau supérieur, et vendre lorsque la percée échoue et que le déclin commence.

Analyse des avantages

  1. Capturez le moment des ruptures: Jugez relativement de manière fiable quand une tendance est sur le point d'éclater ou de reculer, afin d'entrer sur le marché à l'avance.

  2. Prenez en compte les ruptures et les retraits: la stratégie capture les opportunités à long terme et à court terme en utilisant les ruptures et les baisses des indicateurs de rigidité.

  3. Paramètres flexibles: les utilisateurs peuvent ajuster des paramètres tels que la longueur moyenne mobile, le cycle de rigidité, le seuil, etc. en fonction du marché pour s'adapter aux caractéristiques des différents cycles et marchés.

  4. Simple à mettre en œuvre: utilisez uniquement l'indicateur de rigidité et la comparaison des seuils sans logique complexe, la mise en œuvre du code est assez simple.

Analyse des risques

  1. Risque d'échec: lorsque la rigidité dépasse le seuil, il n'est pas possible de garantir pleinement que les prix franchiront la barre supérieure, avec un certain risque de fausses échecs.

  2. Risque de retrait de la fourchette: en cours de négociation, il est impossible de prévoir la fourchette et l'emplacement spécifiques des retraits, ce qui entraîne un risque de perte excessive.

  3. Risque d'optimisation des paramètres: les paramètres de référence ne peuvent pas s'adapter pleinement aux changements du marché et doivent être continuellement testés et optimisés en fonction des conditions réelles.

  4. Risque de négociation fréquent: la fréquence de négociation relativement élevée de cette stratégie augmente les pertes liées aux coûts de négociation et aux glissements.

Directions d'optimisation

  1. Optimiser les paramètres: tester les paramètres sous différents marchés pour trouver la combinaison optimale de paramètres. Par exemple, augmenter la longueur de la moyenne mobile pour réduire la fréquence de négociation.

  2. Ajouter un stop loss: définir une logique de stop loss raisonnable pour contrôler une seule perte.

  3. Incorporer d'autres indicateurs: des indicateurs tels que le MACD et le KD peuvent être ajoutés pour déterminer des points d'entrée spécifiques et réduire la probabilité de fausses ruptures.

  4. Optimiser les conditions de sortie: les indicateurs de tendance peuvent être utilisés pour déterminer les caractéristiques des inversions de tendance et définir des conditions de sortie plus précises.

Résumé

Dans l'ensemble, la stratégie de rupture de la rigidité est assez simple et pratique. Elle peut prédire les éventuelles ruptures de prix et les retombées à l'avance, avec une certaine valeur pratique. Mais nous devons également prêter attention aux problèmes de fausses ruptures et de la fourchette de retrait, et saisir des opportunités de trading plus précises grâce à l'optimisation des paramètres et à l'ajout d'autres indicateurs techniques.


/*backtest
start: 2023-12-26 00:00:00
end: 2024-01-02 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
// Copyright (c) 2020-present, JMOZ (1337.ltd)
// Copyright (c) 2018-present, Alex Orekhov (everget)
// Stiffness Indicator script may be freely distributed under the MIT license.
strategy("Stiffness Strategy", overlay=false, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_value=0.075)


maLength = input(title="Moving Average Length", minval=1, defval=100)
stiffLength = input(title="Stiffness Length", minval=1, defval=60)
stiffSmooth = input(title="Stiffness Smoothing Length", minval=1, defval=3)
threshold = input(title="Threshold", minval=1, defval=90)
highlightThresholdCrossovers = input(title="Highlight Threshold Crossovers ?", type=input.bool, defval=false)


bound = sma(close, maLength) - 0.2 * stdev(close, maLength)
sumAbove = sum(close > bound ? 1 : 0, stiffLength)
stiffness = ema(sumAbove * 100 / stiffLength, stiffSmooth)


long_cond = crossover(stiffness, threshold)
long_close = stiffness > threshold and falling(stiffness, 1)
short_cond = crossunder(stiffness, threshold) or stiffness < threshold and falling(stiffness, 1)
short_close = stiffness < threshold and rising(stiffness, 1)


strategy.entry("Long", strategy.long, when=long_cond)
strategy.close("Long", when=long_close)
strategy.entry("Short", strategy.short, when=short_cond)
strategy.close("Short", when=short_close)


transparent = color.new(color.white, 100)

bgColor = highlightThresholdCrossovers ? stiffness > threshold ? #0ebb23 : color.red : transparent
bgcolor(bgColor, transp=90)

plot(stiffness, title="Stiffness", style=plot.style_histogram, color=#f5c75e, transp=0)
plot(threshold, title="Threshold", color=color.red, transp=0)


Plus de