Stratégie de suivi de tendance d'inversion de croisement de moyenne mobile double


Date de création: 2024-01-04 15:48:15 Dernière modification: 2024-01-04 15:48:15
Copier: 0 Nombre de clics: 338
1
Suivre
1166
Abonnés

Stratégie de suivi de tendance d’inversion de croisement de moyenne mobile double

Aperçu

Cette stratégie est une combinaison de trois stratégies différentes utilisées pour générer un signal de négociation. La première est la stratégie de revers de forme 123, qui génère un signal de négociation lorsque le prix présente une forme spécifique; la deuxième est la stratégie de croisement de ligne, qui juge la tendance en comparant les croisements de moyennes mobiles et de moyennes mobiles indicielles; et enfin, la stratégie permet également d’opter pour des opérations de revers.

Principe de stratégie

123 Stratégie de retour en arrière

La stratégie est inspirée de la méthode proposée par Ulf Jensen dans son livre Comment obtenir un triple rendement sur le marché à terme. La stratégie est basée sur le prix de clôture des actions et l’indicateur Stoch Random. Les règles spécifiques sont:

Lorsque le prix de clôture est supérieur au prix de clôture du jour précédent et supérieur au prix de clôture des deux jours précédents, et que l’indicateur stochastique lent du cycle de 9 jours est inférieur à 50, faire plus; lorsque le prix de clôture est inférieur au prix de clôture du jour précédent et inférieur au prix de clôture des deux jours précédents, et que l’indicateur stochastique rapide du cycle de 9 jours est supérieur à 50, faire un vide.

De cette façon, il peut capturer des occasions de reprise en combinant des signaux de survente ou de survente d’indicateurs aléatoires avec des hauts ou des bas de trois jours.

Stratégie d’équilibre croisé

La stratégie utilise une moyenne mobile simple de la période de la longueur MA et une croix de la moyenne mobile indicielle de la période de la longueur EMA pour générer un signal de transaction. La règle est la suivante:

Faire plus lorsque l’indicateur est en dessous de la moyenne mobile; faire moins lorsque l’indicateur est en dessous.

De cette façon, il est plus intuitif pour déterminer les points de basculement des tendances des prix. De plus, l’indice de la moyenne mobile est plus sensible aux changements de prix et peut émettre des signaux de transaction plus tôt.

Le commerce inversé

Cette stratégie permet de choisir de faire ou non des transactions inversées. Si vous choisissez de faire des transactions inversées, les signaux d’excédent deviennent des signaux d’excédent et les signaux d’excédent deviennent des signaux d’excédent. Cela peut être plus avantageux pour les traders qui sont convaincus que les marchés sont souvent trompeurs.

Avantages stratégiques

Cette stratégie combinée combine les avantages de plusieurs stratégies individuelles, ce qui permet d’éviter dans une certaine mesure les risques d’une seule stratégie et d’améliorer les taux de rendement.

Plus précisément, les stratégies de revers de 123 formes permettent de saisir en temps opportun les signes de revers des prix; les stratégies de croisement de la même ligne permettent de juger de la direction de la tendance; la possibilité de négocier en revers réduit la probabilité d’être arbitragé.

Dans l’ensemble, la stratégie est réactive, suit bien les tendances et peut être personnalisée pour s’adapter à différents environnements de marché.

Risque stratégique

Le plus grand risque de cette stratégie réside dans le fait que la combinaison de stratégies est elle-même plus complexe et qu’il n’est pas facile de déterminer les causes de l’échec/succès, ce qui ne favorise pas l’optimisation des stratégies.

En outre, comme toute autre stratégie d’analyse technique, cette stratégie est confrontée à des problèmes tels que la couverture et l’échec des arrêts de perte. En particulier, des signaux erronés peuvent être générés lors de fortes fluctuations des prix.

Pour réduire ces risques, il est possible d’ajuster les paramètres de manière à ce que l’indicateur soit plus stable. Il est possible d’assouplir les limites de stop loss de manière appropriée ou d’utiliser des méthodes telles que le stop loss de volume.

Optimisation de la stratégie

Cette stratégie peut également être optimisée dans les domaines suivants:

  1. Ajouter des conditions de filtrage, telles que le volume des transactions, la volatilité, etc., afin de filtrer certains signaux inefficaces

  2. Optimiser les paramètres pour trouver la meilleure combinaison de paramètres

  3. Essayez différents indicateurs de convergence pour trouver ceux qui correspondent le mieux au contexte actuel du marché.

  4. Ajout de modèles d’apprentissage automatique pour optimiser automatiquement les paramètres à l’aide de l’IA

Résumer

Cette stratégie est une stratégie combinée, regroupant plusieurs stratégies uniques, qui permet de suivre efficacement le renversement de la tendance et convient aux opérations sur les lignes moyennes et longues. Avec des moyens d’optimisation des paramètres et de contrôle des risques, son effet est considérablement amélioré. Il vaut la peine d’approfondir la recherche, l’application et l’amélioration des praticiens de la négociation quantitative.

Code source de la stratégie
/*backtest
start: 2023-12-27 00:00:00
end: 2024-01-03 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 19/06/2020
// 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
// The Moving Average Crossover trading strategy is possibly the most popular
// trading strategy in the world of trading. First of them were written in the
// middle of XX century, when commodities trading strategies became popular.
// This strategy is a good example of so-called traditional strategies. 
// Traditional strategies are always long or short. That means they are never 
// out of the market. The concept of having a strategy that is always long or 
// short may be scary, particularly in today’s market where you don’t know what 
// is going to happen as far as risk on any one market. But a lot of traders 
// believe that the concept is still valid, especially for those of traders who 
// do their own research or their own discretionary trading. 
// This version uses crossover of moving average and its exponential moving average.
//
// 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

MACross(LengthMA,LengthEMA) =>
    pos = 0
    xMA = sma(close, LengthMA)
    xEMA = ema(xMA, LengthEMA)
    pos := iff(xEMA < xMA , 1,
	       iff(xEMA > xMA, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & EMA & MA Crossover", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthMA = input(10, minval=1)
LengthEMA = input(10,minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posMACross = MACross(LengthMA,LengthEMA)
pos = iff(posReversal123 == 1 and posMACross == 1 , 1,
	   iff(posReversal123 == -1 and posMACross == -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 )