
A estratégia é baseada em uma média móvel de longo prazo do volume de transações. Ela usa o EMA de diferentes períodos para calcular a tendência de longo prazo do volume de transações e, com seu diferencial, constrói um indicador de oscilação.
O indicador central da estratégia é o indicador de oscilação do volume de transações (Volume Oscillator). Ele reflete a tendência de mudança no volume de transações através do diferencial da média móvel do índice de volume de transações de longo prazo. A fórmula de cálculo é a seguinte:
Volume Oscillator = (ShortEMA - LongEMA) / LongEMA * 100
Entre eles, ShortEMA e LongEMA representam as médias móveis do índice de curto e longo prazo respectivamente. Quando o ShortEMA atravessa o LongEMA, o indicador é positivo, o que significa que o volume de transação está se expandindo; quando o ShortEMA atravessa o LongEMA, o indicador é negativo, o que significa que o volume de transação está se contraindo.
Depois de calcular o indicador de oscilação, a estratégia usa o seu cruzamento com o eixo zero para gerar um sinal de negociação. Quando o indicador é negativo, ou seja, quando atravessa o eixo zero, faça mais; Quando o indicador é negativo, ou seja, quando atravessa o eixo zero, faça zero.
Além disso, a estratégia também combina o alto e o baixo do anterior para julgar a direção específica da operação. Ou seja, quando o indicador passa pelo eixo zero, se o alto anterior for maior que o valor absoluto do baixo anterior, veja mais; ao contrário, veja menos. Utilize essa característica para julgar a intensidade da expansão do volume de negociação.
A estratégia tem as seguintes vantagens:
Usando o volume de transações como um indicador básico, é possível determinar com eficácia a vontade dos participantes do mercado, com uma forte utilidade.
A combinação de EMAs de curto e longo prazo permite capturar simultaneamente tendências de médio e longo prazo e dinâmicas de curto prazo.
Os sinais de negociação formados pelo cruzamento do indicador com o eixo zero são simples, claros e fáceis de discernir.
A adição de um ponto alto ou baixo anterior para determinar a direção específica da operação, pode efetivamente aproveitar o volume de transações.
A estratégia é clara, os parâmetros são flexíveis e a adaptabilidade é forte.
A estratégia também apresenta alguns riscos que devem ser lembrados:
Os indicadores de volume de transação são suscetíveis a falhas no mercado, podendo gerar sinais errados. Pode-se definir um stop loss para controlar o risco.
Em situações de turbulência, o cruzamento de volumes pode ser frequente e a reversão do indicador precisa ser razoavelmente confirmada.
Os altos e baixos anteriores refletem apenas a expansão mais recente, e não é possível determinar a duração de sua intensidade.
Os parâmetros de diferentes variedades e períodos de tempo precisam ser otimizados individualmente e não são suficientemente universais.
O indicador de volume de transação é lento em reagir a transações programadas de alta frequência, podendo perder o melhor momento de entrada.
A estratégia pode ser melhorada em vários aspectos:
Adicionar condições de filtragem para evitar sinais falsos, como a confirmação de inclusão de indicadores de preços.
Otimização dos parâmetros de ciclo dos EMAs de curto e longo prazo para que sejam mais adequados às características de diferentes variedades.
Configure os parâmetros de ciclo para o ponto mais alto e mais baixo do período anterior, usando o preço mais alto e o preço mais baixo de um período de tempo.
Defina a área de conversão do indicador como um intervalo para evitar transações frequentes.
Aumentar as estratégias de stop loss e controlar as perdas individuais.
Indicadores técnicos de avaliação em combinação com outros indicadores de avaliação, como o indicador de avaliação do VRP.
Parâmetros de otimização automática usando métodos de aprendizagem de máquina.
Em geral, a estratégia de cruzamento de linhas longas e curtas baseada no indicador de volatilidade do volume de negociação aproveita ao máximo as características da reversão do volume de negociação, tem um bom discernimento e uma boa detecção no início do desenvolvimento da tendência. Ao mesmo tempo, a combinação de altos e baixos anteriores para determinar a direção específica, torna a decisão de negociação mais precisa.
/*backtest
start: 2022-12-05 00:00:00
end: 2023-03-11 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("SB_Volume_oscillator_Prev_high_low", overlay=true,default_qty_type = strategy.percent_of_equity, default_qty_value = 100)
shortlen = input(5, minval=1)
longlen = input(10, minval=1)
short = ema(volume, shortlen)
long = ema(volume, longlen)
osc = 100 * (short - long) / long
//hline(0, title="Zero")
//plot(osc)
zero=input(0.0)
low_val=input(0.0)
high_val=input(0.0)
prev_high_val=input(0.0)
prev_low_val=input(0.0)
where=input(0)
where:=nz(where[1])
low_val:=nz(low_val[1])
high_val:=nz(high_val[1])
prev_high_val:=nz(prev_high_val[1])
prev_low_val:=nz(prev_low_val[1])
if(crossover(osc,zero))
high_val:=osc
where:=1
prev_low_val:=low_val
low_val:=osc
if(crossunder(osc,zero))
low_val:=osc
where:=-1
prev_high_val:=high_val
high_val:=osc
if(where==1)
if(high_val<osc)
high_val:=osc
if(where==-1)
if(low_val>osc)
low_val:=osc
if (crossover(osc,zero))
if(prev_high_val<=abs(prev_low_val))
strategy.entry("My Long Entry Id", strategy.long)
if(prev_high_val>abs(prev_low_val))
strategy.entry("My Short Entry Id", strategy.short)
if (crossunder(osc,zero))
if(prev_high_val<=abs(prev_low_val))
strategy.entry("My Long Entry Id", strategy.long)
if(prev_high_val>abs(prev_low_val))
strategy.entry("My Short Entry Id", strategy.short)