Les ressources ont été chargées... Je charge...

La stratégie quantitative à haute fréquence des bandes de Bollinger combinée à un système de rupture à haute fréquence et à faible fréquence

Auteur:ChaoZhang est là., Date: 2024-12-04 15:15:50 Je vous en prie.
Les étiquettes:BBSMASDRRHHJe vous en prie

img

Résumé

Cette stratégie est un système de négociation à haute fréquence qui combine les indicateurs de Bollinger Bands avec des signaux de rupture de prix. La stratégie surveille la relation entre le prix et les Bollinger Bands, combinée à des signaux de rupture de points élevés et bas précédents, pour exécuter des transactions d'inversion pendant les conditions de surachat et de survente du marché. Le système implémente un rapport risque-rendement de 1: 1 pour les objectifs de profit et de perte, et visualise les niveaux de prix clés pour aider les traders à comprendre intuitivement les tendances du marché.

Principes de stratégie

La logique de base de la stratégie est basée sur deux conditions principales: un signal d'achat est déclenché lorsque le prix dépasse le niveau le plus élevé précédent et que ce niveau est en dessous de la bande de Bollinger inférieure; un signal de vente est déclenché lorsque le prix dépasse le niveau le plus bas précédent et que ce niveau le plus bas est au-dessus de la bande de Bollinger supérieure.

Les avantages de la stratégie

  1. Combine les deux approches de négociation de rupture de tendance et de réversion moyenne, en maintenant la stabilité dans différentes conditions de marché
  2. Utilise un ratio risque-rendement fixe pour la gestion des positions, ce qui est bénéfique pour une négociation rentable à long terme
  3. Visualise les niveaux d'entrée, de stop-loss et de cible, améliorant la fonctionnalité de la stratégie
  4. Utilise les bandes de Bollinger pour identifier les conditions de surachat/survente du marché, améliorant ainsi la précision des transactions
  5. Logique de stratégie simple et claire, facile à comprendre et à exécuter

Risques stratégiques

  1. Le commerce à haute fréquence peut entraîner des coûts de transaction plus élevés, ce qui nécessite de prendre en considération les incidences des commissions
  2. Peut générer de fréquents faux signaux de rupture sur différents marchés
  3. Le ratio risque/rendement fixe pourrait ne pas tenir pleinement compte des fortes tendances
  4. Les paramètres des bandes de Bollinger fixes peuvent ne pas s'adapter à toutes les conditions du marché
  5. Exige une surveillance du marché en temps réel pour assurer l'exécution rapide du signal

Directions d'optimisation de la stratégie

  1. Incorporer des indicateurs de volume pour la confirmation du signal, améliorant la fiabilité de la rupture
  2. Ajustez dynamiquement les paramètres des bandes de Bollinger en fonction de la volatilité du marché
  3. Ajouter des filtres de tendance pour éviter les transactions fréquentes sur des marchés variés
  4. Envisagez d'ajouter des filtres de temps pour éviter de négocier pendant les périodes d'inactivité
  5. Développer des mécanismes adaptatifs de fixation du ratio risque/rendement

Résumé

Il s'agit d'un système de trading complet intégrant plusieurs concepts d'analyse technique. Grâce à la combinaison d'indicateurs de Bollinger Bands et de ruptures de prix, la stratégie peut capturer des opportunités d'inversion dans les zones de surachat et de survente du marché. Bien qu'il y ait place à l'optimisation, le cadre de base du système a une bonne extensibilité et une bonne valeur pratique. Grâce à une bonne gestion des risques et à l'optimisation des paramètres, cette stratégie a le potentiel d'obtenir des rendements stables dans le trading réel.


/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-03 00:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Bollinger Band Scalping", overlay=true)

// Input for Bollinger Bands length and standard deviation
bbLength = input(20, title="Bollinger Bands Length")
stdDev = input(2.0, title="Bollinger Bands Std Dev")

// Calculate and plot the Bollinger Bands
basis = ta.sma(close, bbLength)
deviation = stdDev * ta.stdev(close, bbLength)
upperBB = basis + deviation
lowerBB = basis - deviation

// Get previous candle's values
prevHigh = high[1]   // Previous candle high
prevLow = low[1]     // Previous candle low

// Buy Signal Condition: Current high crossed above previous high and previous high is below the lower Bollinger Band
buyCondition = ta.crossover(high, prevHigh) and (prevHigh < lowerBB[1])

// Sell Signal Condition: Current low crossed below previous low and previous low is above the upper Bollinger Band
sellCondition = ta.crossunder(low, prevLow) and (prevLow > upperBB[1])

// Entry and exit for Buy signals
if (buyCondition)
    strategy.entry("Buy", strategy.long)
    // Calculate target and stop loss
    stopLossPrice = prevLow
    targetPrice = prevHigh + (prevHigh - stopLossPrice)  // 1:1 RR target

    // Set stop loss and target orders
    strategy.exit("Sell", "Buy", limit=targetPrice, stop=stopLossPrice)

    // // Plot entry line
    // line.new(x1=bar_index, y1=prevHigh, x2=bar_index + 12, y2=prevHigh, color=color.green, width=2, style=line.style_solid)
    // // Plot stop loss line
    // line.new(x1=bar_index, y1=stopLossPrice, x2=bar_index + 12, y2=stopLossPrice, color=color.red, width=1, style=line.style_dashed)
    // // Plot target line
    // line.new(x1=bar_index, y1=targetPrice, x2=bar_index + 12, y2=targetPrice, color=color.blue, width=2, style=line.style_solid)

// Entry and exit for Sell signals
if (sellCondition)
    strategy.entry("Sell", strategy.short)
    // Calculate target and stop loss
    stopLossPriceSell = prevHigh
    targetPriceSell = prevLow - (stopLossPriceSell - prevLow)  // 1:1 RR target

    // Set stop loss and target orders
    strategy.exit("Cover", "Sell", limit=targetPriceSell, stop=stopLossPriceSell)

    // // Plot entry line
    // line.new(x1=bar_index, y1=prevLow, x2=bar_index + 12, y2=prevLow, color=color.red, width=2, style=line.style_solid)
    // // Plot stop loss line
    // line.new(x1=bar_index, y1=stopLossPriceSell, x2=bar_index + 12, y2=stopLossPriceSell, color=color.green, width=1, style=line.style_dashed)
    // // Plot target line
    // line.new(x1=bar_index, y1=targetPriceSell, x2=bar_index + 12, y2=targetPriceSell, color=color.blue, width=2, style=line.style_solid)

// Plotting Bollinger Bands with 70% transparency
plot(upperBB, color=color.red, title="Upper Bollinger Band", transp=70)
plot(lowerBB, color=color.green, title="Lower Bollinger Band", transp=70)
plot(basis, color=color.blue, title="Middle Band", transp=70)


Relationnée

Plus de