Estratégia de negociação de impulso baseada na OMC e na WMA

Autora:ChaoZhang, Data: 2023-11-28 16:42:54
Tags:

img

Resumo

A estratégia é chamada de Momentum Trading Strategy Based on CMO e WMA. Utiliza o Chande Momentum Oscillator (CMO) e sua Weighted Moving Average (WMA) para construir sinais de negociação.

Estratégia lógica

O principal indicador desta estratégia é o CMO. O CMO está intimamente relacionado a outros indicadores de impulso como o RSI, mas também tem sua singularidade. O CMO mede diretamente o impulso da mudança de preço. Seu cálculo é baseado em dados brutos não suavizados, por isso reflete mudanças extremas de preço a curto prazo. O valor do CMO varia de +100 a -100, o que torna conveniente comparar a força do impulso absoluto entre os títulos.

A estratégia primeiro calcula a mudança de preço de um dia abs ((close - close[1]) como o ímpeto original xMom. Em seguida, calcula a SMA de xMom ao longo de dias de comprimento, denotada como xSMA_mom. Depois disso, calcula a mudança de preço ao longo de dias de comprimento xMomLength, ou seja, close - close[Length]. Finalmente, o CMO é calculado como xMomLength dividido por xSMA_mom e depois multiplicado por 100. Este CMO é suavizado por um WMA (parâmetro LengthWMA) para derivar xWMACMO. O sinal de negociação é ir longo (curto) quando o CMO cruza acima (abaixo) de sua WMA.

Vantagens

A maior vantagem desta estratégia é a captura de características de impulso dentro das tendências de preços. O design delimitado da CMO reflete mudanças de impulso mais diretamente. Em comparação com a SMA, a WMA suaviza melhor o ruído de curto prazo. Portanto, esta estratégia pode identificar efetivamente pontos de entrada dentro das tendências de médio a longo prazo. Além disso, a combinação de CMO e WMA fornece melhor estabilidade do que um único indicador.

Riscos

O maior risco desta estratégia é a alta frequência de negociação, levando ao aumento dos custos de deslizamento. Tanto a CMO quanto a WMA têm parâmetros de curto prazo, o que pode causar excessos sem sentido. Isso é especialmente grave quando o veículo de negociação tem grandes flutuações. Além disso, os parâmetros fixos não conseguem se adaptar aos ambientes de mercado em mudança.

Podemos considerar a introdução de otimização adaptativa dos parâmetros CMO e WMA, permitindo-lhes ajustar dinamicamente. Adicionar condições de filtro para reduzir a negociação desnecessária é outra opção. A redução da volatilidade através da diversificação de carteira também ajuda.

Orientações para a melhoria

A estratégia pode ser reforçada pelos seguintes aspectos:

  1. Adicionar um mecanismo adaptativo de parâmetros da OCM para encontrar parâmetros ideais para diferentes regimes de volatilidade;

  2. Adicionar um mecanismo adaptativo de parâmetros WMA para que o efeito de suavização mude em conformidade;

  3. Adicionar condições de filtro, tais como o índice de volatilidade para controlar os whipssaws sem sentido;

  4. Considerar a combinação com outros indicadores para melhorar a estabilidade;

  5. Otimizar o mecanismo de stop loss. Configurar a linha de stop loss dinâmica para controlar ativamente a perda de um único round.

Conclusão

A estratégia realiza uma tendência simples e eficaz baseada em CMO e WMA. Sua vantagem reside em capturar claramente as características do impulso do preço. Mas também tem alguma fraqueza na capacidade de retenção de lucro após a abertura de posições. Tanto o ajuste de parâmetros quanto a combinação podem melhorar muito a estabilidade.


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

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 13/02/2017
//    This indicator plots Chandre Momentum Oscillator and its WMA on the 
//    same chart. This indicator plots the absolute value of CMO.
//    The CMO is closely related to, yet unique from, other momentum oriented 
//    indicators such as Relative Strength Index, Stochastic, Rate-of-Change, 
//    etc. It is most closely related to Welles Wilder?s RSI, yet it differs 
//    in several ways:
//    - It uses data for both up days and down days in the numerator, thereby 
//        directly measuring momentum;
//    - The calculations are applied on unsmoothed data. Therefore, short-term 
//        extreme movements in price are not hidden. Once calculated, smoothing 
//        can be applied to the CMO, if desired;
//    - The scale is bounded between +100 and -100, thereby allowing you to clearly 
//        see changes in net momentum using the 0 level. The bounded scale also allows 
//        you to conveniently compare values across different securities.
////////////////////////////////////////////////////////////
strategy(title="CMO & WMA", shorttitle="CMO & WMA")
Length = input(9, minval=1)
LengthWMA = input(9, minval=1)
reverse = input(false, title="Trade reverse")
hline(0, color=gray, linestyle=line)
xMom = abs(close - close[1])
xSMA_mom = sma(xMom, Length)
xMomLength = close - close[Length]
nRes = 100 * (xMomLength / (xSMA_mom * Length))
xWMACMO = wma(nRes, LengthWMA)
pos = iff(nRes > xWMACMO, 1,
	   iff(nRes <= xWMACMO, -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(nRes, color=blue, title="CMO")
plot(xWMACMO, color=red, title="WMA")

Mais.