
Эта стратегия называется Bollinger Bands Volume Confirmation и основной идеей является объединение индикатора Bollinger Bands и индикатора объема торгов, чтобы обеспечить двойное подтверждение движения цены и объема торгов, что создает более надежные сигналы покупки и продажи.
Стратегия состоит из двух частей:
Показательная часть ленты Брин. Эта часть рассчитывает простые движущиеся средние цены закрытия за определенный период (например, 20 дней) и рассчитывает стандартные отклонения этих цен закрытия от их движущихся средних. Затем, исходя из значения стандартных отклонений, вычисляется соответствующая полоса, расположенная ниже каждого стандартного отклонения над движущейся средней, называемая лентой Брин.
Часть объема сделок. Эта часть рассчитывает скользящую среднюю величину объема сделок за тот же период (например, 20 дней), а затем использует множитель (например, 2.0) для установления порогового значения объема сделок. Только когда объем сделок превышает этот порог, значительное количество сделок считается эффективным.
Сигнал “купить” возникает, когда цена вверх проникает в траекторию, и объем сделки превышает обесценение; сигнал “продать” возникает, когда цена вниз проникает в траекторию, и объем сделки превышает обесценение.
С помощью двойного подтверждения цены и объема сделки можно отфильтровать некоторые ложные сигналы и сделать торговую стратегию более надежной.
Двойной механизм подтверждения, предотвращение ложных прорывов, фильтрация шума. Объединение показателей цены и объема сделки, создание сигнала только в том случае, если они подтверждаются одновременно, может эффективно избежать некоторых ошибочных сигналов, вызванных прорывами цены в пустых условиях.
Параметры настраиваемы. Пользователь может самостоятельно настроить параметры цикла Брин-Бенда и параметры кратности отклонения объема сделки, чтобы адаптироваться к различным рыночным условиям.
Интуитивно понятная диаграмма. Визуализация полей, объемов и понижения объемов торгов, чтобы сделать стратегические сигналы более понятными.
Сами по себе они не способны точно определить обратную точку тренда. Они могут только четко показать аномальные состояния цены, но не могут предсказать обратную точку. Поэтому их следует оценивать в сочетании с другими показателями.
Сигнал объема сделки может задерживаться. При быстром прорыве вверх и вниз по орбитальной ленте, реакция объема сделки может иметь некоторую задержку, в результате чего сигнал также задерживается и не может идеально захватить переломную точку.
Можно попытаться объединить другие показатели, такие как KDJ, MACD и другие, чтобы ввести больше переменных и создать более сложную многомерную торговую стратегию, что повысит практичность стратегии.
Эта стратегия, используя метод двойного подтверждения и регулирования параметров, в некоторой степени отфильтровывает избыточный шум, делая торговые решения более надежными. Однако следует помнить об ограничениях самой ленты Брин, в дальнейшем можно попытаться ввести другие показатели для оптимизации и создать разнообразную количественную стратегию.
/*backtest
start: 2022-12-26 00:00:00
end: 2024-01-01 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Volume + Bollinger Bands Strategy", overlay = true, shorttitle="Vol BB Strategy")
// Bollinger Bands Parameters
length = input(20, title="BB Length")
src = close
mult = input(2.0, title="Multiplier")
basis = ta.sma(src, length)
upper = basis + mult * ta.stdev(src, length)
lower = basis - mult * ta.stdev(src, length)
// Volume Parameters
volMultiplier = input(2.0, title="Volume Multiplier")
avgVolume = ta.sma(volume, length)
// Strategy Logic
buyCondition = close > upper and volume > volMultiplier * avgVolume
sellCondition = close < lower and volume > volMultiplier * avgVolume
// Plotting
plot(upper, color=color.red, title="Upper Band")
plot(lower, color=color.green, title="Lower Band")
plot(volume, color=color.blue, style=plot.style_columns, title="Volume", transp=85)
plot(avgVolume * volMultiplier, color=color.orange, title="Avg Volume x Multiplier")
// Strategy Execution
strategy.entry("Buy", strategy.long, when=buyCondition)
strategy.close("Buy", when=sellCondition)
bgcolor(buyCondition ? color.new(color.green, 90) : sellCondition ? color.new(color.red, 90) : na)