Il s'agit d'une stratégie de suivi de tendance basée sur les bandes de Bollinger. Il utilise les bandes de Bollinger pour calculer les canaux de prix et combine les modèles de bougies pour déterminer la direction de la tendance. Les positions longues / courtes seront ouvertes lorsque le prix échappe aux bandes de Bollinger. Cette stratégie fonctionne bien pour les actions avec des tendances évidentes et vise à capturer les profits de tendance à moyen terme.
Cette stratégie utilise la bande supérieure, la bande moyenne et la bande inférieure des bandes de Bollinger pour déterminer les fourchettes de prix. Les bandes supérieure et inférieure enveloppent les mouvements de prix tandis que la bande moyenne est la moyenne mobile. La largeur de la bande change en fonction de la volatilité des prix. Lorsque le prix dépasse la bande supérieure, cela indique une rupture ascendante et une entrée longue. Lorsque le prix dépasse la bande inférieure, cela indique une rupture descendante et une entrée courte.
Après avoir déterminé la direction de la tendance avec la rupture des bandes de Bollinger, la stratégie la confirme également avec des modèles de bougies. Si le corps de la bougie s'aligne sur la tendance, comme la bougie haussière dans une tendance haussière, une position sera ouverte. Si le corps de la bougie montre un motif inverse, comme la bougie baissière dans une tendance haussière, le signal sera ignoré. Cette conception vise à éviter les faux risques de rupture.
Les règles détaillées relatives aux signaux de négociation sont les suivantes:
Calculer les bandes supérieures, moyennes et inférieures des bandes de Bollinger pour déterminer la fourchette de prix
Lorsque le prix dépasse la marge supérieure, il indique une tendance à la hausse/longue
Si le chandelier est haussier, confirmer la tendance et aller long
Lorsque le prix dépasse la fourchette inférieure, il indique une tendance à la baisse/courte
Si le chandelier est baissier, confirmer la tendance et aller court
Définir le stop loss et le profit selon le pourcentage
En entrant sur les ruptures de Bollinger Bands et en confirmant avec des chandeliers, cette stratégie peut identifier efficacement la direction de la tendance et obtenir de bonnes entrées au cours des premières étapes de la tendance.
Il s'agit d'une tendance typique qui suit une stratégie qui présente les points forts suivants:
Les bandes de Bollinger sont adaptatives et peuvent ajuster les fourchettes pour les stocks à volatilité différente
La confirmation du chandelier filtre les fausses fuites
La détention à moyen terme réduit la fréquence des transactions et réduit les coûts/dérapage
La capture des tendances à moyen terme évite le bruit à court terme et offre un bon rapport risque/rendement
Les résultats des tests antérieurs sont solides et les transactions réelles sont stables en raison de la systématisation
La logique stratégique est claire et facile à comprendre, avec des possibilités d'amélioration
En déterminant la tendance avec les bandes de Bollinger et en entrant sur la confirmation du chandelier, cette stratégie capte efficacement l'élan à moyen terme tiré par le volume.
Il y a aussi quelques risques à prendre en compte pour cette stratégie:
Le risque d'échec de la rupture.
Risque d'inversion: les tendances à moyen terme peuvent également s'inverser, des arrêts raisonnables doivent être fixés
Les paramètres et les arrêts des bandes de Bollinger doivent être ajustés pour différents stocks
Risque de surajustement: l'optimisation excessive des paramètres provoque un ajustement de la courbe
Risque d'exécution: il existe une divergence entre le backtest et le trading réel
Pour faire face à ces risques, les améliorations suivantes peuvent être apportées:
Optimiser les paramètres et la largeur des bandes de Bollinger pour un meilleur ajustement
Ajouter plus de facteurs comme le volume pour confirmer la tendance
Utilisez des arrêts dynamiques pour éviter des pertes énormes sur les retours
Appliquer l'analyse de marche vers l'avant pour éviter le surajustement
Améliorer l'exécution des ordres afin d'améliorer l'efficacité réelle des opérations
Cette stratégie peut être renforcée dans les domaines suivants:
Ajouter plus d'indicateurs comme KDJ, MACD pour confirmer les signaux et améliorer la précision
Utiliser l'apprentissage automatique pour optimiser dynamiquement les paramètres plutôt que les valeurs fixes
Définir des zones de prix autour des points de rupture pour générer des signaux plus précis
Optimiser les sorties avec des arrêts de retard ou une prise partielle de profit
Mettre en place une dimensionnement des positions pour une meilleure gestion des risques
Utiliser des types d'ordres avancés pour améliorer les résultats d'exécution
Ajouter des filtres de régime de marché pour désactiver la stratégie dans certains environnements
En introduisant plus de techniques et d'optimisations, la stabilité et la rentabilité de cette stratégie peuvent être encore améliorées pour de meilleurs résultats de backtest et de trading réels.
Il s'agit d'une stratégie de suivi de tendance typique qui utilise les bandes de Bollinger comme plages dynamiques pour déterminer la direction de la tendance.
Les avantages de cette stratégie incluent l'utilisation de bandes de Bollinger pour la tendance, de chandeliers pour la confirmation d'entrée, une faible fréquence de négociation et une systématisation facile.
Dans l'ensemble, en tant que tendance typique suivant la stratégie, il a une logique claire et est facile à mettre en œuvre avec une forte viabilité.
/*backtest start: 2022-11-09 00:00:00 end: 2023-11-15 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("Noro's Bands Scalper Strategy v1.2", shorttitle = "Scalper str 1.2", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0) //Settings needlong = input(true, defval = true, title = "Long") needshort = input(true, defval = true, title = "Short") takepercent = input(0, defval = 0, minval = 0, maxval = 1000, title = "take, %") needct = input(false, defval = false, title = "Counter-trend entry") len = input(20, defval = 20, minval = 2, maxval = 200, title = "Period") needbb = input(true, defval = true, title = "Show Bands") needbg = input(true, defval = true, title = "Show Background") src = close //PriceChannel 1 lasthigh = highest(src, len) lastlow = lowest(src, len) center = (lasthigh + lastlow) / 2 //Distance dist = abs(src - center) distsma = sma(dist, len) hd = center + distsma ld = center - distsma hd1 = center + distsma / 2 ld1 = center - distsma / 2 //Trend trend = close < ld and high < center ? -1 : close > hd and low > center ? 1 : trend[1] //Lines colo = needbb == false ? na : black plot(hd, color = colo, linewidth = 1, transp = 0, title = "High band") plot(center, color = colo, linewidth = 1, transp = 0, title = "center") plot(ld, color = colo, linewidth = 1, transp = 0, title = "Low band") //Background col = needbg == false ? na : trend == 1 ? lime : red bgcolor(col, transp = 80) //Body body = abs(close - open) smabody = sma(body, 100) //Signals bar = close > open ? 1 : close < open ? -1 : 0 up7 = trend == 1 and ((bar == -1 and bar[1] == -1) or (body > smabody and close < open)) ? 1 : 0 dn7 = trend == 1 and bar == 1 and bar[1] == 1 and close > strategy.position_avg_price * (100 + takepercent) / 100 ? 1 : 0 up8 = trend == -1 and bar == -1 and bar[1] == -1 and close < strategy.position_avg_price * (100 - takepercent) / 100 ? 1 : 0 dn8 = trend == -1 and ((bar == 1 and bar[1] == 1) or (body > smabody and close > open)) ? 1 : 0 if up7 == 1 or up8 == 1 strategy.entry("Long", strategy.long, needlong == false ? 0 : trend == -1 and needct == false ? 0 : na) if dn7 == 1 or dn8 == 1 strategy.entry("Short", strategy.short, needshort == false ? 0 : trend == 1 and needct == false ? 0 : na)