Stratégie d'extraction de tendance de filtrage de bande passante

Auteur:ChaoZhang est là., Date: 2024-01-03 15h22h49
Les étiquettes:

img

Résumé

La stratégie d'extraction de tendance de filtrage de bande est une stratégie de suivi de tendance d'actions basée sur des filtres de bande.

Principaux

La stratégie construit d'abord une moyenne mobile double exponentielle en réglant les paramètres Longueur et Delta pour contrôler la longueur de la moyenne mobile et la douceur. Puis elle utilise un ensemble de transformations mathématiques pour extraire la composante de tendance de la série de prix et la stocker dans la variable xBandpassFilter. Enfin, elle calcule la moyenne mobile simple de xBandpassFilter, xMean, comme indicateur pour les entrées et les sorties.

La sensibilité des entrées et sorties peut être contrôlée en réglant le niveau de déclenchement.

Les avantages

  1. La double EMA filtre efficacement un certain bruit dans les prix pour des stratégies plus stables.
  2. Le filtrage par bande passante extrait uniquement la composante tendance dans les prix, évitant ainsi les écarts.
  3. Moins de paramètres facilitent l'optimisation et le contrôle des risques.

Les risques

  1. Le décalage de temps provoque des occasions manquées par des retours rapides.
  2. La double EMA et le filtrage de bande passante ont des effets de faible passe, réduisant la sensibilité.
  3. Le surfiltrage peut entraîner des tendances fortes manquantes si les paramètres sont mal réglés.

Le raccourcissement de la longueur peut améliorer les problèmes de retard.

Améliorations

  1. Ajouter un stop loss pour contrôler les pertes d'une seule transaction.
  2. Le système de doubles moyennes mobiles peut améliorer la stabilité.
  3. Combinez avec le volume ou d'autres signaux de retour pour éviter les coups de fouet.
  4. Utilisez l'apprentissage automatique ou des algorithmes génétiques pour optimiser les paramètres.

Conclusion

La stratégie est relativement stable avec de bonnes performances sur des marchés à forte tendance.


/*backtest
start: 2022-12-27 00:00:00
end: 2024-01-02 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version = 2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 14/12/2016
// 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
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="Extracting The Trend Strategy Backtest")
Length = input(20, minval=1)
Delta = input(0.5)
Trigger = input(0)
reverse = input(false, title="Trade reverse")
hline(Trigger, color=blue, linestyle=line)
xPrice = hl2
beta = cos(3.1415 * (360 / Length) / 180)
gamma = 1 / cos(3.1415 * (720 * Delta / Length) / 180)
alpha = gamma - sqrt(gamma * gamma - 1)
xBandpassFilter = 0.5 * (1 - alpha) * (xPrice - xPrice[2]) + beta * (1 + alpha) * nz(xBandpassFilter[1]) - alpha * nz(xBandpassFilter[2])
xMean = sma(xBandpassFilter, 2 * Length)
pos = iff(xMean > Trigger, 1,
	   iff(xMean < Trigger, -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(xMean, color=red, title="ExTrend")

Plus de