Stratégie de négociation de renversement de l'élan

Auteur:ChaoZhang est là., Date: 2023-10-09 17h21 et 27h
Les étiquettes:

Résumé

La stratégie de négociation de l'inversion de l'élan combine les avantages des stratégies d'inversion et de l'élan en utilisant des signaux des deux types d'indicateurs pour effectuer des transactions dans des directions opposées aux points tournants pour réaliser des bénéfices.

La logique de la stratégie

La stratégie se compose de deux parties:

La première partie est la stratégie d'inversion 123 dont la logique est:

  • Passez long lorsque le prix de clôture est supérieur à celui de la clôture précédente pendant 2 jours consécutifs et que l'oscillateur stochastique lent de 9 jours est inférieur à 50.

  • Passez à la vente à découvert lorsque le prix de clôture est inférieur à celui de la clôture précédente pendant 2 jours consécutifs et que l'oscillateur stochastique rapide de 9 jours est supérieur à 50.

La deuxième partie est l'indicateur de momentum filtré dont les étapes de calcul sont:

  1. Calculer la variation de prix xMom = close - close [1]

  2. Calculer la variation absolue du prix xMomAbs = abs ((close - close[1])

  3. Filtrer xMom si inférieur au seuil Filtrer à 0

  4. Filtrez xMomAbs si le seuil est inférieur Filtrez à 0

  5. Calculer la somme des xMom filtrés sur n jours nSum

  6. Calculer la somme des xMomAbs filtrés sur n jours nAbsSum

  7. Calculer la valeur du momentum: nRes = 100 * nSum / nAbsSum

  8. Générer des signaux basés sur nRes et bandes TopBand, LowBand

Cet indicateur filtre les petites fluctuations et extrait des informations sur la dynamique des tendances majeures.

Enfin, les signaux de négociation sont générés lorsque les signaux des deux indicateurs s'alignent sur long ou court.

Analyse des avantages

La stratégie combine les avantages de deux types d'indicateurs différents pour améliorer la qualité du signal:

  1. La stratégie d'inversion 123 capte les tendances d'inversion aux points tournants, évitant ainsi d'être pris au piège.

  2. L'indicateur de dynamique filtré se concentre uniquement sur les grands mouvements, filtrant le bruit et détectant les tendances majeures.

  3. Les combiner permet de vérifier les signaux et de réduire les transactions incorrectes, ce qui améliore le taux de gain.

Analyse des risques

Les principaux risques de cette stratégie sont les suivants:

  1. L'analyse d'un seul laps de temps peut manquer une tendance plus large.

  2. Les paramètres statiques ne peuvent pas s'adapter aux changements du marché.

  3. La double vérification peut manquer certaines opportunités, ce qui réduit le potentiel de profit.

  4. Des signaux de mauvaise qualité peuvent également être vérifiés, ce qui entraîne des pertes.

Directions d'optimisation

La stratégie peut être optimisée sous plusieurs aspects:

  1. Ajoutez une vérification multi-temporelle pour éviter d'être piégé.

  2. Utiliser des paramètres adaptatifs pour ajuster les indicateurs en fonction des conditions du marché.

  3. Optimiser le seuil du filtre pour réduire les faux signaux.

  4. L'exposition au risque est calculée sur la base de l'exposition au risque.

  5. Ajuster la taille des positions pour optimiser l'efficacité de l'utilisation du capital.

Conclusion

En conclusion, la stratégie d'inversion de l'élan combine les forces des stratégies d'inversion et de filtrage de l'élan pour améliorer la qualité et la rentabilité du signal dans une certaine mesure. Cependant, elle présente également des défauts tels que l'ignorance de tendances plus importantes, de paramètres statiques, de faux signaux, etc. Des méthodes telles que la validation à plusieurs délais, les paramètres adaptatifs, le stop loss peuvent optimiser la stratégie en réduisant les risques et en améliorant la rentabilité constante.


/*backtest
start: 2023-09-08 00:00:00
end: 2023-10-08 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 25/09/2019
// This is combo strategies for get a cumulative signal. 
//
// 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.
//
// Second strategy
// This indicator plots a CMO which ignores price changes which are less 
// than a threshold value. CMO was developed by Tushar Chande. A scientist, 
// an inventor, and a respected trading system developer, Mr. Chande developed 
// the CMO to capture what he calls "pure momentum". For more definitive 
// information on the CMO and other indicators we recommend the book The New 
// Technical Trader by Tushar Chande and Stanley Kroll.
// The CMO is closely related to, yet unique from, other momentum oriented 
// indicators such as Relative Strength Index, Stochastic, Rate-of-Change, etc. 
// It is most closely related to Welles Wilder`s RSI, yet it differs in several ways:
// - It uses data for both up days and down days in the numerator, thereby directly 
// measuring momentum;
// - The calculations are applied on unsmoothed data. Therefore, short-term extreme 
// movements in price are not hidden. Once calculated, smoothing can be applied to the 
// CMO, if desired;
// - The scale is bounded between +100 and -100, thereby allowing you to clearly see 
// changes in net momentum using the 0 level. The bounded scale also allows you to 
// conveniently compare values across different securities.
//
// 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

fFilter(xSeriesSum, xSeriesV, Filter) =>
    iff(xSeriesV > Filter, xSeriesSum, 0)

CMOfilt(Length,Filter, TopBand, LowBand) =>
    pos = 0
    xMom = close - close[1]
    xMomAbs = abs(close - close[1])
    xMomFilter = fFilter(xMom, xMomAbs, Filter)
    xMomAbsFilter = fFilter(xMomAbs,xMomAbs, Filter)
    nSum = sum(xMomFilter, Length)
    nAbsSum = sum(xMomAbsFilter, Length)
    nRes =   100 * nSum / nAbsSum
    pos := iff(nRes > TopBand, 1,
	         iff(nRes < LowBand, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & CMOfilt", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthCMO = input(9, minval=1)
Filter = input(3, minval=1)
TopBand = input(70, minval=1)
LowBand = input(-70, maxval=-1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posCMOfilt = CMOfilt(LengthCMO,Filter, TopBand, LowBand)
pos = iff(posReversal123 == 1 and posCMOfilt == 1 , 1,
	   iff(posReversal123 == -1 and posCMOfilt == -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 ? #b50404: possig == 1 ? #079605 : #0536b3 )

Plus de