Эта стратегия использует индикатор полосы Боллинджера в сочетании с отслеживанием стоп-лосса для реализации торговли по отслеживанию тренда. Она становится короткой, когда цена проходит через верхний рельс, и длинной, когда цена проходит через нижний рельс.
Стратегия сначала рассчитывает средний рельс, верхний рельс и нижний рельс полосы Боллинджера. Средний рельс представляет собой WMA с длиной Лена, а верхние и нижние рельсы представляют собой стандартное отклонение умноженное на отклонение.
Когда цена проходит через верхний рельс, перейдите на короткий; когда цена проходит через нижний рельс, перейдите на длинный. После открытия позиции, установите стоп-лосс и возьмите цену прибыли. Стоп-лосс - это входное значение Стоп, а цена прибыли - входное значение Лимит.
Кроме того, стратегия также предусматривает возможность открытия реверсии. Когда проверяется
Независимо от того, является ли это открытием тренда или обратным открытием, настройки для остановки потери и получения прибыли одинаковы.
Стратегия сочетает в себе индикатор полосы Боллинджера и отслеживание стоп-лосса, чтобы эффективно контролировать риски, блокируя прибыль от тренда.
Показатели верхней и нижней полос Боллинджера могут четко определять ценовые прорывы.
Самый большой риск стратегии Болинджеровских полос - это обратный тренд. После короткого перехода, когда цена проходит через верхнюю рельсу, цена может появиться в виде V-образного перелома, что приводит к быстрой остановке убытков.
Если цена вновь входит в диапазон, то обратные заказы могут снизить прибыль.
Кроме того, неправильное настройка параметров также может усиливать риски.
Стратегия может быть оптимизирована в следующих аспектах:
Добавьте адаптивную функциональность параметров. Len и отклонение могут быть динамически скорректированы в соответствии с волатильностью рынка, чтобы сделать полосу Боллинджера ближе к цене.
Добавить фильтры открытия позиции. Дополнительные условия могут быть добавлены, такие как увеличение объема торговли и увеличение торговых операций, чтобы избежать отзыва.
Комбинируйте с другими индикаторами
Добавьте временные ограничения.Только торговля в течение определенного периода времени может уменьшить риски на ночь.
Стратегия отслеживания полосы Боллинджера определяет ценовые прорывы с помощью индикатора полосы Боллинджера. Она блокирует прибыль путем настройки стоп-лосса и прибыли и использует отслеживание стоп-лосса для корректировки рисков. Стратегия проста и практична. На основе рыночных условий можно выбрать торговлю трендом или обратной торговлей. Оптимизируя параметры и добавляя условия фильтра, риски можно еще больше снизить, чтобы получить более стабильную прибыль.
/*backtest start: 2024-02-19 00:00:00 end: 2024-02-26 00:00:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(title="BB Strategy (Basic)",overlay=true, initial_capital=25000, default_qty_value=1, commission_type=strategy.commission.cash_per_contract, commission_value=3.02) len = input(20, minval=1, title="Length") src = input(close, title="Source") mult = input(2.0, "Deviation", minval=0.001, maxval=50) //price_drop = input(.003, "When price drops (In Ticks) Enter Long", step=.001) //price_climb = input(.003, "When price climbs (In Ticks) Enter Short", step=.001) trail = input(true, "Trailing Stop(checked), Market stop(unchecked)") stop = input(10000, "Stop (in ticks)", step=5) limit = input(20000, "Limit Out", step=5) //size = input(1, "Limit Position Size (pyramiding)", minval=1) revt = input(true, "Reversal Entry(checked, Trend Entry(unchecked)") timec = input(false, "Limit Time of Day (Buying Side)") //calculations and plots revti = if revt==false true basis = wma(src, len) dev = mult * stdev(src, len) upper = basis + dev lower = basis - dev plot(basis, color=red) p1 = plot(upper, color=teal) p2 = plot(lower, color=teal) fill(p1, p2) u = crossover(high, upper) d = crossunder(low, lower) //Time Session sess = input("1600-0500", "Start/Stop trades (Est time)") t = time(timeframe.period, sess) //Orders if(timec) strategy.entry("Enterlong", long=revt, when=d and t>1) else strategy.entry("Enterlong", long=revt, when=d) if(trail) strategy.exit("Exit","Enterlong", profit=limit, trail_points = 0, trail_offset = stop ) else strategy.exit("Exit","Enterlong", profit=limit, loss = stop ) if(timec) strategy.entry("Entershort", long=revti, when=u and t>1) else strategy.entry("Entershort", long=revti, when=u) if(trail) strategy.exit("Exit","Entershort", profit=limit, trail_points = 0, trail_offset = stop ) else strategy.exit("Exit","Entershort", profit=limit, loss = stop )