
Esta estratégia é conhecida como estratégia de inversão de índice de volume negativo. A estratégia utiliza o índice de volume negativo (NVI) e sua média móvel para construir um sinal longo e curto e fazer uma inversão de negociação quando as condições são satisfeitas.
O indicador central da estratégia de inversão de indicadores negativos é o indicador negativo ((NVI) ⋅ A fórmula de cálculo do NVI é:
Número de transações no dia < Número de transações no dia anterior: NVI = Número de transações no dia anterior + taxa de variação do preço no dia
NVI = NVI do dia anterior quando o volume de tráfego do dia >= o volume de tráfego do dia anterior
Ou seja, o NVI só é atualizado nos dias de volume de negócios, aumentando ou diminuindo a taxa de variação de preços para refletir a tendência de preços. A lógica para a construção de sinais longos e curtos do NVI é:
Assim, é possível negociar de forma inversa quando a quantidade está diminuindo.
Os principais benefícios de uma estratégia de inversão de indicadores negativos são:
O uso de sinais de volume de tráfego para encontrar o ponto de inflexão, com uma certa vantagem de tempo.
A lógica da estratégia é simples, fácil de entender e de implementar.
Pode ser otimizado por meio de ajustes de parâmetros para adaptar-se a diferentes condições de mercado.
A estratégia de inversão de indicadores negativos também tem alguns riscos:
A precisão do sinal de volume de transação não pode ser garantida, existindo uma certa probabilidade de transação errada.
A configuração inadequada dos parâmetros pode causar transações muito frequentes ou sinais pouco visíveis.
A necessidade de garantir a fiabilidade da fonte de dados evita o risco de erros de volume de dados.
Os riscos podem ser reduzidos por meio de otimização de parâmetros, em combinação com estratégias de stop loss.
A estratégia de inversão de indicadores negativos pode ser otimizada em vários aspectos:
Optimizar os parâmetros das médias móveis para encontrar os que melhor descrevem as características do mercado.
Adicione filtros de outros indicadores para evitar erros de negociação desnecessários, como o aumento do nível de julgamento de tendências.
A combinação de uma forte paragem de perdas com a limitação de perdas individuais
Teste a diferença de configuração de parâmetros de diferentes variedades, definindo parâmetros de adaptação.
A estratégia de inversão de indicadores negativos faz uma operação de reversão com o objetivo de capturar um potencial ponto de reversão de tendência quando o volume de negócios é reduzido. A estratégia tem vantagens simples e fáceis de entender, mas também existe um certo risco de erro de negociação.
/*backtest
start: 2023-12-13 00:00:00
end: 2023-12-20 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
////////////////////////////////////////////////////////////
// Copyright by HPotter 11/08/2017
// The theory behind the indexes is as follows: On days of increasing
// volume, you can expect prices to increase, and on days of decreasing
// volume, you can expect prices to decrease. This goes with the idea of
// the market being in-gear and out-of-gear. Both PVI and NVI work in similar
// fashions: Both are a running cumulative of values, which means you either
// keep adding or subtracting price rate of change each day to the previous day`s
// sum. In the case of PVI, if today`s volume is less than yesterday`s, don`t add
// anything; if today`s volume is greater, then add today`s price rate of change.
// For NVI, add today`s price rate of change only if today`s volume is less than
// yesterday`s.
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="Negative Volume Index Backtest", shorttitle="NVI Str")
EMA_Len = input(255, minval=1)
reverse = input(false, title="Trade reverse")
xROC = roc(close, 1)
nRes = iff(volume < volume[1], nz(nRes[1], 0) + xROC, nz(nRes[1], 0))
nResEMA = ema(nRes, EMA_Len)
pos = iff(nRes > nResEMA, 1,
iff(nRes < nResEMA, -1, nz(pos[1], 0)))
possig = iff(reverse and pos == 1, -1,
iff(reverse and pos == -1, 1, pos))
if (possig == 1)
strategy.entry("Long", strategy.long)
if (possig == -1)
strategy.entry("Short", strategy.short)
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(nRes, color=red, title="NVI")
plot(nResEMA, color=blue, title="EMA")