
Esta estratégia baseia-se no indicador EVWMA para criar uma estratégia simples de acompanhamento de tendências. A estratégia utiliza linhas rápidas e linhas lentas para construir o indicador EVWMA.
O indicador central da estratégia é o EVWMA, ou seja, a média móvel ponderada por elasticidade. Ele reflete dinamicamente as tendências do mercado, combinando informações sobre preços e volumes de transação, através da sua própria forma de calcular a duração do ciclo.
Concretamente, o comprimento do ciclo de cálculo da linha rápida é a soma do volume de transações das 10 linhas K mais recentes, e o comprimento do ciclo de cálculo da linha lenta é a soma do volume de transações das 20 linhas K mais recentes. O EVWMA de cada linha K é calculado de acordo com a seguinte fórmula:
Quando a linha rápida atravessa a linha lenta, aumenta a força de compra e faz mais; quando a linha rápida atravessa a linha lenta, aumenta a força de venda e faz vazio. Com essa combinação de linhas rápidas, é possível capturar dinamicamente as tendências do mercado e implementar estratégias de acompanhamento de tendências.
A maior vantagem desta estratégia é o uso do design de ciclo dinâmico do indicador EVWMA, que pode responder mais rapidamente às mudanças de preços e volume de transações, capturando as tendências do mercado em tempo real, o que é muito adequado para a estratégia de acompanhamento de tendências. Além disso, em comparação com indicadores tradicionais como a média móvel, que combina informações sobre preços e volume de transações, pode filtrar brechas falsas.
O principal risco da estratégia reside na configuração de parâmetros do indicador EVWMA. Se o ciclo de linha rápida e lenta for definido inadequadamente, isso pode levar à produção de uma grande quantidade de falsos sinais. Além disso, a estratégia de acompanhamento de tendências por si só apenas traz conseqüências em caso de inversão de uma tendência do mercado.
Para resolver esses problemas, é possível encontrar o melhor conjunto de parâmetros, otimizando os parâmetros, ajustando o ciclo de cálculo das linhas rápidas e lentas. Ao mesmo tempo, é possível definir um stop loss para controlar o risco de perda.
A estratégia também tem espaço para otimização adicional. Por exemplo, pode-se considerar a adição de outros indicadores, como a ruptura do volume de transações, a faixa de Brin, etc. para confirmar os sinais, aumentando assim a estabilidade da estratégia. Além disso, os valores ótimos de diferentes variedades e diferentes conjuntos de parâmetros de período de tempo podem variar, podendo ser criado um mecanismo de otimização de auto-adaptação dos parâmetros, ajustando os parâmetros de acordo com dados em tempo real.
Do ponto de vista da negociação, também é possível projetar métodos como stop loss dinâmico e stop loss de rastreamento para controlar o risco. Além disso, os valores ótimos de diferentes variedades e combinações de parâmetros de diferentes períodos de tempo podem ser diferentes. O mecanismo de otimização de auto-adaptação de parâmetros pode ser criado, ajustando os parâmetros de acordo com dados em tempo real.
Esta estratégia utiliza o design do ciclo dinâmico do indicador EVWMA e a consideração da informação sobre o volume de transações, para construir uma estratégia de acompanhamento de tendências simples e eficaz. Pode responder rapidamente às mudanças de preços e capturar as tendências do mercado.
/*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))