Estratégia do oscilador de volume percentual

Autora:ChaoZhang, Data: 2023-11-06 15:45:02
Tags:

img

Visão geral:

O percentual volume oscilador (PVO) é um oscilador de momento para o volume. PVO mede a diferença entre duas médias móveis baseadas em volume como uma porcentagem da média móvel maior para medir mudanças nas tendências de volume. Esta estratégia usa PVO para identificar tendências de volume para confirmar ou refutar a ação do preço.

Estratégia lógica:

  1. Calcular a EMA de volume de curto prazo (default 12 dias)
  2. Calcular a EMA de volume de longo prazo (default 26 dias)
  3. Calcular o PVO como a diferença percentual entre a EMA curta e a longa
  4. Calcular a EMA da linha de sinal no PVO (default 9 dias)
  5. Calcular o histograma como diferença entre o PVO e a linha de sinal
  6. Caminhar em curto quando a linha de sinal cruza acima do PVO, ir em longo quando cruza abaixo
  7. Opção de reversão da orientação do comércio
  8. Barras de cores baseadas no sinal

A estratégia forma um indicador de PVO através da composição de EMA dupla e usa uma linha de sinal para identificar mudanças na tendência de volume para antecipar a direção potencial dos preços.

Vantagens:

  1. Utilizar as alterações de volume para determinar as futuras tendências de preços como alerta precoce
  2. Estrutura EMA dupla simples e prática com regulação flexível dos parâmetros
  3. Barras de cores visualizadas para julgamento de tendências intuitivo e fácil operação
  4. A linha de sinal reduz os falsos sinais e melhora a estabilidade
  5. O reverse trading opcional enriquece o uso da estratégia
  6. Aplicável às tendências de médio a longo prazo e às negociações de curto prazo

A estratégia utiliza plenamente o efeito indicativo das mudanças de volume na ação do preço. Em comparação com o indicador único, a estrutura PVO é mais estável com parâmetros personalizáveis para julgar as mudanças de tendência de volume e detectar a direção potencial do preço com antecedência. A diferenciação de cores intuitiva fortalece a decisão de tendência e a opção de negociação reversa faz dela uma estratégia versátil baseada em volume.

Riscos:

  1. Indicador de volume atrasa o sinal de preço e pode divergir
  2. A definição inadequada dos parâmetros da EMA pode induzir em erro o estado do mercado
  3. O reverse trading requer cautela, pode aumentar perdas
  4. A variação de volume por si só não pode determinar o ponto de entrada específico
  5. Volume não prevê plenamente o preço, necessidades combinadas com outros indicadores

A mudança de volume geralmente atrasa a ação do preço e o PVO pode dar um sinal errado quando o preço se aproxima do fim da tendência. Configurações erradas de parâmetros também podem afetar a precisão do julgamento. Precaução é necessária ao negociar reverso, pois a tendência pode se estender. O volume sozinho não pode determinar o ponto de entrada preciso e precisa da ajuda de outros indicadores para o tempo. O volume não prevê completamente o preço e precisa de um seguimento prudente.

Optimização:

  1. Otimizar os períodos de EMA para diferentes produtos e prazos
  2. Adicionar condições de filtro para evitar sinais inválidos
  3. Combinar outros indicadores para confirmar o calendário de entrada
  4. Adicionar stop loss

Teste e otimização de combinações de EMA para encontrar os melhores períodos para detecção de tendência. Adicionar um limiar de flutuação de volume para filtrar sinais ineficazes. Incorporar MACD, KD para confirmação de entrada adicional. Configurar stop loss para controlar a perda de uma única negociação. Isso melhorará muito a aplicabilidade da estratégia.

Conclusão:

A estratégia do oscilador de volume percentual julga as mudanças de tendência de volume calculando a diferença percentual entre as EMAs de volume para antecipar a direção potencial do preço. Adota uma estrutura dupla de EMA simples e eficaz para medir as flutuações de volume e usa uma codificação de cores intuitiva para melhorar o efeito visual. A opção de negociação reversa flexível e as configurações de parâmetros tornam-na adequada para negociação de médio a longo prazo e de curto prazo. Mas como o indicador de volume fica para trás do sinal de preço e não pode determinar o momento preciso de entrada, os parâmetros e a incorporação de outros indicadores precisam de otimização para melhorar o desempenho da estratégia.


/*backtest
start: 2023-10-06 00:00:00
end: 2023-10-23 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 27/09/2017
// The Percentage Volume Oscillator (PVO) is a momentum oscillator for volume. 
// PVO measures the difference between two volume-based moving averages as a 
// percentage of the larger moving average. As with MACD and the Percentage Price 
// Oscillator (PPO), it is shown with a signal line, a histogram and a centerline. 
// PVO is positive when the shorter volume EMA is above the longer volume EMA and 
// negative when the shorter volume EMA is below. This indicator can be used to define 
// the ups and downs for volume, which can then be use to confirm or refute other signals. 
// Typically, a breakout or support break is validated when PVO is rising or positive. 
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Percentage Volume Oscillator (PVO)", shorttitle="PVO")
LengthShortEMA = input(12, minval=1)
LengthLongEMA = input(26, minval=1)
LengthSignalEMA = input(9, minval=1)
reverse = input(false, title="Trade reverse")
hline(0, color=gray, linestyle=line)
xShortEMA = ema(volume , LengthShortEMA)
xLongEMA = ema(volume , LengthLongEMA)
xPVO = ((xShortEMA - xLongEMA) / xLongEMA) * 100
xSignalEMA = ema(xPVO , LengthSignalEMA)
xPVOHisto = xPVO - xSignalEMA
pos = iff(xSignalEMA < xPVO, -1,
	   iff(xSignalEMA > xPVO, 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(xPVO, color=blue, title="PVO")
plot(xSignalEMA, color=red, title="Signal")
plot(xPVOHisto, color=gray, title="PVO Histo", style=histogram)

Mais.