
Esta estratégia baseia-se em indicadores de correia para determinar os sinais de negociação e gerenciar as posições usando o método de parada de perda. A estratégia monitora as rupturas nas correntes de correia e nas correntes inferiores, fazendo mais quando o preço quebra a correia, fazendo um vazio quando a correia é rompida e usando a posição de parada de perda quando a ruptura é reversível.
A estratégia usa a trajectória média, a trajectória superior e a trajectória inferior dos indicadores de correia de Bryn Mawr. A trajectória média é a média do preço calculada em um determinado período. A trajectória superior é o dobro da trajectória média mais a diferença padrão, e a trajectória inferior é o dobro da trajectória média menos a diferença padrão.
O código primeiro calcula os traços médio, superior e inferior da correia de Brin. Em seguida, determina se o preço se move para cima ou para baixo. Se o preço se move para cima ou para baixo, faz mais, e se o preço se move para baixo, faz menos.
A lógica da estratégia é a seguinte:
Desta forma, pode-se capturar tendências quando os preços das ações apresentam grandes flutuações e, ao mesmo tempo, limitar os prejuízos com um stop loss.
Pode ser otimizado por meio de combinações de indicadores combinados, ajustando adequadamente as unidades de suspensão.
Esta estratégia é baseada em um indicador de Brinch, uma estratégia de acompanhamento de tendências mais simples. Pode formar posições rapidamente quando os preços se rompem e, ao mesmo tempo, usar o stop loss para controlar o risco. Mas considerar apenas os fatores de preço pode levar a erros de julgamento, e um stop loss muito sensível pode aumentar a frequência de negociação.
/*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()