Stratégie de renversement bidirectionnel et de moyenne mobile de momentum


Date de création: 2023-11-06 16:18:18 Dernière modification: 2023-11-06 16:18:18
Copier: 0 Nombre de clics: 641
1
Suivre
1621
Abonnés

Stratégie de renversement bidirectionnel et de moyenne mobile de momentum

Aperçu

Cette stratégie est une stratégie combinée qui combine la stratégie d’inversion avec l’indicateur de dynamique. Elle intègre la stratégie d’inversion bidirectionnelle et l’oscillateur de dynamique de Chanel, qui vise à trouver des opportunités d’inversion tout en vérifiant les signaux de dynamique, pour un signal de transaction plus fiable.

Principe de stratégie

La stratégie est composée de deux volets:

La première partie est la stratégie de reprise bidirectionnelle. Elle permet de juger de l’opportunité d’une reprise en détectant les variations du prix de clôture des deux jours précédents. Plus précisément, si le prix de clôture des deux jours précédents diminue, le prix de clôture du jour précédent augmente et l’indicateur aléatoire est inférieur au niveau fixé, c’est un signal d’achat.

La deuxième partie est l’oscillateur de dynamique de Chanel. Il juge la dynamique en comparant la variation des prix avec la taille de la variation moyenne sur un certain cycle. Si l’indicateur de dynamique est supérieur à la limite supérieure définie, c’est un signal d’achat; si il est inférieur à la limite inférieure définie, c’est un signal de vente.

Cette stratégie utilise une combinaison d’une inversion bidirectionnelle pour déterminer le point d’inversion et d’un indicateur de dynamique pour vérifier la dynamique. Un signal d’achat et de vente réel ne peut être généré que lorsque les deux signaux sont synchronisés.

Avantages stratégiques

  • Mécanisme de double vérification, évitant les faux signaux et améliorant la fiabilité des signaux. Stratégie d’inversion pour déterminer les points de retournement potentiels, indicateur de dynamique pour vérifier l’efficacité des signaux de retournement.

  • Les stratégies de retournement sont combinées avec des stratégies de tendance, permettant de saisir les opportunités de marché avec souplesse.

  • L’introduction de l’indicateur de dynamique évite le piège de l’inversion et permet de négocier uniquement lorsque la dynamique est confirmée.

  • Les paramètres peuvent être modifiés et optimisés pour différents marchés.

Risque stratégique

  • Les signaux inversés peuvent avoir une profondeur de rétroaction élevée, nécessitant un arrêt raisonnable.

  • La capture du point de retournement nécessite une précision, ce qui peut entraîner des erreurs de jugement.

  • L’indicateur de vitesse est en retard et risque de manquer le meilleur moment de retour.

  • Les paramètres doivent être soigneusement optimisés en fonction du marché, et un mauvais réglage peut augmenter le risque de transaction.

Il est possible de contrôler les pertes individuelles par un arrêt raisonnable. Optimiser les paramètres, rechercher la stabilité des paramètres.

Orientation de l’optimisation de la stratégie

  • Tester différentes combinaisons de paramètres de retournement pour trouver des paramètres sensibles au retournement du marché.

  • Essayez différents indicateurs de dynamique, tels que l’indice de force et de faiblesse relative, le taux de variation de la quantité d’acheminement, etc.

  • Ajouter des conditions de filtrage telles que la rupture pour éviter les transactions qui ne sont pas des points de basculement critiques.

  • Évaluer les stratégies de stop loss pour trouver les méthodes de stop loss les plus réversibles et les plus contrôlables.

  • Évaluer les stratégies de contrôle des positions et ajuster la taille des positions en fonction des conditions du marché.

Résumer

Cette stratégie combine les avantages de la stratégie de renversement et de la stratégie de dynamique, avec une fiabilité élevée du signal et la possibilité de saisir les opportunités du marché de manière flexible. La réduction des risques, la stabilité de la stratégie et la rentabilité sont améliorées par des méthodes telles que l’optimisation des paramètres, la gestion des pertes et le contrôle de la position.

Code source de la stratégie
/*backtest
start: 2023-10-06 00:00:00
end: 2023-11-05 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 18/08/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 Chande Momentum Oscillator. This indicator 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

CMO(Length, TopBand, LowBand) =>
    pos = 0
    xMom = abs(close - close[1])
    xSMA_mom = sma(xMom, Length)
    xMomLength = close - close[Length]
    nRes = 100 * (xMomLength / (xSMA_mom * Length))
    pos :=  iff(nRes > TopBand, 1,
	         iff(nRes <= LowBand, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Chande Momentum Oscillator", 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)
TopBand = input(70, minval=1)
LowBand = input(-70, maxval=-1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posCMO = CMO(LengthCMO, TopBand, LowBand)
pos = iff(posReversal123 == 1 and posCMO == 1 , 1,
	   iff(posReversal123 == -1 and posCMO == -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 )