
La stratégie de trading à deux moyennes mobiles est une stratégie de trading quantitative qui utilise deux moyennes mobiles de différentes périodes pour construire un signal de négociation. La stratégie permet de déterminer les tendances et les opportunités du marché en calculant la relation entre les deux moyennes mobiles.
La stratégie utilise principalement deux moyennes mobiles pour l’analyse des indicateurs techniques. La stratégie définit une moyenne mobile de 5 jours ma0 sur une période plus courte et une moyenne mobile de 21 jours ma1 sur une période plus longue.
Lorsque osc0>0 et osc1>0, indique que la moyenne à court terme a traversé la moyenne à long terme, appartient à un mouvement à plusieurs têtes; lorsque osc0 et osc1, indique que la moyenne à court terme a traversé la moyenne à long terme, appartient à un mouvement à vide. La stratégie prend des opérations d’ouverture de position d’achat lors du jugement d’un mouvement à plusieurs têtes; lors du jugement d’un mouvement à vide, il prend des opérations d’ouverture de position de vente.
Après l’ouverture de la position, la stratégie juge l’espace de profit de la position en surveillant les changements en temps réel des positions osc0 et osc1. Lorsque les positions osc0 < 0 et osc1 < 0 sont détenues par plusieurs personnes, le renversement de la tendance est indiqué, et la position des personnes est levée. Lorsque les positions osc0> 0 et osc1> 0 sont détenues par des personnes sans tête, le renversement de la tendance est indiqué, et la position vide est levée.
Les avantages de la stratégie de trading à deux moyennes mobiles sont les suivants:
Le principe de fonctionnement est simple, la mise en œuvre est facile à comprendre et convient aux débutants en trading quantitatif.
Les échanges en cours, qui suivent la tendance, sont plus rentables.
Les paramètres périodiques des moyennes mobiles peuvent être adaptés aux caractéristiques de différents marchés en les ajustant;
Il peut être utilisé avec d’autres indicateurs ou combinaisons de stratégies pour augmenter les marges bénéficiaires.
La stratégie de négociation de deux moyennes mobiles comporte également des risques:
L’incapacité à arrêter les pertes en temps opportun peut entraîner des pertes plus importantes lorsque la tendance est inversée;
Le nombre de victimes a augmenté de façon spectaculaire depuis le début de la crise.
Les paramètres sont difficiles à optimiser, les 5 et 21 ne sont pas optimaux;
Les signaux de transaction sont retardés, l’entrée est tardive et peut affecter les taux de profit.
Les stratégies de négociation en deux moyennes mobiles peuvent être optimisées dans les domaines suivants:
En combinaison avec l’indicateur VOL, identifier le début d’une véritable tendance et éviter les faux-bouts;
l’ajout de critères de jugement supplémentaires, tels que la hausse des prix, l’augmentation du volume des transactions, etc., pour assurer la fiabilité des signaux de négociation;
La mise en place d’un arrêt dynamique des positions et d’une maîtrise des pertes en temps opportun;
Optimiser les seuils paramétriques des moyennes mobiles pour réduire le taux d’erreur.
Optimisation automatique des paramètres périodiques des moyennes mobiles à l’aide de méthodes d’apprentissage automatique.
La stratégie de trading à deux moyennes mobiles est globalement une stratégie de suivi de tendance plus classique et pratique. La stratégie est simple à utiliser et convient aux débutants de la pratique de la négociation quantitative. Par ailleurs, l’effet de suivi est bon.
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("[STRATEGY][RS]MA Strategy test V0", overlay=true)
length0 = input(5)
length1 = input(21)
isinsession = not na(time('1', '0400-1500'))
price = open
ma0 = ema(ema(price, length0), length0)
ma1 = ema(ema(price, length1), length1)
plot(ma0, color=navy)
plot(ma1, color=black)
osc0 = price-ma0
osc1 = ma0-ma1
isbull = osc0 > 0 and osc1 > 0
buy_condition = isinsession and isbull and not isbull[1]
buy_exit_condition = osc0 < 0 and osc1 < 0
strategy.entry("buy", strategy.long, comment="buy", when=buy_condition)
strategy.close(id='buy', when=buy_exit_condition)
isbear = osc0 < 0 and osc1 < 0
sell_condition = isinsession and isbear and not isbear[1]
sell_exit_condition = osc0 > 0 and osc1 > 0
strategy.entry("sell", strategy.short, comment="sell", when=sell_condition)
strategy.close(id='sell', when=sell_exit_condition)
//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)