Stratégie de trading quantitative sur quatre heures avec cassure des bandes de Bollinger combinée à un retour à la moyenne

BBANDS SMA SD TP SL
Date de création: 2024-12-12 11:24:28 Dernière modification: 2024-12-12 11:24:28
Copier: 0 Nombre de clics: 568
1
Suivre
1617
Abonnés

Stratégie de trading quantitative sur quatre heures avec cassure des bandes de Bollinger combinée à un retour à la moyenne

Aperçu

La stratégie est un système de trading quantitatif à quatre heures basé sur l’indicateur de la ceinture de Brin, combinant une philosophie de trading de rupture de tendance et de retour au cours moyen. La stratégie capture la dynamique du marché par une rupture de la ceinture de Brin sur la voie descendante, tout en exploitant les caractéristiques du retour au cours moyen pour réaliser des bénéfices et en contrôlant le risque par un arrêt de perte.

Principe de stratégie

La logique fondamentale de la stratégie repose sur les éléments clés suivants :

  1. Utilisation d’une moyenne mobile à 20 cycles comme orbite centrale de la bande de Bryn et d’un intervalle d’oscillation à 2 fois le décalage standard
  2. Signaux d’ouverture de position: lorsque l’entité de la ligne K (la moyenne des prix d’ouverture et de fermeture) est ouverte en hausse et vide en baisse
  3. Signal de plage: lors d’une position à plusieurs têtes, plage si les prix de clôture et d’ouverture de deux lignes K consécutives sont inférieurs à la trajectoire et le prix de clôture est inférieur au prix d’ouverture; la position à vide adopte la logique inverse
  4. Contrôle des risques: arrêt des pertes au niveau de la ligne K actuelle pour assurer la maîtrise des pertes individuelles

Avantages stratégiques

  1. Logique de négociation claire: combinaison des deux modes de négociation, tendance et régression, permettant une bonne performance dans différents environnements de marché
  2. Contrôle des risques perfectionné: arrêt dynamique basé sur les fluctuations de la ligne K, permettant un contrôle efficace des retraits
  3. Filtrer les faux signaux: confirmer une fausse rupture en jugeant la position de l’entité de la ligne K plutôt que le prix de clôture, réduisant ainsi les pertes de fausses ruptures
  4. Gestion raisonnable des fonds: ajustement de la taille des positions en fonction de la dynamique des droits et intérêts des comptes, garantissant à la fois les gains et les risques

Risque stratégique

  1. Risque de choc du marché: risque de déclenchement fréquent de faux signaux de rupture dans un contexte de choc horizontal, entraînant des arrêts de vente en série
  2. Risque de levier: l’utilisation d’un triple levier peut entraîner des pertes plus importantes en cas de forte volatilité
  3. Risque de mise en stop: la mise en stop au plus haut ou au plus bas de la ligne K peut être trop relâchée et augmenter les pertes individuelles
  4. Cycle de dépendance au temps: le niveau de quatre heures peut être trop lent dans certains environnements de marché et peut être manqué

Orientation de l’optimisation de la stratégie

  1. Introduction d’un filtre de tendance: vous pouvez ajouter des indicateurs de jugement de tendance de plus longue durée pour négocier dans la direction de la tendance principale
  2. Optimisation de l’arrêt: envisagez d’utiliser l’ATR ou la bande passante de Brin pour ajuster dynamiquement la distance d’arrêt
  3. Augmentation de la gestion des positions: ajustement dynamique des multiplicateurs de levier en fonction de la volatilité ou de la force de la tendance
  4. Ajout d’un jugement sur la conjoncture du marché: introduction d’indicateurs de volume ou de volatilité pour identifier l’état actuel du marché, ouverture de positions sélective

Résumer

Il s’agit d’une stratégie qui combine le suivi de la tendance et les caractéristiques de la régression des valeurs moyennes de l’indicateur Brin pour atteindre l’objectif d’obtenir des rendements stables dans les marchés en tendance et en turbulence grâce à des conditions d’ouverture de position strictes et à des mesures de contrôle du risque. Le principal avantage de la stratégie réside dans sa logique de négociation claire et son système de contrôle du risque parfait, mais il faut toujours prêter attention à l’optimisation de l’utilisation du levier et des jugements de l’environnement du marché pour améliorer encore la stabilité et la capacité de rendement de la stratégie.

Code source de la stratégie
/*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")