Stratégie de suivi des bandes de Bollinger

Auteur:ChaoZhang est là., Date: le 27 février 2024 16:11:44
Les étiquettes:

img

Résumé

Cette stratégie utilise l'indicateur de bande de Bollinger combiné avec le suivi de l'arrêt de perte pour mettre en œuvre le trading de suivi de tendance. Il court lorsque le prix traverse le rail supérieur et va long lorsque le prix traverse le rail inférieur. En définissant les prix d'arrêt de perte et de prise de profit, les bénéfices peuvent être verrouillés. Pendant ce temps, cette stratégie fournit également une sélection d'entrée d'inversion optionnelle, ce qui signifie effectuer des ordres inversés lorsque le prix rentre dans la bande.

Principe de stratégie

La stratégie calcule d'abord le rail moyen, le rail supérieur et le rail inférieur de la bande de Bollinger.

Lorsque le prix franchit la ligne supérieure, passez à la ligne courte; lorsque le prix franchit la ligne inférieure, passez à la ligne longue. Après l'ouverture de la position, définissez le prix stop loss et take profit. Le prix stop loss est la valeur d'entrée Stop, et le prix take profit est la valeur d'entrée Limit.

En outre, la stratégie prévoit également l'option d'ouverture d'inversion. Lorsque Reversal Entry est cochée, des ordres inversés seront effectués lorsque le prix rentre dans la bande de Bollinger, qui appartient à la négociation MEAN REVERSION.

Qu'il s'agisse d'une ouverture de tendance ou d'une ouverture d'inversion, les paramètres pour le stop loss et le take profit sont les mêmes.

Analyse des avantages

La stratégie combine l'indicateur de bande de Bollinger et le suivi du stop loss pour contrôler efficacement les risques tout en bloquant les bénéfices de la tendance.

Les rails supérieurs et inférieurs de la bande de Bollinger peuvent clairement déterminer les percées de prix. La méthode de trading en bandes rend les résultats de PnL clairs.

Analyse des risques

Le plus grand risque de la stratégie de la bande de Bollinger est l'inversion de tendance. Après être allé court lorsque le prix franchit le rail supérieur, le prix peut apparaître un renversement en forme de V, conduisant à un stop-loss rapide.

L'ouverture de l'inversion peut manquer des opportunités de poursuite de la tendance.

En outre, des paramètres mal réglés peuvent également amplifier les risques.

Direction de l'optimisation

La stratégie peut être optimisée dans les aspects suivants:

  1. Ajouter une fonctionnalité d'adaptation de paramètres. Len et Déviation peuvent être ajustés dynamiquement en fonction de la volatilité du marché pour rendre la bande de Bollinger plus proche du prix.

  2. Ajouter des filtres de position d'ouverture. Des conditions supplémentaires peuvent être ajoutées telles que des augmentations du volume de négociation et une augmentation des transactions de négociation pour éviter d'être retiré.

  3. Jugez la tendance de la tendance en utilisant des indicateurs tels que MACD et KDJ pour éviter les mauvais signaux ou les signaux manquants.

  4. Ajouter des restrictions de temps. Seule la négociation pendant une certaine période peut réduire les risques du jour au lendemain.

Résumé

La stratégie de suivi de la bande de Bollinger détermine les percées de prix à l'aide de l'indicateur de bande de Bollinger. Elle verrouille les bénéfices en réglant le stop loss et le take profit, et utilise le suivi du stop loss pour ajuster les risques. La stratégie est simple et pratique.


/*backtest
start: 2024-02-19 00:00:00
end: 2024-02-26 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="BB Strategy (Basic)",overlay=true, initial_capital=25000, default_qty_value=1, commission_type=strategy.commission.cash_per_contract, commission_value=3.02)
len = input(20, minval=1, title="Length")
src = input(close, title="Source")
mult = input(2.0, "Deviation", minval=0.001, maxval=50)
//price_drop = input(.003, "When price drops (In Ticks) Enter Long", step=.001)
//price_climb = input(.003, "When price climbs (In Ticks) Enter Short", step=.001)
trail = input(true, "Trailing Stop(checked), Market stop(unchecked)")
stop = input(10000, "Stop (in ticks)", step=5)
limit = input(20000, "Limit Out", step=5)
//size = input(1, "Limit Position Size (pyramiding)", minval=1)
revt = input(true, "Reversal Entry(checked, Trend Entry(unchecked)")
timec = input(false, "Limit Time of Day (Buying Side)")

//calculations and plots
revti = if revt==false
    true
basis = wma(src, len)
dev = mult * stdev(src, len)
upper = basis + dev
lower = basis - dev
plot(basis, color=red)
p1 = plot(upper, color=teal)
p2 = plot(lower, color=teal)
fill(p1, p2)
u = crossover(high, upper) 
d = crossunder(low, lower)
//Time Session
sess = input("1600-0500", "Start/Stop trades (Est time)")
t = time(timeframe.period, sess)

//Orders
if(timec)
    strategy.entry("Enterlong", long=revt, when=d and t>1)
else
    strategy.entry("Enterlong", long=revt, when=d)
if(trail)
    strategy.exit("Exit","Enterlong", profit=limit, trail_points = 0, trail_offset = stop )
else
    strategy.exit("Exit","Enterlong", profit=limit, loss = stop )
    
if(timec)
    strategy.entry("Entershort", long=revti, when=u and t>1)
else
    strategy.entry("Entershort", long=revti, when=u)
if(trail)
    strategy.exit("Exit","Entershort", profit=limit, trail_points = 0, trail_offset = stop )
else
    strategy.exit("Exit","Entershort", profit=limit, loss = stop )
  



Plus de