Stratégie de suivi de tendance basée sur l'oscillateur à bande de Bollinger

Auteur:ChaoZhang est là., Date: le 10 octobre 2023 à 10h54
Les étiquettes:

Résumé

L'idée de base de cette stratégie est d'identifier les tendances à l'aide de l'oscillateur à bande de Bollinger et d'entrer dans des positions lorsque les tendances changent.

La logique de la stratégie

La stratégie utilise principalement l'oscillateur à bande de Bollinger pour déterminer la direction de la tendance.

BBO = (Close - N-day Moving Average) / (2 * N-day Standard Deviation) * 100

Lorsque Close est le prix de clôture, la moyenne mobile de N jours est la moyenne mobile simple de N jours de clôture et l'écart type de N jours est l'écart type de N jours de clôture.

La stratégie calcule d'abord le BBO à 65 jours, puis la moyenne mobile à 30 jours du BBO. Lorsque le BBO dépasse son MA, il signale une tendance haussière, passez long. Lorsque le BBO dépasse son MA, il signale une tendance baissière, passez court.

Après avoir entré des positions, la stratégie utilise un stop-loss mobile, un profit fixe et un stop-loss de suivi pour contrôler les risques et verrouiller les profits.

Les avantages

  1. Le BBO est sensible aux changements de tendance.

  2. Le stop loss mobile contrôle les pertes individuelles lorsque la tendance est inversée.

  3. Les bénéfices fixés sont bloqués dans les bénéfices lorsque la tendance est correcte.

  4. Le stop loss maximisant le profit pour un seul trade.

  5. La stratégie est simple et intuitive.

Les risques

  1. Le BBO peut donner de faux signaux.

  2. Le stop loss/take profit incorrect peut entraîner une sortie trop tôt.

  3. Les bénéfices fixes peuvent être retirés trop tôt, en manquant d'autres bénéfices.

  4. Les paramètres doivent être optimisés pour éviter les surajustements.

  5. Une utilisation potentiellement importante, capital suffisant requis.

Optimisation

  1. Optimisez les paramètres BBO et MA.

  2. Testez différentes méthodes de stop-loss comme ATR, pourcentage.

  3. Optimiser les bénéfices fixes et les arrêts de perte.

  4. Ajoutez des filtres pour éviter les faux signaux.

  5. Optimiser la taille des positions pour différents marchés.

  6. Tester l'efficacité de la stratégie sur tous les instruments et sur toutes les périodes.

Conclusion

La stratégie identifie les changements de tendance en utilisant BBO et entre en position en conséquence. Elle contrôle les risques et bloque les bénéfices avec divers types de sorties. La stratégie est simple et intuitive, mais nécessite une optimisation des paramètres.


/*backtest
start: 2022-10-03 00:00:00
end: 2023-10-09 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy(title="Strategy CCT Bollinger Band Oscillator", shorttitle="Hornkild", calc_on_order_fills=true, default_qty_type=strategy.percent_of_equity, default_qty_value=50, overlay=false)

length=input(65)
lengthMA=input(30)
src=close
cctbbo=100 * ( src + 2*stdev( src, length) - sma( src, length ) ) / ( 4 * stdev( src, length ) )

//ul=hline(100, color=gray, editable=true)
//ll=hline(0, color=gray)
//hline(50, color=gray)
//fill(ul,ll, color=blue)
//plot(cctbbo, color=blue, linewidth=2)
//plot(ema(cctbbo, lengthMA), color=red)

TP = input(0) * 10
SL = input(0) * 10
TS = input(1) * 10
TO = input(10) * 10
CQ = 100

TPP = (TP > 0) ? TP : na
SLP = (SL > 0) ? SL : na
TSP = (TS > 0) ? TS : na
TOP = (TO > 0) ? TO : na

longCondition = crossover(cctbbo, ema(cctbbo, lengthMA))
if (longCondition)
    strategy.entry("Long", strategy.long)


shortCondition = crossunder(cctbbo, ema(cctbbo, lengthMA))
if (shortCondition)
    strategy.entry("Short", strategy.short)

strategy.exit("Close Short", "Short", qty_percent=CQ, profit=TPP, loss=SLP, trail_points=TSP, trail_offset=TOP)
strategy.exit("Close Long", "Long", qty_percent=CQ, profit=TPP, loss=SLP, trail_points=TSP, trail_offset=TOP)

Plus de