Stratégie d' inversion de l' élan de huit jours

Auteur:ChaoZhang est là., Date: 2023-12-05 10:56:37 Je suis désolé
Les étiquettes:

img

Résumé

Cette stratégie utilise principalement la caractéristique d'inversion des prix après avoir continuellement fermé au-dessus ou en dessous de la moyenne mobile simple de 5 jours pendant 8 jours pour capturer l'effet de dynamique à moyen et court terme.

La logique de la stratégie

  1. Calculer la moyenne mobile simple sur 5 jours.
  2. Définir la tendance haussière TrendUp comme proche supérieure ou égale à la SMA, tendance baissière TrendDown comme proche inférieure ou égale à la SMA.
  3. Confirmer la condition d'inversion de tendance: déclencher le signal d'achat lorsque le prix de clôture se ferme en dessous de la SMA pendant 8 jours consécutifs et se transforme en tendance haussière (dépasse la SMA) le lendemain; déclencher le signal de vente lorsque le prix de clôture se ferme en dessous de la SMA pendant 8 jours consécutifs et se transforme en tendance baissière (dépasse la SMA) le lendemain.
  4. Entrée: longue lorsque la condition d'achat Acheter est déclenchée hier et la tendance actuelle est à la baisse; courte lorsque la condition de vente Vendre est déclenchée hier et la tendance actuelle est à la hausse.
  5. Exit: fermeture d'une position longue lorsque le prix de clôture dépasse la SMA; fermeture d'une position courte lorsque le prix de clôture dépasse la SMA.

Analyse des avantages

  1. Capture l'élan en utilisant des caractéristiques d'inversion de prix, adaptées aux transactions à moyen et court terme.
  2. Des opportunités de trading élevées comme une rupture continue SMA pendant 8 jours se produit fréquemment.
  3. Le paramètre SMA de 5 jours fonctionne bien, évitant trop de fausses éruptions.
  4. Risque contrôlable avec un point de stop-loss clair.

Analyse des risques

  1. Le stop loss peut être déclenché fréquemment pendant la consolidation du marché.
  2. Peut manquer le meilleur point d'entrée si les jours d'évasion sont trop longs.
  3. Difficile de tirer profit si la tendance est prolongée.

Peut optimiser les paramètres SMA, améliorer les critères d'entrée pour prévenir une fausse rupture, combiner avec des indicateurs de tendance pour renforcer la stratégie.

Directions d'optimisation

  1. Optimisation des paramètres: tester différentes périodes de SMA pour trouver de meilleurs paramètres.
  2. Optimisation de l'entrée: ajouter des indicateurs de volume pour éviter les fausses ruptures; ou juger les bougies taureau/ours pour éviter les fouets.
  3. Optimisation de sortie: tester le pourcentage fixe d'arrêt de perte pour laisser plus de place.
  4. Contrôle des risques: définir les temps de stop loss quotidiens maximaux pour limiter les pertes.
  5. Combiner les indicateurs: ajouter RSI, MACD pour déterminer la tendance afin d'identifier les conditions du marché.

Conclusion

La stratégie capture le mouvement des prix de la rupture à la reprise en jugeant l'élan, met en œuvre la logique de trading pour éviter les fléchettes et suivre la tendance. Les clés sont des paramètres stricts et des critères d'entrée robustes pour éviter le bruit; un stop loss raisonnable pour limiter les pertes. La combinaison avec des indicateurs de tendance peut obtenir de meilleurs résultats. La logique de la stratégie est simple et propre. Il vaut la peine d'explorer une optimisation supplémentaire.


/*backtest
start: 2023-11-04 00:00:00
end: 2023-12-04 00:00:00
period: 1h
basePeriod: 15m
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/
// © Marcuscor

//@version=5

// Inpsired by Linda Bradford Raschke: a strategy for trading momentum in futures markets

strategy("8D Run", initial_capital = 50000, commission_value = 0.0004) 


SMA = ta.sma(close,5)

TrendUp = close >= SMA

TrendDown = close <= SMA


//logic to long

TriggerBuy = ta.barssince(close < SMA) >= 8

Buy = TriggerBuy[1] and TrendDown 

strategy.entry("EL", strategy.long, when = Buy)
strategy.close(id = "EL", when = close > SMA)

// 1) color background when "run" begins and 2) change color when buy signal occurs
bgcolor(TriggerBuy? color.green : na, transp = 90)
bgcolor(Buy ? color.green : na, transp = 70)


// logic to short 

TriggerSell = ta.barssince(close > SMA) >= 8

Sell = TriggerSell[1] and TrendUp

strategy.entry("ES", strategy.short, when = Sell)
strategy.close(id = "ES", when = close < SMA)

// 1) color background when "run" begins and 2) change color when sell signal occurs
bgcolor(TriggerSell ? color.red : na, transp = 90)
bgcolor(Sell ? color.red : na, transp = 70) 







Plus de