Stratégie de dynamisme basée sur la pression de LazyBear

Auteur:ChaoZhang est là., Date: 21-12-2023 à 14 h 22 min 49 s
Les étiquettes:

img

Résumé

L'idée principale de cette stratégie est basée sur l'indicateur Squeeze Momentum de LazyBear pour analyser le moment de l'achat et de la vente. Il analyse les points d'inflexion de la tendance de l'élan, localisant les pics et les creux en tant que signaux de vente et d'achat respectivement. Comme il s'agit d'une stratégie longue, il prend également en considération la moyenne mobile exponentielle de 50 périodes pour identifier les tendances à la hausse. Si le prix de clôture de la bougie est supérieur au 50EMA et que la pente du 50EMA tend à la hausse, le signal d'achat est exécuté.

Principe de stratégie

Cette stratégie intègre des bandes de Bollinger et des canaux de Keltner pour identifier les tendances et les zones de compression. Plus précisément, elle calcule des bandes de Bollinger de 20 périodes et des canaux de Keltner de 20 périodes. Lorsque les bandes de Bollinger tombent entièrement dans les canaux de Keltner, cela est considéré comme un signal de compression. La zone de compression est identifiée lorsque la bande inférieure des bandes de Bollinger dépasse la bande inférieure des canaux de Keltner et que la bande supérieure des bandes de Bollinger dépasse la bande supérieure des canaux de Keltner.

En outre, la stratégie utilise la régression linéaire pour analyser le changement de la pente du momentum. Elle calcule la valeur de régression linéaire du prix au cours des 20 dernières périodes moins le prix typique. Lorsque la pente de la valeur de régression linéaire est positive, elle est considérée comme une tendance à la hausse. Lorsque la pente est négative, c'est une tendance à la baisse. Dans la zone de pression, s'il y a un renversement de la pente du momentum, cela indique un achat ou une vente. Plus précisément, lorsque dans la zone de pression, un virage de momentum de positif à négatif émet un signal de vente. Et lorsque dans la zone de pression, un virage de momentum de négatif à positif émet un signal d'achat.

Pour filtrer les faux signaux, la stratégie juge également si le prix de clôture est supérieur à la moyenne mobile exponentielle de 50 jours et si la moyenne mobile exponentielle de 50 jours est en pente ascendante.

Analyse des avantages

Il s'agit d'une stratégie très intelligente, utilisant deux types d'indicateurs différents pour faire un jugement multidimensionnel du marché, ce qui peut efficacement éviter de faux signaux.

  1. Application complète des bandes de Bollinger, des canaux de Keltner et des indicateurs de dynamique pour une analyse multidimensionnelle et une précision améliorée.

  2. Les zones de compression peuvent identifier efficacement les pics et les creux des inversions de momentum et capturer avec précision les virages.

  3. Le filtrage des tendances basé sur le prix de clôture et l'EMA à 50 jours évite l'ouverture répétitive de positions lors des consolidations.

  4. Les signaux émis uniquement pendant les zones de pression réduisent les faux signaux et améliorent le taux de rentabilité.

  5. L'espace d'optimisation des paramètres est grand et permet des optimisations ciblées via des périodes d'ajustement, etc.

  6. Combiné à long et à court, il prend en compte les grandes tendances du cycle et intègre des indicateurs à moyen terme, l'orientation à long terme est claire.

Analyse des risques

Bien que cette stratégie comporte de multiples indicateurs techniques non agricoles, il existe encore certains risques:

  1. Perte de possibilités d'achat/vente lorsque les bandes de Bollinger et les canaux de Keltner divergent.

  2. Des pertes importantes peuvent survenir lors de fortes hausses ou baisses du marché.

  3. Dans les marchés à forte volatilité, les situations de contrainte peuvent ne pas être évidentes, ce qui entraîne moins de signaux.

  4. Prédisposé à des pertes d'ajustement lors de transitions haussières ou baissières.

