
Cette stratégie est basée sur l’indicateur de la ceinture de Brin pour déterminer les signaux de négociation et gérer les positions en utilisant un arrêt de perte. La stratégie surveillera les ruptures de la ceinture de Brin en haut et en bas, en faisant plus lorsque le prix franchit la ceinture de Brin en haut, en laissant la place lorsque la ceinture de Brin est en bas, et en utilisant une position d’arrêt de perte lors d’une rupture inversée.
La stratégie utilise les trajectories moyenne, supérieure et inférieure de l’indicateur de la ceinture de Brin. La trajectorie moyenne est la moyenne des prix au cours d’une période donnée. La trajectorie supérieure est le double de l’écart-type ajouté à la trajectorie moyenne et la trajectorie inférieure est le double de l’écart-type enlevé.
Le code commence par calculer le milieu, le haut et le bas de la courbe de Brin. Ensuite, il détermine si le prix a franchi le haut ou le bas de la courbe.
La logique de la stratégie est la suivante:
De cette façon, il est possible de capturer les tendances lorsque le cours de l’action fluctue beaucoup, mais aussi de limiter les pertes par des arrêts de perte.
L’optimisation peut être réalisée par le combiné des indicateurs combinés et l’ajustement approprié des unités de stop loss.
Cette stratégie est basée sur l’indicateur de la ceinture de Brin. Elle est basée sur une stratégie de suivi de tendance relativement simple. Elle permet de se positionner rapidement en cas de rupture de prix, tout en utilisant les arrêts pour contrôler le risque.
/*backtest
start: 2023-09-26 00:00:00
end: 2023-10-26 00:00:00
period: 1h
basePeriod: 15m
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/
// © ROBO_Trading
//@version=5
strategy(title = "Bollinger Stop Strategy", shorttitle = "BBStop", overlay = true, default_qty_type = strategy.percent_of_equity, initial_capital = 10000, default_qty_value = 100, commission_value = 0.1)
//Settings
long = input(true)
short = input(true)
length = input.int(20, minval=1)
mult = input.float(2.0, minval=0.001, maxval=50)
source = input(close)
showbb = input(true, title = "Show Bollinger Bands")
showof = input(true, title = "Show Offset")
startTime = input(defval = timestamp("01 Jan 2000 00:00 +0000"), title = "Start Time", inline = "time1")
finalTime = input(defval = timestamp("31 Dec 2099 23:59 +0000"), title = "Final Time", inline = "time1")
//Bollinger Bands
basis = ta.sma(source, length)
dev = mult * ta.stdev(source, length)
upper = basis + dev
lower = basis - dev
//Show indicator
offset = showof ? 1 : 0
colorBasis = showbb ? color.gray : na
colorUpper = showbb ? color.blue : na
colorLower = showbb ? color.blue : na
colorBands = showbb ? color.blue : na
p0 = plot(basis, "Basis", color = colorBasis, offset = offset)
p1 = plot(upper, "Upper", color = colorUpper, offset = offset)
p2 = plot(lower, "Lower", color = colorLower, offset = offset)
fill(p1, p2, title = "Background", color = colorBands, transp = 90)
//Trading
truetime = true
if basis > 0 and truetime
if long
strategy.entry("Long", strategy.long, stop = upper, when = truetime)
if short
strategy.entry("Short", strategy.short, stop = lower, when = truetime)
if long == false
strategy.exit("Exit", "Short", stop = upper)
if short == false
strategy.exit("Exit", "Long", stop = lower)
if time > finalTime
strategy.close_all()