
A estratégia é uma estratégia de negociação MACD baseada em uma média móvel ponderada por volume de transação flexível (EVWMA). Ela usa os benefícios da EVWMA para projetar uma estratégia de negociação com sinal claro e prático.
O indicador EVWMA integra informações de volume de transação no cálculo da média móvel, permitindo que a média móvel reflita com mais precisão as mudanças de preço. A estratégia de construir uma linha rápida e uma linha lenta é baseada no EVWMA. A configuração dos parâmetros da linha rápida é mais sensível, captando mudanças de preços de curto prazo; A configuração dos parâmetros da linha lenta é mais robusta, filtrando parte do ruído.
A maior vantagem da estratégia é aproveitar o poder do indicador EVWMA, tornando a configuração dos parâmetros da estratégia MACD mais estável e os sinais de negociação mais claros. Em comparação com a média móvel simples, a EVWMA tem uma melhor capacidade de capturar as tendências de mudança do mercado. Isso torna a estratégia mais adaptável e trabalha de forma estável em vários cenários de mercado.
O principal risco da estratégia é que o MACD em si está atrasado e não consegue capturar a reversão de preço a tempo. Além disso, a configuração de parâmetros do EVWMA também afeta o desempenho da estratégia. Se a configuração de parâmetros de linha rápida e lenta for inadequada, ocorrerá uma falha no sinal de negociação e afetará a lucratividade.
Para reduzir o risco, os parâmetros devem ser adequadamente ajustados para que a diferença entre a linha rápida e a linha lenta seja moderada. O Histogram pode auxiliar na determinação de se a transferência é necessária. Além disso, também pode ser projetada uma estratégia de parada de perdas para evitar perdas individuais excessivas.
A estratégia pode ser melhorada em vários aspectos:
Utilizando a tecnologia de configuração de parâmetros adaptativos, os parâmetros do EVWMA podem ser ajustados automaticamente de acordo com o ambiente de mercado, garantindo a clareza do sinal de negociação.
Aumentar os mecanismos de prevenção de perdas para controlar de forma eficaz as perdas individuais.
Em combinação com outros indicadores, filtra os sinais de alerta falso. Por exemplo, em combinação com o volume de transação, os sinais só são produzidos quando há uma mudança significativa nos preços.
Optimizar a escolha do ponto de entrada. A estratégia atual é abrir a posição no cruzamento do eixo zero do MACD. Pode-se testar se a mudança para a tração de profundidade é mais adequada.
Esta estratégia utiliza as vantagens do indicador EVWMA para construir uma estratégia de MACD simples e prática. Ela é mais estável e mais adaptável.
/*backtest
start: 2023-01-15 00:00:00
end: 2024-01-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("QuantNomad - EVWMA MACD Strategy", shorttitle = "EVWMA MACD", overlay = false)
// 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)
signal_length = input(9, title = "Signal Smoothing", type = input.integer, minval = 1, maxval = 50)
// 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)
// Calculate MACD
macd = fast_evwma - slow_evwma
signal = ema(macd, signal_length)
hist = macd - signal
// Plot
plot(hist, title = "Histogram", style = plot.style_columns, color=(hist>=0 ? (hist[1] < hist ? #26A69A : #B2DFDB) : (hist[1] < hist ? #FFCDD2 : #EF5350) ), transp=0 )
plot(macd, title = "MACD", color = #0094ff, transp=0)
plot(signal, title = "Signal", color = #ff6a00, transp=0)
// Strategy
strategy.entry("Long", true, when = crossover(fast_evwma, slow_evwma))
strategy.entry("Short", false, when = crossunder(fast_evwma, slow_evwma))