Stratégie de négociation de la tortue basée sur une moyenne mobile simple

Auteur:ChaoZhang est là., Date: 2023-12-29 16:45:51 Je suis désolé
Les étiquettes:

img

Résumé

Cette stratégie génère des bénéfices en calculant deux groupes de moyennes mobiles simples avec des paramètres différents et en les utilisant comme signaux pour l'ouverture et la fermeture des positions.

Principaux

La stratégie calcule simultanément deux groupes de lignes rapides et lentes. Les paramètres de la ligne rapide sont définis à 20 jours pour les positions d'ouverture et 10 jours pour les positions de clôture. Les paramètres de la ligne lente sont respectivement de 55 jours et 20 jours. Lorsque le prix dépasse la valeur la plus élevée de la période d'ouverture de la ligne rapide, il déclenche un signal long. Lorsque le prix tombe en dessous de la valeur la plus basse de la période d'ouverture de la ligne rapide, il déclenche un signal court. De même, lorsque le prix tombe en dessous de la valeur la plus basse de la période de clôture de la ligne rapide, il ferme les positions longues. Lorsque le prix dépasse la valeur la plus élevée de la période de clôture de la ligne rapide, il ferme les positions courtes.

La stratégie s'appuie sur la théorie de la moyenne mobile pour réaliser des bénéfices. C'est-à-dire que lorsque la moyenne mobile à court terme dépasse celle à long terme, elle est considérée comme un signal haussier. Quand elle dépasse en dessous, elle signale une tendance à la baisse. Les lignes rapides et lentes dans cette stratégie jouent des rôles similaires.

Les avantages

  1. Des règles simples et claires, faciles à comprendre et à mettre en œuvre, adaptées aux débutants;
  2. Des critères clairs pour l'ouverture et la clôture des positions, en évitant les transactions fréquentes;
  3. La combinaison de moyennes mobiles doubles rapides et lentes permet d' aplanir les fluctuations des prix et de générer des signaux de négociation plus clairs;
  4. L'utilisation de plusieurs ensembles de paramètres permet de contrôler les risques et de prévenir les transactions erronées;
  5. Des bénéfices stables à long terme, validés dans le trading en direct.

Risques et atténuations

  1. La stratégie elle-même est mécanique et ne peut porter aucun jugement sur les conditions particulières du marché, ce qui entraîne des limites de profit;
    • Essayer d'intégrer davantage d'indicateurs ou de modèles d'apprentissage automatique pour faciliter la prise de décision
  2. Les moyennes mobiles en tant qu'indicateurs en retard ont une certaine latence;
    • Réduire de manière appropriée les périodes d'ouverture et de fermeture
  3. Impossible de limiter le tirage maximum.
    • Fixer des points de stop-loss

Directions d'optimisation

  1. Ajouter un module stop-loss pour contrôler le tirage maximum
  2. Incorporer d'autres indicateurs pour filtrer les signaux
  3. Ajustez dynamiquement les paramètres de la moyenne mobile
  4. Ajouter un module de traitement des données pour éliminer les impacts des données anormales
  5. Incorporer des modèles d'apprentissage automatique pour déterminer les tendances

Résumé

Il s'agit d'une stratégie typique de suivi des tendances. En établissant des règles de trading basées sur des moyennes mobiles doubles simples et en suivant les tendances du marché, il permet d'obtenir des bénéfices stables. La stratégie est facile à comprendre et à mettre en œuvre avec des signaux d'ouverture clairs et des bénéfices vérifiés à long terme du trading en direct, ce qui la rend très adaptée aux débutants pour apprendre et faire des recherches. Elle jette également les bases d'un trading quantitatif plus complexe.


/*backtest
start: 2023-11-28 00:00:00
end: 2023-12-28 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
//coded by tmr0
//original idea from «Way of the Turtle: The Secret Methods that Turned Ordinary People into Legendary Traders» (2007) CURTIS FAITH
strategy("20 years old Turtles strategy by tmr0", shorttitle = "Turtles", overlay=true)

enter_fast = input(20, minval=1)
exit_fast = input(10, minval=1)
enter_slow = input(55, minval=1)
exit_slow = input(20, minval=1)

fastL = highest(enter_fast)
fastLC = lowest(exit_fast)
fastS = lowest(enter_fast)
fastSC = highest(exit_fast)

slowL = highest(enter_slow)
slowLC = lowest(exit_slow)
slowS = lowest(enter_slow)
slowSC = highest(exit_slow)

enterL1 = high > fastL[1]
exitL1 = low <= fastLC[1]
enterS1 = low < fastS[1]
exitS1 = high >= fastSC[1]

enterL2 = high > slowL[1]
exitL2 = low <= slowLC[1]
enterS2 = low < slowS[1]
exitS2 = high >= slowSC[1]


//bgcolor(exitL1 or exitL2? red: enterL1 or enterL2? navy:white)

strategy.entry("fast L", strategy.long, when = enterL1)
strategy.entry("fast S", strategy.short, when = enterS1)
strategy.close("fast L", when = exitL1)
strategy.close("fast S", when = exitS1)

strategy.entry("slow L", strategy.long, when = enterL2)
strategy.entry("slow S", strategy.short, when = enterS2)
strategy.close("slow L", when = exitL2)
strategy.close("slow S", when = exitS2)
//zl=0
//z=strategy.netprofit / 37 * koef  //ежемесячная прибыль
//z=strategy.grossprofit/strategy.grossloss
//z1=plot (z, style=line, linewidth=3, color = z>zl?green:red, transp = 30)
//hline(zl, title="Zero", linewidth=1, color=gray, linestyle=dashed)

Plus de