Моментальная волна Болинджерские полосы Стратегия тренда

Автор:Чао Чжан, Дата: 2024-01-17 17:33:37
Тэги:

img

Обзор

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

Логика стратегии

Стратегия использует верхние и нижние полосы полос Боллинджера для определения тенденций. Средняя полоса полос Боллинджера - это простая скользящая средняя цены закрытия за n периодов. Ширина полос равна k раз стандартному отклонению цен закрытия за n периодов. Формулы:

Средняя полоса: SMA ((Close, n) Верхняя полоса: Средняя полоса + k * STDEV ((Close, n) Нижняя полоса: Средняя полоса - k * STDEV ((Close, n))

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

Исходя из этого, стратегия определяет:

  1. Продолжите, когда цена закрытия превысит верхнюю полосу
  2. Пройти короткий, когда цена закрытия превышает нижнюю полосу

Использование полос Боллинджера для определения тенденций хорошо работает для среднесрочных и долгосрочных тенденций.

Анализ преимуществ

Основными преимуществами этой стратегии являются:

  1. Использование полос Боллинджера для определения тенденций является надежным.

  2. Правила стратегии просты и понятны, легко понять и реализовать.

  3. Не нужно предсказывать цены, просто отслеживать взаимосвязь между ценой и полосами Боллинджера.

  4. Сигналы генерируются на перерывах в диапазоне, своевременно улавливая изменения тренда, не упуская возможностей.

Анализ рисков

Стратегия также сопряжена с некоторыми рисками:

  1. После прорыва диапазона тренды могут не устойчивы и возможны сдвиги.

  2. Цена может колебаться вблизи диапазонов, вызывая несколько небольших потерь.

  3. Недостаточные параметры также могут приводить к плохим сигналам. Слишком маленький n может привести к слишком частым изменениям полос и сигналам. Слишком большой k может привести к отставанию сигналов.

  4. Тенденции на рынке могут повлиять на отдельные запасы и привести к системным рискам.

Соответствующие меры контроля риска:

  1. Настройка n и k должна соответствовать балансу чувствительности.
  2. Используйте остановки для контроля потерь на одиночных сделках.
  3. Добавить фильтры с другими индикаторами для фильтрации сигналов.

Руководство по оптимизации

Стратегия может быть оптимизирована несколькими способами:

  1. Оптимизируйте n и проверяйте различные настройки.

  2. Добавьте фильтры, использующие другие индикаторы, такие как MACD и KDJ, для фильтрации сигналов покупки/продажи и уменьшения ложных сигналов.

  3. Добавьте механизмы остановки потери, такие как ценовые или волатильные остановки для контроля потерь.

  4. Используйте полосу Боллинджера для определения волатильности цен и корректировки размеров позиций.

  5. Комбинировать с индикаторами, определяющими тренд, и использовать диапазоны для входных сигналов в установленных тенденциях.

Резюме

В целом это надежная стратегия, следующая за трендом. Он использует полосы Боллинджера для определения трендов и прост в эксплуатации. Основными преимуществами являются своевременные сигналы, захватывающие сдвиги в тренде. Но существуют некоторые сложности с оптимизацией параметров. Методы, такие как оптимизация параметров, добавление фильтров, могут контролировать риски и улучшать стабильность. Он подходит для инвесторов, которые имеют умеренные потребности в точности тренда и предпочитают высокую частоту операции.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Bollinger Bands Trend Strategy", shorttitle="BB Trend", overlay=true)
source = close
length = input(8, minval=1)
mult = input(1.00, minval=0.001, maxval=50)

basis = sma(source, length)
dev = mult * stdev(source, length)

upper = basis + dev
lower = basis - dev

buyEntry = crossover(source, upper)
sellEntry = crossunder(source, lower)

if (crossover(source, upper))
    strategy.entry("BBandLE", strategy.long, stop=upper, oca_name="BollingerBands",  comment="BBandLE")
else
    strategy.cancel(id="BBandLE")

if (crossunder(source, lower))
    strategy.entry("BBandSE", strategy.short, stop=lower, oca_name="BollingerBands", comment="BBandSE")
else
    strategy.cancel(id="BBandSE")

//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)


Больше