La stratégie du filtre à double bande passante est adaptée de la stratégie publiée par Broder dans le magazine Stocks & Commodities en 2010. Elle génère des signaux de trading en calculant la valeur du filtre à bande passante de Broder
Les étapes clés de cette stratégie sont les suivantes:
Initialiser les paramètres, y compris la longueur de bande passanteLength
, coefficient de fluctuationDelta
, seuil de zone courteSellZone
, et le seuil de zone longueBuyZone
.
Calculer le filtre de bande passante de BroderBP
en utilisant une série de fonctions trigonométriques.
Déterminer la direction de la position: court-circuiter siBP
est au-dessusSellZone
; aller long si en dessousBuyZone
Dans le cas contraire, maintenir la position actuelle.
Les signaux de sortie: génèrent des signaux longs/courts en fonction de la direction de la position.
Définissez les couleurs des barres en fonction des résultats du signal.
Tracez la courbe du filtre à bande passante.
Cette stratégie capture les fluctuations à court terme à l'aide du filtre de bande passante Broder et génère des signaux de trading lorsque les fluctuations atteignent une certaine magnitude pour suivre la tendance.
Plus sensibles aux fluctuations du marché basées sur le filtre à bande passante Broder, qui peut détecter les tendances à court terme.
La sensibilité peut être ajustée par ajustement des paramètres pour s'adapter aux différents environnements du marché.
Une logique stratégique simple et claire, facile à comprendre et à mettre en œuvre.
Les paramètres peuvent être facilement optimisés pour trouver la meilleure combinaison.
La courbe du filtre à bande passante visuelle montre intuitivement les fluctuations du marché.
Un filtre à bande passante trop optimisé peut devenir trop sensible et générer de faux signaux.
L'impossibilité de déterminer les points d'extrémité de fluctuation peut entraîner une expansion des pertes.
Une fréquence de négociation élevée peut augmenter les coûts et les risques de dérapage.
Vulnérable aux événements du cygne noir qui déclenchent de faux signaux.
Les paramètres doivent être ajustés pour les différents produits et marchés.
Considérez la possibilité de définir un stop loss pour contrôler la perte par transaction.
Prolonger le temps de sortie ou ajouter des filtres pour réduire les faux signaux.
Optimiser les paramètres pour trouver la meilleure combinaison, évaluer le taux de victoire, le taux de profit, le taux de Sharpe, etc.
Ajoutez des filtres tels que la moyenne mobile croisée, les modèles de prix pour éviter de négocier dans des zones non tendance.
Considérer la combinaison de paramètres sur plusieurs instruments pour la négociation du panier afin de diversifier les risques.
Ajoutez une logique de stop loss pour contrôler les pertes par transaction, comme les stops dynamiques ou les trailing stops.
Il est possible de définir différents niveaux pour différentes étapes de la tendance.
Optimiser les signaux d'entrée pour éviter les faux signaux sur les marchés en évolution.
Élargir à un système d'arbitrage entre actifs utilisant des différentiels de prix pour la couverture.
Optimisation des tests antérieurs pour une meilleure sélection d'actifs et des stratégies de rééquilibrage.
La stratégie du filtre à double bande passante juge les fluctuations de prix à l'aide du filtre à bande passante de Broder
/*backtest start: 2022-10-17 00:00:00 end: 2023-10-23 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 18/09/2018 // The related article is copyrighted material from // Stocks & Commodities Mar 2010 // You can use in the xPrice any series: Open, High, Low, Close, HL2, HLC3, OHLC4 and ect... // // You can change long to short in the Input Settings // WARNING: // - For purpose educate only // - This script to change bars colors. //////////////////////////////////////////////////////////// strategy(title="Bandpass Filter Strategy ver 2.0") Length = input(20, minval=1) Delta = input(0.5) SellZone = input(5, step = 0.01) BuyZone = input(-5, step = 0.01) reverse = input(false, title="Trade reverse") hline(BuyZone, color=green, linestyle=line) hline(SellZone, color=red, linestyle=line) xPrice = hl2 hline(0, color=blue, linestyle=line) beta = cos(3.14 * (360 / Length) / 180) gamma = 1 / cos(3.14 * (720 * Delta / Length) / 180) alpha = gamma - sqrt(gamma * gamma - 1) BP = 0.5 * (1 - alpha) * (xPrice - xPrice[2]) + beta * (1 + alpha) * nz(BP[1]) - alpha * nz(BP[2]) pos = iff(BP > SellZone, 1, iff(BP <= BuyZone, -1, nz(pos[1], 0))) possig = iff(reverse and pos == 1, -1, iff(reverse and pos == -1, 1, pos)) if (possig == 1) strategy.entry("Long", strategy.long) if (possig == -1) strategy.entry("Short", strategy.short) barcolor(possig == -1 ? red: possig == 1 ? green : blue ) plot(BP, color=red, title="Bandpass Filter Strategy")