
Эта стратегия основана на показателях буринского пояса для определения торговых сигналов, для управления позициями с использованием метода остановки убытков. Стратегия будет контролировать прорыв буринского пояса вверх и вниз, делать больше, когда цена прорывает буринский пояса вверх, делать пустое, когда она прорывается вниз, и использовать убыточный пробел при обратном прорыве.
Эта стратегия использует среднюю, верхнюю и нижнюю линии в индикаторе Брин-Бенда. Средняя линия - это средняя цена за определенный период, верхняя линия - это средняя линия плюс два раза стандартное расхождение, а нижняя линия - это средняя линия минус два раза стандартное расхождение.
Код сначала рассчитывает среднюю, верхнюю и нижнюю полосы бурин-пояса. Затем определяется, прорвала ли цена верхнюю или нижнюю полосу. Если она прорвет верхнюю полосу, то сделает больше, а если прорвет нижнюю полосу, то сделает пустое.
В частности, логика стратегии заключается в следующем:
Таким образом, можно улавливать тенденции при больших колебаниях цен на акции, а также ограничивать потери с помощью стоп-лосса.
Оптимизация может быть достигнута с помощью комбинации показателей Combine, а также с помощью соответствующей корректировки Stop Loss Units.
Эта стратегия была разработана на основе более простого метода отслеживания тенденций, основанного на индикаторе Бринбелла. Она позволяет быстро формировать позиции при появлении прорыва в цене, а также контролировать риск с помощью остановочных потерь. Однако только учет ценовых факторов может привести к ошибочному суждению, а слишком чувствительные остановки могут увеличить частоту торгов.
/*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()