Stratégie de prise de profit dynamique des bandes de Bollinger

SMA
Date de création: 2024-05-24 17:54:47 Dernière modification: 2024-05-24 17:54:47
Copier: 0 Nombre de clics: 599
1
Suivre
1617
Abonnés

Stratégie de prise de profit dynamique des bandes de Bollinger

Aperçu

La stratégie utilise les bandes de Bollinger pour faire une pause lorsque le prix touche la trajectoire ascendante, une pause lorsque le prix touche la trajectoire descendante, et un arrêt dynamique lorsque la position atteint un gain de 1%. L’idée centrale de la stratégie est que les prix fluctuent toujours dans les bandes de Bollinger, avec une caractéristique de régression de la moyenne, de sorte que les prix peuvent être inversés lorsque le prix s’éloigne trop de la moyenne mobile.

Principe de stratégie

  1. Calcul des moyennes mobiles et de l’écart-type: utilisez la moyenne mobile simple (SMA) pour calculer la moyenne mobile du prix de clôture (basis), puis calculez l’écart-type du prix de clôture par rapport à la moyenne mobile (dev).
  2. Calculer la voie supérieure et la voie inférieure: la voie supérieure est calculée comme base + dev.*multiplier, inférieur est basé sur base - dev*multiplier, où multiplier est le multiple de la amplitude des fluctuations.
  3. Génération de signaux de transaction: génération de signaux d’opposition lorsque le prix de clôture est en baisse et que le prix de clôture actuel est inférieur au prix d’ouverture; génération de signaux de décalage lorsque le prix de clôture est en baisse et que le prix de clôture actuel est supérieur au prix d’ouverture.
  4. Stop-loss dynamique: après avoir ouvert une position, le prix de stop-loss est calculé en fonction du prix d’ouverture et du pourcentage de stop-loss (takeProfitPercentage), et le prix de stop-loss est calculé lorsque le prix atteint le prix de stop-loss.
  5. Visualisation: dessiner les bandes de Polling, les moyennes mobiles et les signaux de négociation sur un graphique.

Avantages stratégiques

  1. Simple et efficace: la logique de la stratégie est claire et facile à comprendre et à mettre en œuvre, avec un seul indicateur technique.
  2. Une large portée: les bandes de Bollinger sont universelles et peuvent être utilisées sur une grande variété de marchés.
  3. Les stop-loss dynamiques permettent de maximiser les bénéfices des titres de créance tout en maîtrisant les risques par rapport aux stop-loss fixes.
  4. Capture efficace de la tendance: une fois que le prix a touché le haut ou le bas de la trajectoire, il continue généralement de fonctionner dans la direction initiale pendant un certain temps. Cette stratégie permet de saisir efficacement cette opportunité de tendance.

Risque stratégique

  1. Faibles performances dans les marchés de choc: La stratégie peut provoquer des signaux de transaction fréquents lorsque le marché est en pleine volatilité et que les prix franchissent de manière répétée les bandes de Bollinger, ce qui entraîne un nombre excessif de transactions et une augmentation des frais de traitement.
  2. Un retrait plus profond dans une tendance: si la tendance dure longtemps et que les prix s’écartent longtemps de la moyenne, le retrait peut être plus profond en raison de l’opposition de la stratégie.
  3. Difficulté de sélection des paramètres: les paramètres de la bande de Bollinger (comme la longueur, le multiplicateur) ont une grande influence sur la performance de la stratégie, mais ne sont pas les paramètres optimaux les plus précis.

Orientation de l’optimisation de la stratégie

  1. Combinaison avec le jugement de la tendance: ajout d’indicateurs de jugement de la tendance dans la stratégie (comme la moyenne mobile), suspension de la négociation dans une situation de tendance ou négociation en cours.
  2. Optimisation des stop-loss: les stop-loss peuvent être ajustés dynamiquement en fonction d’indicateurs de volatilité tels que l’ATR, afin d’obtenir un meilleur rapport bénéfice-risque.
  3. Combinaison de plusieurs facteurs: envisagez de combiner les bandes de Bollinger avec d’autres indicateurs techniques (comme le RSI, le MACD, etc.) pour améliorer l’exactitude du signal et réduire les faux signaux.
  4. Filtrage des fondamentaux: une fois que le signal de transaction a été généré, il peut être confirmé par des données fondamentales (comme les résultats financiers, les données de l’industrie, etc.), ce qui améliore la stabilité de la stratégie.

Résumer

La stratégie utilise les bandes de Bollinger pour construire un système de négociation simple et efficace, en signalant les hauts et les bas des prix, tout en utilisant des arrêts dynamiques pour contrôler les risques. La stratégie fonctionne bien dans les conditions de tendance, mais peut être confrontée à des problèmes de négociation fréquente dans les marchés instables.

Code source de la stratégie
/*backtest
start: 2024-04-01 00:00:00
end: 2024-04-30 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Future Price Prediction", overlay=true)

// Ayarlar
length = input.int(14, "Length")
mult = input.float(2.0, "Multiplier")
showBands = input.bool(true, "Show Bands")
takeProfitPercentage = 1.0

// Ortalama ve Standart Sapma Hesaplamaları
basis = ta.sma(close, length)
dev = mult * ta.stdev(close, length)

// Üst ve Alt Bantlar
upper = basis + dev
lower = basis - dev

// Grafikte Gösterim
plot(basis, color=color.blue, linewidth=2, title="Basis")
plot(showBands ? upper : na, color=color.red, linewidth=1, title="Upper Band")
plot(showBands ? lower : na, color=color.green, linewidth=1, title="Lower Band")

// Al-Sat Sinyalleri
longCondition = ta.crossover(close[1], lower[1]) and close[1] < open[1]
shortCondition = ta.crossunder(close[1], upper[1]) and close[1] > open[1]

// Kar al seviyeleri
float longTakeProfit = na
float shortTakeProfit = na

if longCondition
    longTakeProfit := close * (1 + takeProfitPercentage / 100)
if shortCondition
    shortTakeProfit := close * (1 - takeProfitPercentage / 100)

// Strateji Giriş ve Çıkış
if longCondition
    strategy.entry("Buy", strategy.long)
    strategy.exit("Take Profit", from_entry="Buy", limit=longTakeProfit)

if shortCondition
    strategy.entry("Sell", strategy.short)
    strategy.exit("Take Profit", from_entry="Sell", limit=shortTakeProfit)

// Al-Sat Sinyalleri Grafikte Gösterim
plotshape(series=longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=shortCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")

// Bilgi Tablosu
var table data = table.new(position.bottom_right, 2, 2, frame_color=color.black, frame_width=1)
if barstate.islast
    table.cell(data, 0, 0, "Current Price", text_color=color.white)
    table.cell(data, 1, 0, str.tostring(close))
    table.cell(data, 0, 1, "Predicted Basis", text_color=color.white)
    table.cell(data, 1, 1, str.tostring(basis))