
Trata-se de uma estratégia de negociação de média móvel construída usando a tecnologia de filtragem dinâmica. Filtra as pequenas flutuações de preços, definindo um limiar de variação de preço e selecionando apenas as grandes variações de preço para participar do cálculo, aumentando assim a estabilidade da estratégia.
O indicador central da estratégia é o indicador de oscilação de Chande, filtrado pelo limiar de dinamismo (CMO). O indicador de oscilação de Chande é um dos indicadores de dinamismo, que julga o momento de hipocrisia por meio do cálculo do valor absoluto do número de dias de hipocrisia somado ao valor da diferença entre os preços de queda e queda. A estratégia foi melhorada, configurando um parâmetro de mínimo hipocrisia para a mudança de preço Filter, que só participa do cálculo do CMO quando a mudança de preço excede esse limiar. Isso filtra uma grande quantidade de pequenas flutuações no mercado, tornando o indicador mais estável e confiável.
Com base no cálculo do indicador, ele define o TopBand on-line e o LowBand on-line, gerando um sinal de transação quando o indicador excede esses dois linhas. Finalmente, o reverso do parâmetro de entrada reverse pode reverter o sinal original e realizar a operação inversa.
Esta é uma estratégia de seguimento de tendências muito estável e confiável, que, devido à tecnologia de filtragem dinâmica, pode filtrar efetivamente o ruído do mercado e evitar a arbitragem. Os parâmetros de otimização da estratégia são amplos, e os indicadores de estratégia podem ser otimizados ajustando parâmetros como Filter, TopBand e LowBand.
A estratégia baseia-se principalmente no rastreamento de tendências, portanto, é propensa a erros de sinal e perdas em mercados de liquidação. Além disso, a otimização inadequada dos parâmetros também pode levar a uma frequência de negociação excessiva ou a uma instabilidade do sinal. Finalmente, o uso inadequado dos parâmetros de negociação reversa pode levar a perdas desnecessárias.
Para reduzir esses riscos, os parâmetros devem ser razoavelmente otimizados para tornar o sinal mais estável e confiável. Evite usar essa estratégia na liquidação do mercado e escolha o instrumento de estratégia mais adequado. Utilize com cautela a função de negociação reversa, evitando a ativação se o Parameter for mal otimizado.
A estratégia pode ser otimizada em várias direções:
Otimizar o valor do parâmetro Filter, garantindo que a frequência de negociação não seja muito baixa, ao mesmo tempo em que filtra o ruído do mercado.
Optimizar os intervalos de parâmetros de TopBand e LowBand para que eles correspondam à amplitude de flutuação do mercado, evitando sinais errados.
Utilizando métodos como a análise de caminhada para a frente para otimizar dinamicamente os parâmetros de estratégia para adaptá-los às mudanças do mercado.
Aumentar a lógica de stop loss e definir um ponto de parada razoável para controlar a perda.
Combinação com oscilações de outros indicadores, como MACD, KD, etc., para evitar erros de negociação em mercados fora de tendência.
Esta é uma estratégia de seguimento de tendências muito prática. Ela usa a tecnologia de filtragem dinâmica, que efetivamente sufoca o ruído do mercado, tornando o sinal mais claro e confiável. Através da otimização de parâmetros e otimização lógica, pode ser treinada para ser uma ferramenta de negociação quantitativa confiável e estável.
/*backtest
start: 2023-11-11 00:00:00
end: 2023-12-11 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 02/03/2017
// This indicator plots a CMO which ignores price changes which are less
// than a threshold value. CMO was developed by Tushar Chande. A scientist,
// an inventor, and a respected trading system developer, Mr. Chande developed
// the CMO to capture what he calls "pure momentum". For more definitive
// information on the CMO and other indicators we recommend the book The New
// Technical Trader by Tushar Chande and Stanley Kroll.
// 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.
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
fFilter(xSeriesSum, xSeriesV, Filter) =>
iff(xSeriesV > Filter, xSeriesSum, 0)
strategy(title="CMOfilt", shorttitle="CMOfilt")
Length = input(9, minval=1)
Filter = input(3, minval=1)
TopBand = input(70, minval=1)
LowBand = input(-70, maxval=-1)
reverse = input(false, title="Trade reverse")
hline(0, color=gray, linestyle=line)
hline(TopBand, color=red, linestyle=line)
hline(LowBand, color=green, linestyle=line)
xMom = close - close[1]
xMomAbs = abs(close - close[1])
xMomFilter = fFilter(xMom, xMomAbs, Filter)
xMomAbsFilter = fFilter(xMomAbs,xMomAbs, Filter)
nSum = sum(xMomFilter, Length)
nAbsSum = sum(xMomAbsFilter, Length)
nRes = 100 * nSum / nAbsSum
pos = iff(nRes > TopBand, 1,
iff(nRes < LowBand, -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="CMOfilt")