Cette stratégie combine des indicateurs de moyenne mobile et de dynamique, appartenant aux stratégies de suivi des tendances. Elle juge la direction de la tendance du marché en calculant la moyenne mobile sur une certaine période. Lorsque le prix franchit la moyenne mobile, on considère que la tendance s'est inversée et que le trading peut être effectué.
Cette stratégie repose principalement sur deux indicateurs:
Moyenne mobile simple (SMA): Calcule le prix de clôture moyen sur une certaine période pour déterminer la direction générale de la tendance.
jours ascendants/abaissants consécutifs: compte le nombre de jours où le prix a été dans une tendance haussière ou baissière persistante comme signal de confirmation d'un renversement de tendance.
Plus précisément, la stratégie calcule d'abord la SMA de 520 jours, qui représente la direction générale de la tendance. Si le prix augmente et traverse la SMA, elle commence à compter le nombre de jours de hausse; si le prix chute et traverse la SMA, elle commence à compter le nombre de jours de baisse. Lorsque le nombre de jours de hausse ou de baisse atteint 27 jours, un commerce directionnel correspondant est effectué.
Par exemple, si le prix augmente et traverse la SMA, et continue à augmenter pendant 27 jours, un long trade est effectué; si le prix chute et traverse la SMA, et continue à chuter pendant 27 jours, un short trade est effectué.
Cette stratégie combine des moyennes mobiles et des indicateurs de dynamique pour suivre efficacement les tendances tout en évitant les interférences sonores du marché à court terme.
L'utilisation d'un SMA à long terme pour juger de la tendance majeure peut filtrer efficacement les fluctuations et le bruit à court terme.
L'augmentation des signaux de confirmation des journées ascendantes/descendant consécutives permet d'éviter d'être trompé par de fausses ruptures à court terme et de réduire les transactions inutiles.
Ne négocier que lorsque la tendance s'inverse peut maximiser la capture de la direction et de l'élan de la tendance.
Les règles sont claires et faciles à mettre en œuvre, aucune optimisation complexe des paramètres n'est nécessaire, adaptées aux investisseurs ordinaires.
Cette stratégie comporte également des risques:
Il peut manquer des opportunités d'entrée précoce dans les tendances à long terme du marché haussier.
Il est enclin à se laisser tromper par de fréquentes fausses ruptures sur les marchés à fourchette, ce qui entraîne une négociation excessivement invalide.
Si les paramètres SMA sont définis de manière incorrecte, la stratégie peut réagir lentement aux changements de tendance.
Si les paramètres de perfusion ne sont pas réglés correctement, les signaux de négociation peuvent être trop fréquents ou trop rares.
La stratégie peut être encore optimisée dans les aspects suivants:
Ajouter des SMA de plusieurs délais pour la vérification à cycles multiples afin d'éviter les limitations d'un seul cycle.
Ajouter d'autres indicateurs de tendance tels que le MACD pour un jugement complet afin d'améliorer la précision.
Optimiser les paramètres de perfusion pour trouver un point d'équilibre, en évitant les signaux de trading trop fréquents ou trop rares.
Ajouter des stratégies de stop loss pour contrôler les pertes uniques.
Incorporer des indicateurs de volume pour éviter les risques de divergence de volume.
Dans l'ensemble, cette stratégie est une stratégie de suivi de tendance simple et pratique. Elle juge la tendance majeure avec une SMA à long terme et utilise la perfusion pour confirmer les signaux d'inversion de tendance, ce qui peut effectivement suivre les tendances tout en évitant la tromperie du bruit. Avec une certaine optimisation, elle peut devenir une stratégie de tendance fiable.
/*backtest start: 2023-09-11 00:00:00 end: 2023-09-18 00:00:00 period: 5m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ strategy(title="Mbit Moving Average",overlay=true) length = input(520) confirmBars = input(27) price = close ma = ta.sma(price, length) bcond = price > ma bcount = bcond ? nz(bcount[1]) + 1 : 0 scond = price < ma scount = scond ? nz(scount[1]) + 1 : 0 long = scount == confirmBars short = bcount == confirmBars //Strategy strategy.entry("long", strategy.long, when=long) strategy.entry("short",strategy.short, when=short)