Cette stratégie utilise les bandes de Bollinger pour déterminer la direction de la tendance des prix combinée à des moyennes mobiles rapides et lentes pour entrer dans les positions. Le signal d'achat est déclenché lorsque le prix traverse la bande moyenne de Bollinger et que la moyenne mobile rapide traverse la moyenne mobile lente. Le signal de vente est déclenché lorsque le prix traverse la bande moyenne de Bollinger et que la moyenne mobile rapide traverse la moyenne mobile lente.
La stratégie se compose principalement de l'indicateur Bollinger Bands et des moyennes mobiles.
LeLes bandes de BollingerLa bande moyenne est la moyenne mobile simple de n jours. La bande supérieure et la bande inférieure sont k écarts standards au-dessus et en dessous de la bande moyenne. Lorsque le prix est proche de la bande supérieure, cela indique des conditions de surachat. Lorsque le prix est proche de la bande inférieure, cela indique des conditions de survente. La bande moyenne représente la direction de la tendance des prix.
LeMoyens mobilesLa moyenne mobile rapide a une période de 40 et la moyenne mobile lente a une période de 120. Lorsque le MA rapide traverse le MA lent, c'est un signal d'achat. Lorsque le MA rapide traverse le MA lent, c'est un signal de vente.
Sur la base des règles des indicateurs ci-dessus, les signaux de négociation spécifiques de cette stratégie sont les suivants:
Signal d' achat: les prix de clôture franchissent la bande médiane et les MA rapides traversent les MA lentes
Signal de vente: les prix de clôture s' écartent en dessous de la fourchette moyenne et les MA rapides se croisent en dessous des MA lentes
Arrêtez la perte: ATR suivi par le stop loss, le prix du stop loss est le prix actuel moins 4 fois ATR
Cette stratégie combine les bandes de Bollinger et les moyennes mobiles, qui permettent de déterminer efficacement la direction de la tendance des prix et d'éviter une ouverture excessive de positions pendant les périodes d'intervalle.
La bande médiane de Bollinger peut clairement refléter la tendance des prix. Lorsque le prix traverse la bande médiane, il forme un signal de tendance fort. Les bandes supérieures et inférieures peuvent juger efficacement des conditions de surachat et de survente pour éviter de poursuivre de nouveaux sommets et de tuer des bas au cours des périodes d'intervalle.
La croix d'or et la croix morte des MAs rapides et lents sont également des méthodes couramment utilisées pour déterminer les tendances.
L'ATR trailing stop loss ajuste le point de stop loss pour s'adapter aux fluctuations du marché, contrôlant ainsi efficacement la perte de position unique.
Le plus grand risque de cette stratégie est que le prix puisse rapidement reculer après avoir franchi la bande du milieu, incapable de réaliser des profits efficacement. Cela entraînerait des pertes. La solution consiste à ajuster de manière appropriée les paramètres MA pour que les indicateurs correspondent mieux aux caractéristiques du marché.
Un autre risque est que, pendant les périodes d'intervalle, les bandes de Bollinger et les moyennes mobiles puissent donner de mauvais signaux. À ce moment-là, nous devrions envisager de sauter les signaux de trading et attendre des tendances plus claires. Ou réduire la taille des positions de manière appropriée.
La stratégie peut être optimisée dans les aspects suivants:
Ajuster les paramètres des bandes de Bollinger pour les adapter aux caractéristiques du marché de différentes périodes
Ajuster les paramètres de MA rapides et lents pour mieux correspondre aux instruments de négociation spécifiques
Ajout d'autres indicateurs auxiliaires pour la combinaison afin d'améliorer la stabilité de la stratégie
Optimiser les méthodes de dimensionnement des positions, augmenter les positions pendant les périodes de tendance et diminuer les positions pendant les périodes de variation
Testez différentes méthodes de stop loss pour trouver de meilleures solutions
En général, il s'agit d'une tendance typique suivant la stratégie. Il combine les bandes de Bollinger et les moyennes mobiles pour déterminer les tendances des prix et les opportunités de trading. Le signal de stratégie est relativement clair, adapté au trading automatisé. Mais il comporte également certains risques, paramètres et règles qui doivent être optimisés pour s'adapter à des environnements de marché plus étendus.
/*backtest start: 2024-01-10 00:00:00 end: 2024-01-17 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © Robrecht99 //@version=5 strategy("Trend Following with Bollinger Bands", overlay=true, margin_long=100, margin_short=100, pyramiding=4) // Bollinger Bands // length = input.int(20, minval=1, group="Bollinger Bands Inputs") src = input(close, title="Source", group="Bollinger Bands Inputs") mult = input.float(2.0, minval=0.001, maxval=50, title="StdDev") basis = ta.sma(src, length) dev = mult * ta.stdev(src, length) upper = basis + dev lower = basis - dev offset = input.int(0, "Offset", minval = -500, maxval = 500, group="Bollinger Bands Inputs") plot(basis, "Basis", color=color.orange, offset = offset) p1 = plot(upper, "Upper", color=color.orange, offset = offset) p2 = plot(lower, "Lower", color=color.orange, offset = offset) fill(p1, p2, title = "Background", color=color.rgb(255, 0, 255, 95)) // Moving Averages // len1 = input.int(40, minval=1, title="Length Fast MA", group="Moving Average Inputs") len2 = input.int(120, minval=1, title="Length Slow MA", group="Moving Average Inputs") src1 = input(close, title="Source Fast MA") src2 = input(close, title="Source Slow MA") maColorFast = input.color(color.new(color.red, 0), title = "Color Fast MA", group = "Moving Average Inputs", inline = "maFast") maColorSlow = input.color(color.new(color.purple, 0), title = "Color Slow MA", group = "Moving Average Inputs", inline = "maSlow") fast = ta.ema(src1, len1) slow = ta.ema(src2, len2) plot(fast, color=maColorFast, title="Fast EMA") plot(slow, color=maColorSlow, title="Slow EMA") // ATR Inputs // strategy.initial_capital = 50000 lengthATR = input.int(title="ATR Period", defval=14, minval=1, group="ATR Input") risk = input(title="Risk Per Trade", defval=0.01, group="ATR Input") multiplier = input(title="ATR Multiplier", defval=2, group="ATR Inputs") atr = ta.atr(length) amount = (risk * strategy.initial_capital / (2 * atr)) // Buy and Sell Conditions // entrycondition1 = ta.crossover(fast, slow) entrycondition2 = fast > slow sellcondition1 = ta.crossunder(fast, slow) sellcondition2 = slow > fast // Buy and Sell Signals // if (close > basis and entrycondition2) strategy.entry("long", strategy.long, qty=amount) stoploss = close - atr * 4 strategy.exit("exit sl", stop=stoploss, trail_offset=stoploss) if (sellcondition1 and sellcondition2) strategy.close(id="long") if (close < basis and sellcondition2) strategy.entry("short", strategy.short, qty=amount) stoploss = close + atr * 4 strategy.exit("exit sl", stop=stoploss, trail_offset=stoploss) if (entrycondition1 and entrycondition2) strategy.close(id="short")