Stratégie combinée de double inversion de la moyenne mobile et de l'arrêt de traînée ATR

Auteur:ChaoZhang est là., Date: 2024-01-26 11:26:40 Je vous en prie.
Les étiquettes:

img

Résumé

La stratégie combinée de l'inversion de la moyenne mobile double et de l'arrêt de trail ATR est une stratégie de trading quantitative très pratique. La stratégie utilise d'abord la croix de la mort et la croix d'or formées par les moyennes mobiles doubles pour déterminer les tendances du marché et les points d'inversion.

Principe de stratégie

Stratégie de renversement de la moyenne mobile double

La double stratégie d'inversion des moyennes mobiles utilise le croisement des lignes rapides et lentes pour déterminer les tendances du marché. Lorsque la ligne rapide traverse en dessous de la ligne lente de haut en bas, elle forme une croix de mort, indiquant que la tendance du marché passe de la hausse à la baisse. Lorsque la ligne rapide traverse au-dessus de la ligne lente de bas en haut, elle forme une croix d'or, indiquant que la tendance du marché passe de la baisse à la hausse.

Plus précisément, la stratégie utilise la ligne rapide STOCH de 9 jours comme la ligne rapide et l'EMA de 3 jours comme la ligne lente. Lorsque la fermeture est inférieure à la fermeture précédente et que la ligne rapide traverse au-dessus de 50 pour traverser au-dessus de la ligne lente, elle efface la position pour passer à la position courte. Lorsque la fermeture est supérieure à la fermeture précédente et que la ligne rapide traverse au-dessous de 50 pour traverser au-dessous de la ligne lente, elle efface la position pour passer à la position longue.

Stratégie d'arrêt de traînée ATR

L'indicateur ATR peut refléter efficacement la volatilité à court terme du marché. La stratégie définit un arrêt de trail basé sur la valeur de l'ATR pour sortir lorsque la tendance des prix s'inverse.

Plus précisément, la stratégie utilise l'ATR à 5 jours et définit le point de stop loss à un niveau proche de moins 3,5 fois ATR. Lorsque le prix atteint le point de stop loss, il ferme la position pour le stop loss.

Analyse des avantages

La stratégie combinée de double inversion de la moyenne mobile et d'arrêt de trail ATR combine l'avantage de la stratégie de moyenne mobile dans la détermination des tendances et des inversions et l'avantage de la stratégie d'arrêt de trail ATR dans le contrôle des risques, ce qui en fait une stratégie très pratique.

Plus précisément, la stratégie présente les avantages suivants:

  1. Utilisez la croix de la mort et la croix d'or formées par des moyennes mobiles doubles pour déterminer les points d'inversion de la tendance du marché et identifier avec précision les signaux d'inversion.

  2. Combiner l'indicateur STOCH pour confirmer les signaux d'inversion et éviter les faux signaux.

  3. L'ATR trailing stop fixe des points de stop loss flexibles en fonction de la volatilité du marché afin de maximiser le verrouillage des bénéfices.

  4. La stratégie intègre de multiples indicateurs et méthodes d'analyse technique afin de la rendre plus solide.

  5. L'idée de la stratégie est claire et facile à comprendre, les paramètres sont flexibles pour l'ajustement, et il est facile d'opérer dans le commerce en direct.

Analyse des risques

Bien que la stratégie présente de nombreux avantages, il y a encore quelques risques à noter:

  1. Les signaux générés par les moyennes mobiles doubles peuvent être retardés et incapables d'acheter et de vendre avec précision aux points d'inversion.

  2. L'indicateur ATR n'est pas sensible aux grandes fluctuations du marché et ne peut pas mettre à jour le stop loss dans le temps.

  3. La combinaison de plusieurs paramètres et conditions augmente la complexité de la stratégie. Les paramètres inappropriés peuvent entraîner un trading trop agressif et augmenter les risques. Les paramètres doivent être soigneusement évalués et ajustés progressivement.

Directions d'optimisation

D'après l'analyse de risque ci-dessus, la stratégie peut être optimisée dans les aspects suivants:

  1. Adapter les paramètres de la moyenne mobile de période pour raccourcir les périodes permettant de saisir rapidement les opportunités d'inversion.

  2. Ajouter d'autres indicateurs pour déterminer les signaux d'inversion, tels que MACD, KD, etc., pour former des confirmations multiples.

  3. La valeur de l'échange de titres est calculée en fonction de la valeur de l'échange.

  4. Évaluer les différences entre les marchés boursiers et les marchés à terme et ajuster les paramètres pour les rendre plus adaptés aux deux marchés.

  5. Ajoutez les coûts de négociation et le glissement dans le backtesting pour rendre la stratégie plus proche de l'environnement de négociation en direct.

  6. Considérez l'ajout de modèles d'apprentissage automatique pour optimiser dynamiquement plusieurs paramètres.

Résumé

La stratégie de combinaison de l'inversion de moyenne mobile double et de l'arrêt de trail ATR est une stratégie quantitative efficace et pratique. Elle combine les deux avantages de la détermination de l'inversion du marché avec les moyennes mobiles et le contrôle des risques en définissant des arrêts de trail ATR. Elle assure un profit tout en réduisant les pertes inutiles. La stratégie a un ajustement de paramètres flexible et est facile à utiliser dans le trading en direct.


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

//@version=3
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 17/05/2019
// This is combo strategies for get 
// a cumulative signal. Result signal will return 1 if two strategies 
// is long, -1 if all strategies is short and 0 if signals of strategies is not equal.
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Secon strategy
// Average True Range Trailing Stops Strategy, by Sylvain Vervoort 
// The related article is copyrighted material from Stocks & Commodities Jun 2009 
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos


ATR_TrailingStop(nATRPeriod, nATRMultip) =>
    xATR = atr(nATRPeriod)
    nLoss = nATRMultip * xATR
    pos = 0.0
    xATRTrailingStop = 0.0
    xATRTrailingStop := iff(close > nz(xATRTrailingStop[1], 0) and close[1] > nz(xATRTrailingStop[1], 0), max(nz(xATRTrailingStop[1]), close - nLoss),
                         iff(close < nz(xATRTrailingStop[1], 0) and close[1] < nz(xATRTrailingStop[1], 0), min(nz(xATRTrailingStop[1]), close + nLoss), 
                           iff(close > nz(xATRTrailingStop[1], 0), close - nLoss, close + nLoss)))
    pos := iff(close[1] < nz(xATRTrailingStop[1], 0) and close > nz(xATRTrailingStop[1], 0), 1,
    	     iff(close[1] > nz(xATRTrailingStop[1], 0) and close < nz(xATRTrailingStop[1], 0), -1, nz(pos[1], 0))) 

    pos

strategy(title="Combo Backtest 123 Reversal & Average True Range Trailing Stops", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
nATRPeriod = input(5)
nATRMultip = input(3.5)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posATR_TrailingStop = ATR_TrailingStop(nATRPeriod, nATRMultip)
pos = iff(posReversal123 == 1 and posATR_TrailingStop == 1 , 1,
	   iff(posReversal123 == -1 and posATR_TrailingStop == -1, -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)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? red: possig == 1 ? green : blue ) 

Plus de