Tendência da EVWMA na sequência da estratégia

Autora:ChaoZhang, Data: 2023-12-12 16:00:37
Tags:

img

Resumo

Esta estratégia é projetada como uma estratégia simples de tendência baseada no indicador EVWMA. Ele usa uma linha rápida e uma linha lenta para construir o indicador EVWMA. Uma posição longa será aberta quando a linha rápida cruzar a linha lenta, e uma posição curta será aberta quando a linha rápida cruzar abaixo da linha lenta, para seguir a tendência.

Estratégia lógica

O indicador central desta estratégia é o EVWMA, ou seja, a média móvel ponderada por volume elástica, que incorpora informações sobre preços e volumes para refletir dinamicamente a tendência do mercado através do cálculo do seu próprio período.

Especificamente, o período da linha rápida é calculado como a soma do volume de 10 bares recentes e 20 bares para a linha lenta. O EVWMA de cada barra é calculado como (Previous bars EVWMA × (Duração do período - Volume da barra atual) + preço de fechamento da barra atual × Volume da barra atual) / comprimento do período. Desta forma, combina informações de preço e volume.

Quando a linha rápida atravessa a linha lenta, indica que o poder de compra está se fortalecendo para ir longo. Quando a linha rápida atravessa abaixo da linha lenta, indica que o poder de venda está se fortalecendo para ir curto. Com tal combinação de linhas rápidas e lentas, a estratégia pode capturar a tendência do mercado dinamicamente para seguir a tendência.

Análise das vantagens

A maior vantagem desta estratégia reside no design de período dinâmico do indicador EVWMA para responder mais rapidamente às mudanças de preço e volume, capturando assim a tendência do mercado em tempo real, o que é muito adequado para estratégias de tendência.

Riscos e soluções

O principal risco desta estratégia é a configuração inadequada dos parâmetros do indicador EVWMA. Se os períodos das linhas rápidas e lentas não forem definidos corretamente, pode gerar sinais falsos excessivos. Além disso, as próprias estratégias de tendência têm algumas desvantagens quando a tendência do mercado se inverte acentuadamente.

Para resolver esses problemas, podemos otimizar os parâmetros e ajustar os períodos de cálculo de linhas rápidas e lentas para encontrar a melhor combinação. Além disso, um stop loss pode ser definido para controlar o risco de perda.

Orientações de otimização

Há espaço para uma otimização adicional desta estratégia. Por exemplo, outros indicadores como o rompimento do volume de negociação, Bandas de Bollinger etc. podem ser incorporados para confirmar os sinais, aumentando assim a estabilidade da estratégia. Além disso, os valores ideais dos parâmetros podem diferir entre diferentes produtos e períodos de tempo. Um mecanismo de otimização de parâmetros adaptativo pode ser estabelecido para ajustar parâmetros com base em dados em tempo real.

No que diz respeito aos aspectos comerciais, o stop loss dinâmico, o trailing stop loss e outros meios também podem ser concebidos para controlar os riscos.

Resumo

Esta estratégia aproveita o design do período dinâmico do indicador EVWMA e incorpora informações de volume para construir uma estratégia de tendência eficaz. Pode responder rapidamente às mudanças de preços e capturar tendências de mercado. Com otimização de parâmetros, medidas de controle de risco, etc., a estabilidade da estratégia pode ser melhorada. A lógica por trás desta estratégia é inovadora e vale a pena mais exploração e aplicação.


/*backtest
start: 2022-12-05 00:00:00
end: 2023-12-11 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("QuantNomad - EVWMA Cross Strategy", shorttitle="EVWMA Cross", overlay=true)

// Inputs
fast_sum_length = input(10, title = "Fast Sum Length", type = input.integer)
slow_sum_length = input(20, title = "Slow Sum Length", type = input.integer)

// Calculate Volume Period
fast_vol_period = sum(volume, fast_sum_length)
slow_vol_period = sum(volume, slow_sum_length)

// Calculate EVWMA
fast_evwma = 0.0
fast_evwma := ((fast_vol_period - volume) * nz(fast_evwma[1], close) + volume * close) / (fast_vol_period)

// Calculate EVWMA
slow_evwma = 0.0
slow_evwma := ((slow_vol_period - volume) * nz(slow_evwma[1], close) + volume * close) / (slow_vol_period)

// Plot 
plot(fast_evwma, title = "EVWMA Fast", linewidth = 2, color = color.red)
plot(slow_evwma, title = "EVWMA Slow", linewidth = 2, color = color.green)

// Strategy
strategy.entry("Long",   true, when = crossover(fast_evwma, slow_evwma))
strategy.entry("Short", false, when = crossunder(fast_evwma, slow_evwma))

Mais.