Système de croisement à moyenne mobile triple


Date de création: 2023-09-28 15:33:14 Dernière modification: 2023-09-28 15:33:14
Copier: 1 Nombre de clics: 779
1
Suivre
1617
Abonnés

Aperçu

Le triple croisement des moyennes mobiles est une stratégie de négociation d’actions typique pour suivre les tendances. Il utilise le croisement de trois moyennes mobiles de différentes longueurs de temps comme signal d’achat et de vente. Un signal d’achat est généré lorsque la moyenne mobile est traversée par la moyenne mobile à court terme et que la moyenne mobile est traversée par la moyenne mobile à long terme.

Principe de stratégie

La stratégie est basée sur trois moyennes mobiles: la moyenne mobile à long terme ma1, la moyenne mobile à moyen terme ma2 et la moyenne mobile à court terme ma3.

length1 = input(18,'长线') 
length2 = input(9,'中线')
length3 = input(4,'短线')

ma1 := sma(close,length1) 
ma2 := sma(close,length2)
ma3 := sma(close,length3)

La fonction sma calcule la moyenne mobile simple des prix de clôture sur la longueur correspondante.

Le moment de l’achat et de la vente est ensuite jugé à l’aide d’une croix de trois moyennes mobiles:

if ma2 > ma1 and ma3 > ma3[1] 
    strategy.entry("Long", strategy.long)

if ma2 < ma1 and ma3 < ma3[1]
    strategy.entry("Short", strategy.short) 

Un signal de multiplication est émis lorsque la ligne moyenne ma2 traverse la ligne longue ma1 et que la ligne courte ma3 traverse la ligne longue ma1 et que la ligne courte ma3 traverse la ligne courte ma3.

Avantages stratégiques

  • L’utilisation de trois moyennes mobiles permet de juger plus clairement les changements de tendance.
  • Les combinaisons de lignes longues et courtes peuvent filtrer le bruit du marché à court terme et bloquer les tendances des lignes plus longues.
  • Les règles sont simples et faciles à utiliser.
  • Les paramètres des trois moyennes mobiles peuvent être ajustés pour s’adapter à différents environnements de marché.

Risque stratégique

  • Les points de vente et d’achat sont confirmés par la suite et ne permettent pas d’éviter complètement les pertes.
  • Il y a plusieurs faux signaux lorsque le cours de l’action oscille près de la moyenne mobile.
  • Les lignes trop longues manquent le point de basculement de la tendance. Les lignes trop courtes sont fréquemment négociées à cause du bruit.
  • Il n’est pas très doué pour gérer le marché horizontal.

Ces risques peuvent être atténués par des paramètres d’optimisation appropriés, combinés à d’autres indicateurs comme conditions de filtrage.

Orientation de l’optimisation de la stratégie

  • On peut tester des combinaisons de paramètres de différentes longueurs pour trouver le paramètre optimal.
  • Le stop loss peut être ajouté pour contrôler les pertes.
  • On peut ajouter d’autres indicateurs de jugement et de déviation pour éviter les erreurs de jugement, tels que MACD, KD, etc.
  • Vous pouvez choisir la stratégie de prévention appropriée en fonction de la situation.

Résumer

La stratégie de croisement de triple moyenne mobile est une stratégie de suivi de tendance simple et pratique. Elle juge les changements de tendance du marché en fonction de la croisement de trois moyennes mobiles pour générer un signal de négociation. La stratégie a l’avantage que les règles sont simples et peuvent suivre efficacement la tendance, adaptée à l’opération de la ligne moyenne et longue.

Code source de la stratégie
/*backtest
start: 2023-08-28 00:00:00
end: 2023-09-27 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © dongyun

//@version=4
strategy("三重交叉修正模式系统", overlay=true)
//strategy.risk.allow_entry_in(strategy.direction.long)
length1 = input(18,'长线')
length2 = input(9,'中线')
length3 = input(4,'短线')

ma1 =0.0
ma2 = 0.0
ma3 = 0.0

ma1 := sma(close,length1)
ma2 := sma(close,length2)
ma3 := sma(close,length3)

plot(ma1)
plot(ma2)
plot(ma3)

if ma2 > ma1 and ma3 > ma3[1]
	strategy.entry("Long", strategy.long, when=strategy.position_size <= 0)

if ma2 < ma1 and ma3 < ma3[1]
	strategy.entry("Short", strategy.short, when=strategy.position_size > 0)