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


Дата создания: 2024-02-20 15:07:59 Последнее изменение: 2024-02-20 15:07:59
Копировать: 0 Количество просмотров: 825
1
Подписаться
1617
Подписчики

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

Обзор

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

Стратегический принцип

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

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

В случае открытия позиции, стратегия требует одновременного прорыва цены в коридор Бринга и выхода из индекса внутридневного силы. В случае остановки, стратегия принимает время для остановки и выходит из остановки, если она не приносит прибыли после определенного периода.

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

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

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

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

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

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

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

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

  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)