A estratégia de índice de volume de transação positivo gera um sinal de negociação através da comparação do volume de transação de ontem e de hoje, calcula a mudança de preço em caso de aumento do volume de transação, formando um índice de volume de transação positivo e comparando-o com sua linha média. A estratégia segue a lei do mercado de aumento do volume de transação e aumento simultâneo dos preços.
A estratégia primeiro calcula a queda do preço no dia xROC. Depois, compara se o volume de transação de hoje é maior do que o volume de ontem.[Se for maior que, o índice de volume de transação atual nRes é o índice de nRes de ontem[1] mais xROC; se o volume de transações de hoje for menor ou igual ao de ontem, o índice de hoje manterá o nível de ontem nRes[1]。
Depois de calcular o índice de volume de transação positivo nRes, compare-o com a média móvel nResEMA de N dias. Se nRes for maior que nResEMA, é um sinal de ganho de vista, se nRes for menor que nResEMA, é um sinal de falta de vista.
A estratégia segue a relação entre o índice de volume de transação positivo e sua linha média, gerando um sinal de negociação. Quando o índice atravessa a linha média acima, é um sinal de compra; Quando o índice atravessa a linha média abaixo, é um sinal de venda.
A estratégia tem as seguintes vantagens:
A mudança de volume de negócios pode ser usada para capturar mudanças na dinâmica do mercado.
Com uma certa capacidade de acompanhamento de tendências.
O método de cálculo é simples, fácil de implementar e medir.
A frequência de negociação pode ser controlada por meio de ajustes nos parâmetros da linha média.
Os principais riscos desta estratégia são:
O aumento do volume de transações não significa necessariamente um aumento do preço, existindo a possibilidade de desvio.
O setor deve ter um stop loss razoável para controlar os prejuízos.
O índice e a linha média geram sinais de negociação atrasados em relação às mudanças de preço.
A anomalia do volume de transações ou a otimização da estratégia podem gerar sinais errados.
A estratégia pode ser melhorada em vários aspectos:
O teste adiciona outros indicadores técnicos para filtragem de sinais, como MACD, KDJ, etc.
Optimizar os parâmetros da linha média para encontrar o melhor equilíbrio.
Adicionar estratégias de stop loss, como stop loss móvel, controle de risco.
A introdução de um mecanismo de saída em lotes pode ser considerada para reduzir os riscos.
Optimizar os parâmetros para variedades específicas e aumentar a estabilidade da estratégia.
A estratégia do índice de volume de transação baseia-se na mudança de volume de transação para projetar sinais de negociação e tem uma certa capacidade de acompanhar o mercado. No entanto, é necessário ter em conta que o aumento do volume de transação não significa necessariamente aumento do preço.
/*backtest
start: 2023-08-18 00:00:00
end: 2023-09-17 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 11/10/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
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Positive Volume Index", shorttitle="Positive Volume Index")
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="PVI")
plot(nResEMA, color=blue, title="EMA")