Стратегия разворота тренда полос Боллинджера


Дата создания: 2023-12-07 16:08:05 Последнее изменение: 2023-12-07 16:08:05
Копировать: 0 Количество просмотров: 620
1
Подписаться
1619
Подписчики

Стратегия разворота тренда полос Боллинджера

Обзор

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

Принципы

  1. Судить тренд: многоголовый тренд, когда бурин на трассе и на трассе одновременно больше 200-дневного скользящего среднего; пустой тренд, когда бурин на трассе и на трассе одновременно меньше 200-дневного скользящего среднего
  2. Вход: при многоглавном тренде, цена касается буринского пояса, когда он идет вниз; при белоглавом тренде, цена касается буринского пояса, когда он идет вверх.
  3. Выход: при многоосновной позиции, когда цена касается порыва на 250-дневную простой скользящую среднюю или порыва на 250-дневную простую скользящую среднюю; при пустой позиции, когда цена касается порыва на 300-дневную простую скользящую среднюю или порыва на порывную

Преимущества

  1. Используйте ленты Брин для определения направления тренда, чтобы избежать повторных сделок в отсутствие четкого направления
  2. Использование диапазона колебаний в буринской полосе для определения надлежащего входа и выхода, когда направление тренда ясно
  3. В дополнение к подвижным средним добавлены вспомогательные суждения, чтобы избежать непредвиденных потерь.

Риски и решения

  1. Неправильная настройка параметров пояса буринга приводит к ошибкам в суждении: следует скорректировать параметры пояса буринга, чтобы найти наиболее подходящую длину цикла
  2. Неправильные параметры getParameter, часто встречающиеся сбои или непредвиденные потери: следует тестировать различные параметры, чтобы найти наиболее стабильные
  3. Внезапные изменения в ситуации, такие как крупные новости, вызывают аномальные колебания: следует установить стоп-лосс и контролировать одиночные потери

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

  1. Тестирование эффективности стратегии при различных параметрах цикла для поиска оптимальных параметров
  2. Увеличение механизма хранения убытков, чтобы избежать крупных убытков при чрезвычайных ситуациях
  3. В сочетании с другими показателями подтверждение времени входа в игру, повышение вероятности победы в стратегии

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

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

Исходный код стратегии
/*backtest
start: 2023-11-29 00:00:00
end: 2023-12-06 00:00:00
period: 1m
basePeriod: 1m
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("boll trend", overlay=true,initial_capital=1000,default_qty_type=strategy.fixed, default_qty_value=1 )
bollL=input.int(20,minval=1,title = "length")
bollmult=input.float(2.3,minval=0,step=0.1,title = "mult")
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 = "trend")
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) or ta.crossunder(close,ta.sma(close,300))
shortEXIT=ta.crossunder(low,lower) or ta.crossover(close,ta.sma(close,250)) 

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

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

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

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