La stratégie de tendance de bande de moyenne mobile est une stratégie de suivi de tendance basée sur des moyennes mobiles. Elle utilise une moyenne mobile unique pour construire un canal de prix et détermine la direction de tendance basée sur le prix par rapport au canal, puis place les transactions en conséquence.
La stratégie calcule une moyenne mobile simple avec une durée de période spécifiée (par défaut 20 périodes) et construit un canal de prix en utilisant les valeurs MA. Les bandes supérieures et inférieures du canal sont respectivement les valeurs les plus élevées et les plus basses de la MA. Si le prix de clôture est au-dessus de la bande supérieure, une tendance haussière est déterminée. Si le prix de clôture est en dessous de la bande inférieure, une tendance baissière est identifiée.
Lorsqu'un changement de tendance est détecté, la stratégie effectue des transactions. Si la tendance change de bas en haut, une position longue sera ouverte. Si la tendance change de haut en bas, une position courte sera ouverte. Les positions longues existantes seront fermées si la tendance baisse et les positions courtes existantes seront fermées si la tendance augmente.
Plus précisément, la logique de négociation est la suivante:
La stratégie utilise un MA unique pour construire le canal de prix et identifier les changements de tendance par rupture de prix.
La stratégie de tendance de la bande de moyenne mobile présente les avantages suivants:
En résumé, la stratégie est basée sur une logique simple, utilise le canal de prix pour identifier les changements de tendance et peut suivre efficacement les tendances des prix à plus long terme.
La stratégie comporte également certains risques:
Les risques peuvent être traités par:
La stratégie peut être améliorée dans les aspects suivants:
Optimisation de l'indicateur MA: Testez différents MA comme WMA pour améliorer les performances.
Ajouter des filtres: Ajoutez des filtres comme le volume, la volatilité avant l'entrée pour éviter les coups de fouet.
Délais multiples: Utilisez les MAs sur différentes périodes pour identifier davantage de tendances.
Paramètres dynamiques: permettre un ajustement dynamique de la période d'autorisation d'approvisionnement et de la largeur du canal en fonction des conditions du marché.
Dimensionnement de la position: ajuster la taille de la position en fonction des conditions du marché afin de limiter les pertes.
Apprentissage automatique: Utilisez ML pour trouver des combinaisons optimales de paramètres.
Les méthodes d'ensemble: Combiner avec d'autres stratégies de suivi de tendance pour une plus grande robustesse.
En résumé, la stratégie peut être améliorée de manière globale en termes de sélection d'indicateurs, de filtres, de délais, de paramètres dynamiques, de dimensionnement des positions, etc. Cela rendra la stratégie plus robuste et flexible dans différents environnements de marché.
La stratégie de tendance de bande de moyenne mobile est une stratégie simple de suivi des tendances. Elle utilise un seul MA pour construire un canal de prix et identifie la direction de la tendance par rupture de canal, dans le but de capturer les tendances à moyen et long terme. La stratégie présente des avantages tels qu'une logique simple, peu de paramètres et une facilité de mise en œuvre.
/*backtest start: 2022-10-26 00:00:00 end: 2023-11-01 00:00:00 period: 1d basePeriod: 1h 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/ // © noro //@version=4 strategy(title = "Noro's Trend Ribbon Strategy", shorttitle = "Trend Ribbon str", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0, commission_value = 0.1) len = input(20, minval = 5, title = "MA Length") src = input(ohlc4, title = "MA Source") //MA ma = sma(src, len) plot(ma, color = color.black) //Channel h = highest(ma, len) l = lowest(ma, len) ph = plot(h) pl = plot(l) //Trend trend = 0 trend := close > h[1] ? 1 : close < l[1] ? -1 : trend[1] //BG col = trend == 1 ? color.blue : color.red fill(ph, pl, color = col, transp = 50) //Trading if close > h[1] strategy.entry("Long", strategy.long) if close < l[1] strategy.entry("Short", strategy.short)