Стратегия торговли Bollinger Trend Shock

Автор:Чао Чжан, Дата: 2023-11-23 10:48:58
Тэги:

img

Обзор

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

Принцип стратегии

Эта стратегия использует среднюю полосу, верхнюю полосу и нижнюю полосу полос Боллинджера для определения направления тренда рынка. Средняя полоса представляет собой экспоненциальную скользящую среднюю за n периодов, в то время как верхняя полоса и нижняя полоса представляют собой среднюю полосу +2.3 стандартного отклонения и среднюю полосу -2.3 стандартного отклонения соответственно. Когда цена прорывается ниже нижней полосы, это указывает на текущий восходящий тренд. Когда цена прорывается выше верхней полосы, это указывает на текущий нисходящий тренд.

Кроме того, стратегия устанавливает 200-периодную простую скользящую среднюю (СМА) в качестве ориентира для долгосрочного суждения о тренде. Торговые сигналы запускаются только тогда, когда индикаторы BB и SMA согласны в одном направлении. Это может эффективно отфильтровать некоторые ложные прорывы.

Конкретная логика торговли следующая:

  1. Определить восходящий тренд: BB верхняя полоса > sma, средняя полоса > sma, нижняя полоса >= sma
  2. Определить нисходящую тенденцию: BB верхняя полоса < sma, средняя полоса < sma, нижняя полоса <= sma
  3. Долгое условие: Увеличительный тренд + перелом цены BB нижний диапазон
  4. Условие выхода: цена превышает верхнюю полосу BB
  5. Короткое условие: нисходящий тренд + перелом цены BB верхней полосы
  6. Условие выхода: цена прорывается ниже средней полосы BB или восстанавливается снова выше 230-периодного MA

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

  1. BB эффективно оценивает направление тренда и отслеживает возможности для выхода на рынок
  2. Добавление долгосрочного фильтра MA снижает риски, связанные с ложными прорывами
  3. Ясная длинная и короткая логика, легко понятная и понятная
  4. Строгие критерии для короткого выхода помогают ограничить потери

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

  1. Потенциальное большое скольжение при выпуске торговых сигналов BB и MA
  2. Слишком строгие короткие условия приводят к ограниченной прибыли на коротком рынке
  3. Неправильная настройка параметров может привести к слишком высокой/низкой частоте торговли
  4. Стратегии выхода из банковской системы, склонные к огромным потерям

Улучшения:

  1. Оптимизировать параметры BB для уменьшения частоты торговли
  2. Установите стоп-лосс, чтобы избежать больших потерь на одну сделку
  3. Добавить фильтр объема для обеспечения валидности прорыва

Резюме

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


/*backtest
start: 2023-10-23 00:00:00
end: 2023-11-22 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/
// © Aayonga

//@version=5
strategy("布林趋势震荡单", overlay=true,initial_capital=10000,default_qty_type=strategy.fixed, default_qty_value=1 )
bollL=input.int(20,minval=1,title = "长度")
bollmult=input.float(2.3,minval=0,step=0.1,title = "标准差")
basis=ta.ema(close,bollL)
dev=bollmult*ta.stdev(close,bollL)
upper=basis+dev
lower=basis-dev
smaL=input.int(200,minval=1,step=1,title = "趋势分界线")
sma=ta.sma(close,smaL)
//多头趋势
longT=upper>sma and basis>sma and lower>=sma
//空头趋势
shortT=upper<sma and basis<sma and lower<=sma

//入场位
longE=ta.crossover(close,lower)
shortE=ta.crossover(close,upper)
//出场位

longEXIT=ta.crossover(high,upper) 
shortEXIT=ta.crossunder(close,basis) or ta.crossover(close,ta.sma(close,230)) 

if longT and longE
    strategy.entry("多",strategy.long)

if longEXIT
    strategy.close("多",comment = "多出场")

if shortE and shortT
    strategy.entry("空",strategy.short)

if shortEXIT
    strategy.close("空",comment = "空出场")

Больше