Stratégie d'enveloppe de déplacement à moyenne mobile


Date de création: 2024-02-02 17:02:18 Dernière modification: 2024-02-02 17:02:18
Copier: 0 Nombre de clics: 688
1
Suivre
1617
Abonnés

Stratégie d’enveloppe de déplacement à moyenne mobile

La stratégie est basée sur la génération de signaux de transaction basés sur l’indicateur de ligne de courbe de pacte de la ligne de courbe de la ligne de courbe. La ligne de courbe de la ligne de courbe est calculée en fonction du facteur de pourcentage de la moyenne mobile. Si le sommet de la période précédente se déplace vers le haut, un signal de vente est généré.

Principe de stratégie

La stratégie utilise une moyenne mobile exponentielle déplacée (EMA) comme indicateur central et, après un certain nombre de cycles, elle est amplifiée par un facteur de pourcentage pour former une trajectoire ascendante et descendante. Cela constitue un système complet de lignes de réseau de lignes de réseau de lignes de réseau de lignes de réseau.

  • EMA ((Price, Period) - indice de base des moyennes mobiles
  • top = sEMA[disp] *(100 + perAb)/100) - sur le rail
  • bott = sEMA[disp] *100 - par Bl/100) - la voie descendante

Les paramètres Percent above et Percent below contrôlent respectivement le pourcentage d’intervalle entre les moyennes mobiles des indices centraux de la trajectoire ascendante et descendante. Le paramètre Displacement est utilisé pour contrôler le déplacement périodique entre la trajectoire ascendante et descendante et la moyenne mobile des indices centraux.

De cette façon, nous pouvons former une zone de négociation appropriée en ajustant les paramètres ci-dessus. Si le prix franchit la zone, un signal de négociation est généré. Plus précisément:

  • Un signal d’achat est généré si le prix de clôture est inférieur à la botte descendante.
  • Si le prix de clôture est supérieur au top, un signal de vente est généré.

Il est à noter que la stratégie fournit également un paramètre inverse, qui, s’il est défini sur true, indique la direction opposée à celle indiquée ci-dessus.

Analyse des avantages

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

  1. L’utilisation d’une moyenne mobile indicielle comme indicateur de base permet de réduire le retard de la courbe et d’améliorer la sensibilité aux variations de prix
  2. Plus de paramètres réglables pour obtenir de meilleurs résultats de transaction grâce à l’optimisation des paramètres
  3. Offre un mode inverse adapté à différents types de marchés
  4. Les règles sont simples, claires, faciles à comprendre et à mettre en œuvre

Risques et précautions

Cette stratégie comporte également des risques, principalement:

  1. Les secousses peuvent générer de faux signaux.
  2. Une mauvaise configuration des paramètres peut entraîner des transactions excessives ou des signaux manqués
  3. L’incapacité à filtrer efficacement le bruit du marché peut générer des signaux sans valeur

Afin de prévenir ces risques, nous pouvons optimiser les choses de la manière suivante:

  1. Combiné avec d’autres indicateurs de filtrage, tels que le volume des transactions, la volatilité, etc.
  2. Augmenter le processus d’optimisation des paramètres pour trouver la meilleure combinaison de paramètres
  3. Adapter la stratégie de stop loss pour contrôler les pertes individuelles

Optimiser les idées

Il y a encore beaucoup à optimiser dans cette stratégie, principalement en considérant les aspects suivants:

  1. Ajout de modèles d’apprentissage automatique pour optimiser et ajuster automatiquement les paramètres
  2. L’ajout de fonctionnalités telles que l’arrêt de perte, l’arrêt mobile et l’arrêt de trailing permet de contrôler efficacement les risques.
  3. Filtrage des signaux en combinant les indicateurs d’humeur et le sentiment des investisseurs pour améliorer la qualité des signaux
  4. Augmentation du portefeuille de modèles, en combinaison avec d’autres indicateurs techniques pour identifier les tendances et améliorer l’exactitude globale
  5. L’héritage de ce modèle stratégique est le développement d’autres types de systèmes de ligne moyenne indicielle, élargissant la portée.

Grâce à ces optimisations, la stabilité, l’adaptabilité et l’efficacité des stratégies peuvent être encore améliorées.

Résumer

La stratégie de la ligne de paquetage mobile des moyennes mobiles utilise un système de moyennes mobiles indicielles simples et une zone paramétrique pour former des règles de négociation claires, faciles à interpréter et à mettre en œuvre. C’est une stratégie de suivi de tendance typique.

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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 14/08/2020
// Moving Average Displaced Envelope. These envelopes are calculated 
// by multiplying percentage factors with their displaced expotential 
// moving average (EMA) core.
// How To Trade Using:
// Adjust the envelopes percentage factors to control the quantity and 
// quality of the signals. If a previous high goes above the envelope 
// a sell signal is generated. Conversely, if the previous low goes below 
// the envelope a buy signal is given.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Moving Average Displaced Envelope Backtest", shorttitle="MA DE", overlay = true)
Price = input(title="Source", type=input.source, defval=close)
Period =input(defval=9, minval=1)
perAb = input(title = "Percent above", defval=.5, minval=0.01, step = 0.1)
perBl = input(title = "Percent below", defval=.5, minval=0.01, step = 0.1)
disp = input(title = "Displacement", defval=13, minval=1) 
reverse = input(false, title="Trade reverse")
pos = 0
sEMA = ema(Price, Period)
top = sEMA[disp] * ((100 + perAb)/100)
bott = sEMA[disp]* ((100 - perBl)/100)
pos := iff(close < bott , 1,
	     iff(close > top, -1, pos[1])) 
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 )