Трехточечный индикатор полос Боллинджера, следующая за количественной торговой стратегией

BB SMA SD CROSS
Дата создания: 2024-12-11 11:01:52 Последнее изменение: 2024-12-11 11:01:52
Копировать: 2 Количество просмотров: 351
1
Подписаться
1617
Подписчики

Трехточечный индикатор полос Боллинджера, следующая за количественной торговой стратегией

Обзор

Эта стратегия является улучшенной версией стратегии отслеживания тенденций, основанной на индикаторе пояса Бурин. Она подтверждает надежность тенденции путем мониторинга цены с тремя последовательными касаниями пояса Бурин, что приводит к более высокой выигрышной ставке.

Стратегический принцип

Основная логика стратегии заключается в том, что с помощью механизма учета цены идентифицируют непрерывное касание границы Брин-пояса. Когда цена трижды подряд прорывается вниз, система посылает многосигналы; когда цена трижды подряд прорывается вверх, система посылает пустые сигналы. Этот механизм эффективно фильтрует ложные прорывы и повышает надежность торгов.

Стратегические преимущества

  1. Высокая надежность: значительно снижается эффект ложных прорывов, требуя три последовательных касания границы пояса бурин для подтверждения транзакционного сигнала.
  2. Управление рисками: использование скользящих средних как точки равновесия, позволяющих своевременно прекратить убытки при обратном тренде.
  3. Приспособляемость: параметры стратегии могут быть скорректированы в зависимости от различных рыночных условий и имеют хорошую универсальность.
  4. Средняя частота сделок: из-за более строгих условий для входа, избегается чрезмерная торговля.
  5. Рациональное управление капиталом: используется процент от общей стоимости счета для управления позициями, риск контролируется.

Стратегический риск

  1. Риск колебаний на рынке: частое возникновение ложных сигналов на рынке во время колебаний на горизонтальном уровне.
  2. Риск проскальзывания: при резких колебаниях на рынке может возникнуть большая потеря проскальзывания
  3. Чувствительность параметров: настройка параметров в ленте бурин влияет на эффективность стратегии.
  4. Риск обратного тренда: возможны большие потери в случае резкого изменения сильного тренда.

Направление оптимизации стратегии

  1. Введение показателей трафика: в сочетании с анализом трафика может быть повышена надежность сигнала.
  2. Динамические параметры корректировки: Приспосабливаясь к рыночным колебаниям, корректируйте параметры Блин-полосы.
  3. Добавление индикаторов подтверждения тенденции: можно добавить другие технические индикаторы для подтверждения направления тенденции.
  4. Оптимизация сдерживания: создание более гибких сдерживающих механизмов для различных рыночных условий.
  5. Усовершенствование управления позициями: динамическая корректировка пропорций позиций в зависимости от силы сигнала.

Подвести итог

Эта стратегия, улучшив традиционную систему торговли в бурин-поясах, обеспечивает стратегию отслеживания тенденций с высокой надежностью. Ее уникальный механизм подтверждения тройных касаний эффективно повышает выигрышную вероятность торгов, в то время как механизм равных позиций, основанный на движущихся средних, обеспечивает разумную прибыльность. Хотя в стратегии по-прежнему присутствуют некоторые присущие риски, ее стабильность и прибыльность могут быть дополнительно повышены путем предоставления оптимизированного направления.

Исходный код стратегии
/*backtest
start: 2024-11-10 00:00:00
end: 2024-12-09 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=6
strategy("Bollinger Bands Strategy - 3 Crossings", overlay=true)

// Input Parameters
length = input.int(20, title="Bollinger Bands Length", minval=1)
src = input(close, title="Source")
mult = input.float(2.0, title="Multiplier", step=0.1)

// Calculate Bollinger Bands
basis = ta.sma(src, length)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev

// Plot Bollinger Bands
plotBasis = plot(basis, color=color.blue, title="Basis")
plotUpper = plot(upper, color=color.red, title="Upper Band")
plotLower = plot(lower, color=color.green, title="Lower Band")
fill(plot1=plotUpper, plot2=plotLower, color=color.new(color.blue, 90), title="Band Fill")

// Counter Variables
var int longCrossCount = 0
var int shortCrossCount = 0

// Detect Crossings
longCondition = close < lower  // Price closes below the lower band
shortCondition = close > upper  // Price closes above the upper band

if longCondition
    longCrossCount += 1  // Increment the counter for long
    shortCrossCount := 0  // Reset the short counter

if shortCondition
    shortCrossCount += 1  // Increment the counter for short
    longCrossCount := 0  // Reset the long counter

if not longCondition and not shortCondition
    longCrossCount := 0  // Reset if no crossing
    shortCrossCount := 0

// Entry and Exit Rules
if longCrossCount >= 3 and strategy.position_size <= 0
    strategy.entry("Long", strategy.long)
    longCrossCount := 0  // Reset the counter after entering

if shortCrossCount >= 3 and strategy.position_size >= 0
    strategy.entry("Short", strategy.short)
    shortCrossCount := 0  // Reset the counter after entering

// Exit Condition (When Price Returns to the Middle Band)
exitCondition = ta.crossover(src, basis) or ta.crossunder(src, basis)

if exitCondition and strategy.position_size > 0
    strategy.close("Long")
if exitCondition and strategy.position_size < 0
    strategy.close("Short")