
A estratégia é chamada de estratégia de negociação de momentum baseada em CMOs e WMAs. A estratégia utiliza o Chande Momentum Oscillator (CMO) e sua média móvel ponderada (WMA) para construir sinais de negociação. A ideia central é que o CMO faça mais quando entra em seu WMA e faça menos quando entra em seu WMA.
O indicador central da estratégia é o CMO. O CMO está intimamente relacionado com outros indicadores de dinâmica, como o RSI, mas também tem uma característica única. O CMO mede diretamente o momento da mudança de preço.
A estratégia primeiro calcula a variação intradiária do preço de fechamento abs ((close - close[1]) como o momento primitivo xMom. Depois, calcule o SMA de xMom em Length, marcado como xSMA_mom. Em seguida, calcule a variação de preço em Length xMomLength, ou seja, close - close[Length]。 o valor final do CMO é xMomLength dividido por xSMA_mom multiplicado por 100。 o CMO é suavizado por WMA ((parameter LengthWMA) e depois CMO xWMACMO。 o sinal de estratégia é: quando o CMO passa por cima (passando por baixo) o seu WMA faz mais (vazio) 。
A principal vantagem da estratégia é capturar as características de dinâmica nas tendências de preços. O design delimitado do CMO permite que ele reflita mais diretamente as mudanças de dinâmica. Em comparação com o SMA, o WMA é mais capaz de suavizar o ruído de curto prazo.
O maior risco desta estratégia é o custo de deslizamento causado pela frequência de transações. CMO e WMA são parâmetros de curto prazo, que podem ser demasiado sensíveis para produzir repetidas reversões sem sentido. Isso é especialmente grave quando a variedade é muito flutuante. Além disso, os parâmetros fixos não conseguem se adaptar às mudanças do ambiente de mercado.
Pode-se considerar a introdução de parâmetros de CMO e WMA de otimização de parâmetros de adaptação, para que eles se ajustem dinamicamente; ou adicionar condições de filtragem para reduzir transações sem sentido. Claro, reduzir a volatilidade da variedade por meio de combinações também é uma opção.
A estratégia pode ser melhorada em vários aspectos:
Aumentar o mecanismo de parâmetros do CMO adaptável. Encontrar o parâmetro ótimo em diferentes ambientes de flutuação;
Adição de mecanismos de parâmetros WMA adaptáveis.
A introdução de condições de filtragem, como a introdução do Índice de Volatilidade, para que o controle não seja revertido;
Considere a combinação com outros indicadores para aumentar a estabilidade;
Otimizar o mecanismo de parada de perda. Definir uma linha de parada dinâmica e controlar ativamente a perda de uma roda.
A estratégia é baseada em CMO e WMA para a realização de um simples e eficaz de acompanhamento de tendências. A vantagem da estratégia é a clara captação de características de movimento de preços. Mas também há uma certa capacidade de manutenção de posição de baixo lucro.
/*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")