Système de croisement à moyenne mobile triple

Auteur:ChaoZhang est là., Date: 2023-09-28 15h33 et 14h
Les étiquettes:

Résumé

Le système de croisement des moyennes mobiles triples est une stratégie de négociation d'actions typique qui suit la tendance. Il utilise le croisement de trois moyennes mobiles de différentes durées de temps comme signaux d'achat et de vente. Lorsque la moyenne mobile à court terme dépasse la moyenne mobile à moyen terme et que la moyenne mobile à moyen terme dépasse la moyenne mobile à longue période, un signal d'achat est généré. Lorsque la moyenne mobile à court terme dépasse la moyenne mobile à moyen terme et que la moyenne mobile à moyen terme dépasse la moyenne mobile à longue période, un signal de vente est généré.

La logique de la 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 du prix de clôture sur la longueur correspondante.

Il utilise ensuite le croisement des trois moyennes mobiles pour déterminer les entrées et les sorties:

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

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

Lorsque le ma2 à moyen terme passe au-dessus du ma1 à long terme, et le ma3 à court terme passe au-dessus de la période précédente s ma3, un signal long est déclenché.

Les avantages de la stratégie

  • L'utilisation de trois moyennes mobiles permet d'identifier clairement les changements de tendance.
  • La combinaison de longues et de courtes périodes filtre un certain bruit de marché à court terme et bloque les tendances à plus long terme.
  • Des règles simples le rendent facile à mettre en œuvre.
  • Les paramètres peuvent être ajustés pour s'adapter aux différents environnements du marché.

Risques liés à la stratégie

  • Les entrées et les sorties sont identifiées avec le recul et ne peuvent pas éviter complètement les pertes.
  • Les whipsaws se produisent lorsque le prix oscille autour des moyennes mobiles.
  • Une ligne à longue période qui est trop longue peut manquer les points tournants de la tendance. une ligne à courte période qui est trop courte peut déclencher des transactions fréquentes en raison du bruit.
  • Il ne gère pas très bien les marchés variés.

Ces risques peuvent être réduits par une optimisation appropriée des paramètres, l'ajout de filtres avec d'autres indicateurs, etc.

Directions d'amélioration

  • Testez en arrière différentes combinaisons de paramètres pour trouver des valeurs optimales.
  • Ajouter le stop loss aux pertes de contrôle.
  • Ajouter d'autres indicateurs pour juger de l'élan et de la divergence afin d'éviter de faux signaux.
  • Choisissez une stratégie de prise de profit adaptée à la situation réelle.

Résumé

La stratégie de croisement de la moyenne mobile triple est une stratégie simple et pratique de suivi des tendances. Elle identifie les changements de direction de la tendance basés sur le croisement de trois moyennes mobiles pour générer des signaux de trading. Les avantages de cette stratégie sont ses règles simples et son suivi efficace des tendances, ce qui la rend adaptée au trading à moyen et long terme.


/*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)

Plus de