A estratégia é chamada de
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.
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.
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.
A estratégia pode ser reforçada pelos seguintes aspectos:
Adicionar um mecanismo adaptativo de parâmetros da OCM para encontrar parâmetros ideais para diferentes regimes de volatilidade;
Adicionar um mecanismo adaptativo de parâmetros WMA para que o efeito de suavização mude em conformidade;
Adicionar condições de filtro, tais como o índice de volatilidade para controlar os whipssaws sem sentido;
Considerar a combinação com outros indicadores para melhorar a estabilidade;
Otimizar o mecanismo de stop loss. Configurar a linha de stop loss dinâmica para controlar ativamente a perda de um único round.
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")