Stratégie de stop loss suiveur basée sur la volatilité des prix


Date de création: 2023-09-20 11:31:12 Dernière modification: 2023-09-20 11:31:12
Copier: 0 Nombre de clics: 655
1
Suivre
1617
Abonnés

Aperçu

Cette stratégie permet de déterminer la direction d’une tendance en fonction de la relation entre la volatilité et sa moyenne mobile, en calculant une moyenne mobile de la gamme de fluctuation réelle, reflétant la volatilité du marché. Regardez en haut lorsque la volatilité traverse la moyenne mobile, regardez en haut lorsque la volatilité traverse la moyenne mobile et définissez un stop-loss.

Principe de stratégie

La fonction ATR permet de calculer la portée réelle des fluctuations au cours d’une période donnée. On calcule ensuite la moyenne mobile simple de l’ATR, qui sert de moyenne mobile de la volatilité. On considère que la volatilité du marché augmente lorsque l’ATR traverse sa moyenne mobile, et on adopte une stratégie à la hausse.

Lors de la tenue d’une position, un stop-loss de suivi à proportion fixe est défini pour ajuster dynamiquement la position de stop-loss en fonction des variations de prix, protégeant les bénéfices tout en empêchant le stop-loss d’être couvert.

Analyse des avantages

Cette stratégie permet de juger de la tendance du marché à partir d’indicateurs de volatilité et d’éviter d’être induit en erreur par le bruit. Elle permet de faire des opérations de couverture lorsque la volatilité augmente et de faire des opérations de couverture lorsque la volatilité diminue. Le suivi des arrêts permet d’ajuster les positions de stop loss en fonction des variations des prix en temps réel, ce qui permet de réduire les arrêts inutiles tout en protégeant les bénéfices.

Analyse des risques

La stratégie est basée sur un seul indicateur de volatilité, avec un certain retard. Et le suivi des arrêts de perte ne prend en compte que les mouvements de prix dans une direction défavorable, ce qui ne protège pas les bénéfices contre les retournements.

Il est possible d’optimiser l’ATR et les paramètres cycliques de la moyenne, ou d’ajouter d’autres indicateurs pour un jugement global. La méthode d’arrêt peut également être modifiée en arrêt dynamique, en ajustant l’ampleur de l’arrêt en fonction de la volatilité du marché.

Direction d’optimisation

  1. Testez différentes combinaisons de paramètres ATR et de périodes moyennes pour trouver le paramètre optimal.

  2. Ajout d’autres indicateurs de jugement, formation d’un portefeuille de stratégies, amélioration de l’exactitude des stratégies.

  3. Définir une stratégie de stop-loss dynamique, en ajustant le stop-loss en fonction de la volatilité du marché.

  4. Optimisation des stratégies de gestion des fonds, différentes variétés permettent de définir des tailles de position différentes.

  5. L’application de l’apprentissage automatique aide à déterminer les points de basculement des fluctuations du marché.

  6. Les indicateurs de la moyenne de niveau supérieur sont combinés pour identifier les tendances à un niveau plus élevé.

Résumer

Cette stratégie utilise des indicateurs de volatilité pour déterminer les mouvements du marché. Elle est plus simple et plus directe, mais elle peut être limitée par un seul indicateur. L’introduction appropriée de plusieurs indicateurs de jugement et de paramètres d’optimisation améliore la stabilité de la stratégie.

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

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 20/08/2018
// The Volatility function measures the market volatility by plotting a 
// smoothed average of the True Range. It returns an average of the TrueRange 
// over a specific number of bars, giving higher weight to the TrueRange of 
// the most recent bar.
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Volatility Backtest", shorttitle="Volatility")
Length = input(10, minval=1)
LengthMA = input(26, minval=1)
reverse = input(false, title="Trade reverse")
xATR = atr(Length)
nRes = ((Length - 1) * nz(nRes[1], 0) + xATR) / Length
xMARes = sma(nRes, LengthMA)
pos = iff(nRes < xMARes, 1,
       iff(nRes > xMARes, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue ) 
plot(nRes, color=blue, title="Volatility")
plot(xMARes, color=red, title="MA")