Pour éviter ces risques, nous pouvons prendre les mesures suivantes:

  1. Optimiser les paramètres pour synchroniser autant que possible les bandes de Bollinger et les canaux de Keltner.

  2. Réglez le stop-loss pour contrôler la perte unique.

  3. Utiliser cette stratégie dans le cadre d'une stratégie de portefeuille, combinée à d'autres stratégies.

  4. Réduire les positions de manière appropriée lors de marchés à forte volatilité.

Directions d'optimisation

Il reste encore beaucoup de place pour optimiser cette stratégie, principalement dans les directions suivantes:

  1. Optimiser les périodes des bandes de Bollinger et des canaux de Keltner pour les synchroniser autant que possible.

  2. Testez différents facteurs multiplicateurs pour trouver des combinaisons optimales de paramètres.

  3. Essayez d'introduire d'autres indicateurs pour la confirmation, tels que le RSI, etc.

  4. Sur la base des modèles Wen Hua Five Color Lines, utilisez sélectivement cette stratégie en fonction des étapes du marché.

  5. Adopter l'apprentissage automatique, etc. pour optimiser dynamiquement les paramètres.

  6. Test de retour sur différentes pièces pour trouver les produits commerciaux les plus appropriés.

  7. Examiner l'efficacité de cette stratégie sur des délais plus longs (quotidien, hebdomadaire, etc.).

Conclusion

La stratégie LazyBear Squeeze Momentum utilise de manière complète divers indicateurs techniques, identifiant avec précision les renversements de momentum pour le trading pendant les zones de compression, évitant l'ouverture répétitive de positions pendant les marchés non tendance. Elle a systématiquement défini des règles d'achat et de vente quantifiables, se débrouillant excellemment dans les backtests.


/*backtest
start: 2023-11-20 00:00:00
end: 2023-12-20 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4

//
// @author LazyBear 
// List of all my indicators: https://www.tradingview.com/v/4IneGo8h/
//
initialBalance = 8000

strategy("Crypto momentum strategy", overlay=false)


length = input(20, title="BB Length")
mult = input(2.0, title="BB MultFactor")
lengthKC = input(20, title="KC Length")
multKC = input(1.5, title="KC MultFactor")

useTrueRange = input(true, title="Use TrueRange (KC)", type=input.bool)

// Calculate BB
source = close
basis = sma(source, length)
ema = ema(source, 50)
dev = multKC * stdev(source, length)
upperBB = basis + dev
lowerBB = basis - dev

// Calculate KC
ma = sma(source, lengthKC)
range = useTrueRange ? tr : high - low
rangema = sma(range, lengthKC)
upperKC = ma + rangema * multKC
lowerKC = ma - rangema * multKC

sqzOn = lowerBB > lowerKC and upperBB < upperKC
sqzOff = lowerBB < lowerKC and upperBB > upperKC
noSqz = sqzOn == false and sqzOff == false

val = linreg(source - avg(avg(highest(high, lengthKC), lowest(low, lengthKC)), sma(close, lengthKC)), lengthKC, 0)

slope = (val - val[2])
emaSlope = (ema - ema[1])


bcolor = iff(slope > 0, color.lime, color.red)
scolor = noSqz ? color.green : sqzOn ? color.black : color.green
squeeze = (noSqz ? 0 : sqzOn ? 1 : 0)

plot(val, color=color.gray, style=plot.style_line, linewidth=1, title="momentum")
plot(slope, color=bcolor, style=plot.style_circles, linewidth=2, title="slope")
plot(0, color=scolor, style=plot.style_line, linewidth=2, title="squeeze-zero")

co = crossover(slope / abs(slope), 0)
cu = crossunder(slope / abs(slope), 0)

if co and source > ema and emaSlope > 0
    strategy.entry("long", strategy.long, comment="long")
if cu
    strategy.close("long")


Plus de