Тенденционная стратегия на основе осциллятора полосы Боллинджера

Автор:Чао ЧжанДата: 2023-10-10 10:54:05
Тэги:

Обзор

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

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

Стратегия в основном использует осциллятор полосы Боллинджера для определения направления тренда.

BBO = (Close - N-day Moving Average) / (2 * N-day Standard Deviation) * 100

где Close - это цена закрытия, N-дневная скользящая средняя - это N-дневная простая скользящая средняя от закрытия, а N-дневная стандартная отклонение - это N-дневная стандартная отклонение от закрытия.

Стратегия сначала рассчитывает 65-дневный BBO, а затем 30-дневный скользящий средний BBO. Когда BBO пересекает его MA, это сигнализирует о восходящем тренде, идите в длительный. Когда BBO пересекает его MA, это сигнализирует о нисходящем тренде, идите в короткий.

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

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

  1. BBO чувствителен к изменениям трендов.

  2. Движение стоп-лосса контролирует индивидуальные потери при обратном тренде.

  3. Фиксированный прибыль локсов в прибыли, когда тенденция правильная.

  4. Оставляя стоп-лосс максимизирует прибыль для одной сделки.

  5. Стратегия проста и понятна.

Риски

  1. ББО может дать ложные сигналы.

  2. Неправильный стоп-лосс/приобретение прибыли может привести к слишком раннему выходу.

  3. Фиксированная прибыль может выйти слишком рано, упустив дальнейшую прибыль.

  4. Параметры должны быть оптимизированы, чтобы избежать перенапряжения.

  5. Потенциально большое использование, требуется достаточный капитал.

Оптимизация

  1. Оптимизируйте параметры BBO и MA.

  2. Испытайте различные методы остановки потерь, такие как ATR, процент.

  3. Оптимизировать фиксированную прибыль и остановку потерь.

  4. Добавьте фильтры, чтобы избежать ложных сигналов.

  5. Оптимизировать размещение позиций на разных рынках.

  6. Испытать эффективность стратегии в различных инструментах и временных рамках.

Заключение

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


/*backtest
start: 2022-10-03 00:00:00
end: 2023-10-09 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy(title="Strategy CCT Bollinger Band Oscillator", shorttitle="Hornkild", calc_on_order_fills=true, default_qty_type=strategy.percent_of_equity, default_qty_value=50, overlay=false)

length=input(65)
lengthMA=input(30)
src=close
cctbbo=100 * ( src + 2*stdev( src, length) - sma( src, length ) ) / ( 4 * stdev( src, length ) )

//ul=hline(100, color=gray, editable=true)
//ll=hline(0, color=gray)
//hline(50, color=gray)
//fill(ul,ll, color=blue)
//plot(cctbbo, color=blue, linewidth=2)
//plot(ema(cctbbo, lengthMA), color=red)

TP = input(0) * 10
SL = input(0) * 10
TS = input(1) * 10
TO = input(10) * 10
CQ = 100

TPP = (TP > 0) ? TP : na
SLP = (SL > 0) ? SL : na
TSP = (TS > 0) ? TS : na
TOP = (TO > 0) ? TO : na

longCondition = crossover(cctbbo, ema(cctbbo, lengthMA))
if (longCondition)
    strategy.entry("Long", strategy.long)


shortCondition = crossunder(cctbbo, ema(cctbbo, lengthMA))
if (shortCondition)
    strategy.entry("Short", strategy.short)

strategy.exit("Close Short", "Short", qty_percent=CQ, profit=TPP, loss=SLP, trail_points=TSP, trail_offset=TOP)
strategy.exit("Close Long", "Long", qty_percent=CQ, profit=TPP, loss=SLP, trail_points=TSP, trail_offset=TOP)

Больше