Stratégie d'arrêt des pertes de suivi de la volatilité

Auteur:ChaoZhang est là., Date: 2023-09-20 11h31 et 12h
Les étiquettes:

Résumé

Cette stratégie calcule la moyenne mobile de la plage réelle pour refléter la volatilité du marché. Elle détermine la direction de la tendance en fonction de la relation entre la volatilité et sa moyenne mobile.

La logique de la stratégie

La fonction ATR est utilisée pour calculer la plage réelle sur une période spécifiée. La moyenne mobile simple d'ATR est ensuite calculée comme la ligne moyenne mobile de volatilité. Lorsque l'ATR dépasse sa moyenne mobile, la volatilité du marché est considérée comme augmentant et une stratégie courte est adoptée. Lorsque l'ATR dépasse sa moyenne mobile, la volatilité du marché est considérée comme diminuante et une stratégie longue est adoptée.

Lorsqu'il s'agit d'une position, un pourcentage fixe d'arrêt de perte est défini pour ajuster le stop loss dynamiquement en fonction des variations de prix, afin de protéger les bénéfices tout en évitant d'être arrêté prématurément.

Analyse des avantages

Cette stratégie juge les tendances du marché via l'indicateur de volatilité, en évitant les interférences sonores. Elle va court lorsque la volatilité augmente et va long lorsque la volatilité diminue, réalisant des opérations couvertes.

Analyse des risques

La stratégie repose uniquement sur un indicateur de volatilité, avec un certain retard. Le stop loss de trailing ne prend en compte que les mouvements de prix défavorables, incapable d'empêcher les retracements de bénéfices. Si les prix fluctuent violemment, le stop loss peut être touché, entraînant de grandes pertes.

L'ajustement des paramètres sur l'ATR et les périodes moyennes mobiles pourrait aider, tout comme l'intégration d'autres indicateurs pour des jugements complets.

Directions d'optimisation

  1. Testez différentes combinaisons de paramètres d'ATR et de moyennes mobiles pour trouver les paramètres optimaux.

  2. Incorporer d'autres indicateurs de jugement pour former un ensemble de stratégies, améliorant ainsi la précision.

  3. Adopter des stratégies de stop loss dynamiques, en ajustant le pourcentage de stop loss en fonction de la volatilité du marché.

  4. Optimiser les modèles de dimensionnement de la position pour différents produits.

  5. Appliquer l'apprentissage automatique pour aider à identifier les points tournants de la volatilité.

  6. Combinez avec des moyennes mobiles à plus long terme pour déterminer une direction de tendance plus large.

Résumé

La stratégie juge les tendances du marché simplement et directement par la volatilité, mais un seul indicateur a des limites.


/*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")

Plus de