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

Автор:Чао Чжан, Дата: 2024-02-20 15:07:59
Тэги:

img

Обзор

Эта стратегия представляет собой среднюю стратегию реверсии, основанную на полосах Боллинджера и индексе интенсивности внутридневного движения. Она использует расхождения цены верхней и нижней полос полос Боллинджера в сочетании с индикатором объема Интенсивности внутридневного движения для определения времени входа. Преимущества этой стратегии включают: получение прибыли от среднего реверсии цен и фильтрацию сигналов с индикаторами объема.

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

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

В качестве вспомогательного индикатора для суждения стратегия вводит Интраденный Интенсивный Индекс. Этот индикатор сочетает в себе информацию о цене и объеме. Когда индекс положительный, он указывает на усиление покупательной способности, давая длинный сигнал. Когда индекс отрицательный, он указывает на усиление продажной способности, давая короткий сигнал.

Для открытия позиций стратегия требует как ценового прорыва полосы Боллинджера, так и суждения индикатора Интраденного индекса интенсивности. Для стоп-лосса стратегия принимает стоп-лосс, основанный на времени.

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

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

Еще одним преимуществом является внедрение индикатора объема - Индекс интенсивности внутридневной торговли, для фильтрации ценовых сигналов.

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

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

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

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

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

  1. Оптимизировать параметры полос Боллинджера, корректировать показатели цикла и отклонения для адаптации к волатильности различных рынков

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

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

  4. Добавить стратегии стоп-лосс/прибыль, контролировать максимальную потерю на заказ

Заключение

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


/*backtest
start: 2024-01-20 00:00:00
end: 2024-02-19 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/

// Bollinger Bands Strategy with Intraday Intensity Index
// by SparkyFlary

//For Educational Purposes
//Results can differ on different markets and can fail at any time. Profit is not guaranteed.
strategy(title="Bollinger Bands Strategy with Intraday Intensity Index", shorttitle="Bollinger Bands Strategy", overlay=true)

BBlength = input(20, title="Bollinger Bands length")
BBmaType = input("SMA", title="Bollinger Bands MA type", type=input.string, options=["SMA", "EMA"])
BBprice = input(close, title="source")
timeStop = input(10, title="Time-based stop length")
BBmult = input(2.0, title="Bollinger Bands Standard Deviation")
withIII = input(true, title="with Intraday Intensity Index?")
IIIlength = input(21, title="Intraday Intensity Index length")

//function for choosing moving averages
f_ma(type, src, len) =>
    float result = 0
    if type == "SMA"
        result := sma(src, len)
    if type == "EMA"
        result := ema(src, len)
    result

//Intraday Intensity Index
k1 = (2 * close - high - low) * volume
k2 = high != low ? high - low : 1
i = k1 / k2
iSum = sum(i, IIIlength)

//Bollinger Bands
BBbasis = f_ma(BBmaType, BBprice, BBlength)
BBdev = BBmult * stdev(BBprice, BBlength)
BBupper = BBbasis + BBdev
BBlower = BBbasis - BBdev

plot(BBupper, title="Bollinger Bands Upper Line")
plot(BBlower, title="Bollinger Bands Lower Line")
plot(BBbasis, title="Bollinger Bands Mid line", color=color.maroon)

//Strategy
buy = close[1]<BBlower[1] and close>BBlower and (withIII ? iSum>0 : 1)
sell = close>BBbasis or buy[timeStop] or (strategy.openprofit>0 and buy==0 and buy[1]==0 and buy[2]==0 and buy[3]==0)
short = close[1]>BBupper[1] and close<BBupper and (withIII ? iSum<0 : 1)
cover = close<BBbasis or short[timeStop] or (strategy.openprofit>0 and short==0 and short[1]==0 and short[2]==0 and short[3]==0)

strategy.entry(id="enter long", long=true, when=buy)
strategy.close(id="enter long", comment="exit long", when=sell)
strategy.entry(id="enter short", long=false, when=short)
strategy.close(id="enter short", comment="exit short", when=cover)

Больше