Stratégie d'action des prix basée sur la bande de Bollinger

Auteur:ChaoZhang est là., Date: 2023-12-20 14:03:52 Je suis désolé
Les étiquettes:

img

Résumé

Le nom de cette stratégie est Bollinger Band-based Price Action Strategy. Elle intègre l'analyse de l'action des prix et les bandes de Bollinger pour générer des signaux de trading basés sur le jugement des conditions composées.

Principe de stratégie

Cette stratégie calcule d'abord les rails supérieurs et inférieurs des bandes de Bollinger, puis juge si la dernière ligne K traverse les rails supérieurs ou inférieurs.

Plus précisément, la stratégie utilise la situation où les entités de la ligne K rouge deviennent plus petites, atteignant seulement la moitié de l'entité de la ligne K précédente pendant une tendance à la baisse, avec le dernier prix de clôture de la ligne K franchissant le rail inférieur de la bande de Bollinger comme signal d'achat.

Analyse des avantages

Cette stratégie combine des indicateurs techniques et l'analyse du comportement des prix, ce qui peut filtrer efficacement les fausses ruptures. En même temps, elle émet uniquement des signaux aux points d'inflexion, évitant les transactions répétitives pendant les tendances.

Analyse des risques

Les principaux risques de cette stratégie résident dans les paramètres incorrects des bandes de Bollinger et les échecs de rupture. Si les paramètres des bandes de Bollinger sont trop grands ou trop petits, des erreurs de jugement se produiront. De plus, même si le prix traverse les rails supérieurs ou inférieurs des bandes de Bollinger, il peut s'agir d'une fausse rupture et ne pas former un réel renversement de tendance. Ces risques peuvent tous entraîner des pertes commerciales de la stratégie. Pour réduire ces risques, les paramètres des bandes de Bollinger peuvent être ajustés en conséquence ou d'autres indicateurs peuvent être ajoutés pour la vérification de la combinaison.

Directions d'optimisation

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

  1. Optimiser les paramètres des bandes de Bollinger pour mieux capturer les tendances et les fluctuations.

  2. Ajoutez un stop loss mobile pour bloquer les bénéfices et gérer les risques.

  3. Incorporer d'autres indicateurs tels que le MACD, le RSI pour la vérification afin de filtrer les faux signaux.

  4. Ajoutez des algorithmes d'apprentissage automatique, entraînez des modèles avec des données volumineuses et optimisez dynamiquement les paramètres de stratégie et les poids des indicateurs.

Conclusion

Cette stratégie combine avec succès l'action des prix et les bandes de Bollinger, obtenant une rentabilité relativement élevée avec un faible risque. Elle émet uniquement des signaux à des points clés, évitant les interférences de bruits. Grâce à l'optimisation continue des paramètres et des critères de filtrage, cette stratégie devrait obtenir un alpha plus stable. Elle fournit un modèle fiable pour la pratique quantitative du trading.


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

//@version=4
// main codebody taken from Trader Noro - Noro's Crypto Pattern for H1
// Intraday strategy- Exit at EOD at all cost

strategy(title = "Price Action + Bollinger Strategy ",overlay=true)
bar = close > open ? 1 : close < open ? -1 : 0
body = abs(close - open)
avgbody = sma(body, 100)

//calculate simple moving average bollinger bands
b_sma = input(21,minval=1,title=" SMA candle")
b_sma_no_of_deviations = 2.1
b_sma_signal = sma(close, b_sma)
b_sma_deviation = b_sma_no_of_deviations * stdev(close, b_sma)
b_sma_upper= b_sma_signal + b_sma_deviation
b_sma_lower= b_sma_signal - b_sma_deviation

up1 = body < body[1] / 2 and bar[1]==1 and bar == -1 and close[1] > b_sma_upper   
dn1 = body < body[1] / 2 and bar[1]==-1 and bar == 1 and close[1] < b_sma_lower  
up2 = false
dn2 = false
up2 := (up1[1] or up2[1]) and close < close[1]
dn2 := (dn1[1] or dn2[1]) and close > close[1]
plotarrow(up1 or up2 ? 1 : na, colorup = color.black, colordown = color.black, transp = 0)
plotarrow(dn1 or dn2 ? -1 : na, colorup = color.black, colordown = color.black, transp = 0)

strategy.entry("Buy", true, when = dn1)
strategy.exit("exit", "Buy", profit = 3, loss = 1.5)

strategy.entry("Short", false, when = up1)
strategy.exit("exit", "Short", profit = 3, loss = 1.5)



Plus de