- Carré
- Bollinger Breakout avec inversion moyenne 4H Stratégie de négociation quantitative
Bollinger Breakout avec inversion moyenne 4H Stratégie de négociation quantitative
Auteur:
ChaoZhang est là., Date: 2024-12-12 11h24 et 28h
Les étiquettes:
Les banques centralesSMASDTPSL
Résumé
Cette stratégie est un système de trading quantitatif de 4 heures basé sur les bandes de Bollinger, combinant les concepts de trading de rupture de tendance et de réversion moyenne.
Principes de stratégie
La logique de base repose sur les éléments clés suivants:
- Utilise la moyenne mobile sur 20 périodes comme bande moyenne, avec 2 écarts types pour la fourchette de volatilité
- Signaux d'entrée: longs lorsque le corps de la bougie (moyenne d'ouverture et de fermeture) se brise au-dessus de la bande supérieure, courts lorsqu'il se brise au-dessous de la bande inférieure
- Signaux de sortie: Fermer les positions longues lorsque deux bougies consécutives ont à la fois des prix d'ouverture et de fermeture inférieurs à la bande supérieure et des prix de fermeture inférieurs à l'ouverture; logique inverse pour les positions courtes
- Contrôle des risques: définit un stop-loss aux points de pointe/baisse actuels de la bougie pour assurer des pertes contrôlées par transaction
Les avantages de la stratégie
- Logique de négociation claire: Combine les approches de négociation de tendance et de réversion pour une bonne performance dans diverses conditions de marché
- Contrôle complet des risques: mise en œuvre de stop-loss dynamiques basés sur la volatilité des bougies pour un contrôle efficace du tirage
- Filtrage de faux signaux: confirme les ruptures en utilisant la position du corps de la bougie plutôt que le prix de clôture pour réduire les pertes de faux ruptures
- Gestion saine de la trésorerie: ajustement dynamique de la taille de la position en fonction du capital du compte, des rendements d'équilibrage et du risque
Risques stratégiques
- Risque de marché latéral: peut déclencher de fréquents faux signaux de rupture sur des marchés variés, entraînant des arrêts consécutifs
- Risque d'effet de levier: l'effet de levier 3x peut entraîner des pertes importantes en cas de volatilité extrême
- Risque de mise en place d'un stop-loss: l'utilisation de points de haut/bas de bougie pour les stops peut être trop lâche, augmentant les pertes par transaction.
- Dépendance du délai: le délai de quatre heures peut réagir trop lentement dans certaines conditions de marché, manquant des opportunités
Directions d'optimisation de la stratégie
- Mettre en œuvre un filtre de tendance: ajouter des indicateurs de tendance à plus long terme au trading dans la direction principale de la tendance
- Optimiser l'approche stop-loss: envisager d'utiliser l'ATR ou la largeur de bande de Bollinger pour les distances de stop-loss dynamiques
- Améliorer la gestion des positions: ajuster dynamiquement l'effet de levier en fonction de la volatilité ou de la force de la tendance
- Ajouter une analyse des conditions du marché: intégrer des indicateurs de volume ou de volatilité pour identifier les conditions du marché pour une entrée sélective
Résumé
Cette stratégie combine les caractéristiques de suivi de tendance et d'inversion moyenne des bandes de Bollinger, permettant d'obtenir des rendements stables sur les marchés à tendance et à fourchette grâce à des conditions d'entrée/sortie strictes et à des mesures de contrôle des risques.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-10 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Bollinger 4H Follow", overlay=true, initial_capital=300, commission_type=strategy.commission.percent, commission_value=0.04)
// StartYear = input(2022,"Backtest Start Year")
// StartMonth = input(1,"Backtest Start Month")
// StartDay = input(1,"Backtest Start Day")
// testStart = timestamp(StartYear,StartMonth,StartDay,0,0)
// EndYear = input(2023,"Backtest End Year")
// EndMonth = input(12,"Backtest End Month")
// EndDay = input(31,"Backtest End Day")
// testEnd = timestamp(EndYear,EndMonth,EndDay,0,0)
lev = 3
// Input parameters
length = input.int(20, title="Bollinger Band Length")
mult = input.float(2.0, title="Bollinger Band Multiplier")
// Bollinger Bands calculation
basis = ta.sma(close, length)
upperBand = basis + mult * ta.stdev(close, length)
lowerBand = basis - mult * ta.stdev(close, length)
// Conditions for Open Long
openLongCondition = strategy.position_size == 0 and close > open and (close + open) / 2 > upperBand
// Conditions for Open Short
openShortCondition = strategy.position_size == 0 and close < open and (close + open) / 2 < lowerBand
// Conditions for Close Long
closeLongCondition = strategy.position_size > 0 and strategy.position_size > 0 and (close < upperBand and open < upperBand and close < open)
// Conditions for Close Short
closeShortCondition = strategy.position_size < 0 and strategy.position_size < 0 and (close > lowerBand and open > lowerBand and close > open)
// Long entry
if openLongCondition
strategy.entry("Long", strategy.long, qty=strategy.equity * lev / close)
strategy.exit("Long SL", from_entry="Long", stop=low) // Set Stop-Loss
// Short entry
if openShortCondition
strategy.entry("Short", strategy.short, qty=strategy.equity * lev / close)
strategy.exit("Short SL", from_entry="Short", stop=high) // Set Stop-Loss
// Long exit
if closeLongCondition
strategy.close("Long", comment = "TP")
// Short exit
if closeShortCondition
strategy.close("Short", comment = "TP")
// Plot Bollinger Bands
plot(upperBand, color=color.yellow, title="Upper Band")
plot(lowerBand, color=color.yellow, title="Lower Band")
Relationnée
Plus de