
Cette stratégie est basée sur la stratégie de brouillage à deux voies de la ceinture de Brin. Elle utilise les voies supérieure et inférieure de la ceinture de Brin comme signaux d’achat et de vente et définit des points de perte pour contrôler le risque.
La stratégie utilise les bandes de Brin en haut et en bas. La bande de Brin est composée de la ligne de parité et de ses deux canaux d’écart standard correspondants. Un signal de vente est généré lorsque le prix touche ou franchit la bande de Brin en haut de la bande de Brin et un signal d’achat est généré lorsque le prix touche ou franchit la bande de Brin en bas de la bande de Brin.
Plus précisément, la stratégie consiste à tracer une bande de Bryn en calculant la moyenne d’une période donnée (par exemple, 20 jours) et son écart-type deux fois supérieur au seuil de Bryn. La ligne supérieure est la moyenne plus l’écart-type deux fois supérieur au seuil de Bryn, et la ligne inférieure est la moyenne moins l’écart-type deux fois supérieur au seuil de Bryn.
Cette stratégie exploite les caractéristiques des bandes de Bryn pour émettre des signaux de négociation lorsque des fluctuations anormales se produisent, afin de saisir l’opportunité d’un renversement des prix. Comparée à la simple stratégie de suivi de la ligne de parité, cette stratégie est capable de produire des signaux de négociation lorsque les fluctuations augmentent, évitant dans une certaine mesure le risque de fausse rupture.
La stratégie ajoute un mécanisme de stop-loss par rapport à la simple stratégie de rupture en double orbite. Cela permet de contrôler efficacement les pertes causées par des signaux individuels erronés. Le paramètre du point de stop-loss est également plus raisonnable, plus proche de la moyenne, évitant les pertes excessives causées par des stops trop radicaux.
Le plus grand risque de cette stratégie réside dans le fait que les bandes de Boehringer en elles-mêmes ne garantissent pas l’efficacité des signaux de négociation. Lorsque des conditions exceptionnelles se produisent sur le marché, il peut y avoir des fluctuations de prix excessives et déraisonnables, au cours desquelles les signaux de négociation émis par les bandes de Boehringer peuvent être erronés.
En outre, les paramètres des points d’arrêt peuvent être trop radicaux ou conservateurs, ce qui affecte les gains finaux. Si les points d’arrêt sont trop importants, le signal efficace peut être arrêté fréquemment; et si les points d’arrêt sont trop petits, les pertes ne peuvent pas être efficacement contrôlées.
Cette stratégie peut être optimisée dans les domaines suivants:
tester différentes combinaisons de paramètres, telles que la période moyenne, le multiple de l’écart-type, le pourcentage de rupture, etc., pour trouver le paramètre optimal;
Ajouter d’autres indicateurs de jugement pour créer des conditions de filtrage multiples et éviter les signaux erronés;
Optimiser les stratégies de stop-loss, par exemple en remplaçant les stops simples par des stops mobiles ou par lots;
La confirmation des signaux de transaction est effectuée par des bandes de brim associées à des périodes de temps différentes, afin d’éviter les pièges.
Cette stratégie est une combinaison pratique de suivi de la tendance et de rupture de la double voie. Elle permet de saisir les opportunités de reprise lorsque les fluctuations de prix augmentent et de mettre en place des arrêts de perte pour contrôler les risques. La stabilité et la rentabilité de la stratégie peuvent être encore renforcées par des moyens tels que l’optimisation des paramètres, l’augmentation du filtrage des signaux et l’optimisation des stratégies de stop loss.
/*backtest
start: 2024-01-28 00:00:00
end: 2024-02-04 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Bollinger Bands Strategy by Royce Mars", overlay=true)
length = input.int(20, minval=1)
maType = input.string("SMA", "Basis MA Type", options = ["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"])
src = input(close, title="Source")
mult = input.float(2.0, minval=0.001, maxval=50, title="StdDev")
stopLossPercent = input.float(1.0, title="Stop Loss Percent", minval=0.1, maxval=10, step=0.1)
ma(source, length, _type) =>
switch _type
"SMA" => ta.sma(source, length)
"EMA" => ta.ema(source, length)
"SMMA (RMA)" => ta.rma(source, length)
"WMA" => ta.wma(source, length)
"VWMA" => ta.vwma(source, length)
basis = ma(src, length, maType)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev
// Buy and Sell Conditions
buyCondition = close <= lower
sellCondition = close >= upper
// Stop Loss Condition
stopLossCondition = close < basis * (1 - stopLossPercent / 100)
// Strategy Execution
strategy.entry("Buy", strategy.long, when=buyCondition)
strategy.close("Buy", when=sellCondition or stopLossCondition)
strategy.entry("Sell", strategy.short, when=sellCondition)
strategy.close("Sell", when=buyCondition)
// Plotting on the Chart
plotshape(buyCondition, title="Buy Signal", color=color.green, style=shape.labelup, location=location.belowbar)
plotshape(sellCondition or stopLossCondition, title="Sell Signal", color=color.red, style=shape.labeldown, location=location.abovebar)
// Plotting the Bollinger Bands
plot(basis, "Basis", color=color.orange)
p1 = plot(upper, "Upper Band", color=color.blue)
p2 = plot(lower, "Lower Band", color=color.blue)
fill(p1, p2, title="Background", color=color.rgb(33, 150, 243, 95))