
Esta estratégia é uma estratégia de retorno de valor médio baseada no Brin Belt e no índice de intensidade diária. Utiliza o preço para quebrar o Brin Belt e descer, em combinação com o índice de intensidade diária do volume de transação para determinar o momento de entrada.
A estratégia começa com o cálculo da trajectória central, superior e inferior da faixa de Bryn. A trajectória central é a média móvel simples ou a média móvel indexada do preço de fechamento. A trajectória superior e inferior é construída por meio do cálculo do diferencial padrão, adicionando o dobro do diferencial padrão de redução na trajectória central.
Como um indicador auxiliar de julgamento, a estratégia introduziu o índice de intensidade diária. O indicador combina informações de preço e informações de volume de transação. Quando o índice é positivo, indica um aumento da força de compra, como sinal de mais posição. Quando o índice é negativo, indica um aumento da força de venda, como sinal de vazio.
Em termos de abertura de posições, a estratégia requer que o preço quebre a faixa de Brin e desça ao mesmo tempo, e o indicador de julgamento do índice de força intradiária. Em termos de stop loss, a estratégia toma o tempo de stop loss e, se não for lucrativo depois de um determinado período, opta por parar e sair.
A maior vantagem da estratégia é que ela aproveita a característica de retorno médio do preço para lucrar. Quando o preço se desvia muito, há uma maior probabilidade de retorno do preço para o eixo médio, de acordo com a lei estatística, o que fornece uma base teórica para o funcionamento da estratégia.
Outra vantagem é que a estratégia inclui o índice de intensidade diária do volume de transação para filtrar os sinais de preço. O volume de transação pode provar a eficácia do sinal de preço. Isso evita a criação de sinais errados em casos de volume de transação insuficiente em algumas flutuações de preços.
Embora a estratégia dependa da probabilidade de que o preço volte para a média para obter lucro, o movimento aleatório do preço do mercado também pode levar ao disparo de um stop loss, resultando em prejuízos. Este é o risco que as estratégias de retorno à média geralmente enfrentam.
Outro grande risco é que o retorno ao valor médio é um processo de longo período de tempo. Para os investidores, o dinheiro pode ficar preso por um período de tempo. Esse risco de tempo pode levar os investidores a perder outras oportunidades de investimento melhores.
A estratégia pode ser melhorada em vários aspectos:
Optimizar os parâmetros das faixas de Bryn, os ciclos de ajuste e os indicadores de desvios padrão para adaptar-se a um ambiente de flutuação em diferentes mercados
Tente outros tipos de médias móveis, como médias móveis lineares ponderadas para melhorar a suavidade
Tente outros tipos de indicadores de volume de transação para obter melhores sinais de confirmação de volume
Adição de uma estratégia de stop loss para controlar a perda máxima de cada ordem
A estratégia como um todo é uma típica estratégia de retorno do valor médio. Dependendo de eventos de probabilidade para obter lucro, mas os riscos também são óbvios. O ajuste de parâmetros e a otimização de indicadores podem obter melhores resultados.
/*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)