Esta é uma estratégia de negociação de média móvel construída com técnicas de filtragem de momento.
O principal indicador desta estratégia é o Oscilador de Momento de Chande (CMO) filtrado por momento. O Oscilador de Momento de Chande é um tipo de indicador de momento que julga o momento das tendências calculando a proporção da soma dos valores absolutos dos dias de alta e baixa para a soma das subidas e quedas de preços. Esta estratégia melhora estabelecendo um limiar mínimo de mudanças de preço chamado Filtro. Somente quando a mudança de preço excede esse limiar, ele participará do cálculo do CMO. Isso filtra muitas pequenas flutuações no mercado e torna o indicador mais estável e confiável.
O indicador de entrada inversa pode reverter os sinais originais para realizar a operação inversa.
Esta é uma estratégia de tendência muito estável e confiável. Ao adotar técnicas de filtragem de momento, ele pode efetivamente filtrar o ruído do mercado e evitar ser preso. A estratégia tem grande espaço de otimização de parâmetros, parâmetros como Filtro, TopBand, LowBand, etc. podem ser ajustados para otimizar o indicador de estratégia.
A estratégia baseia-se principalmente no seguimento da tendência, por isso é propensa a gerar sinais falsos e perdas em mercados de faixa. Além disso, a otimização inadequada do parâmetro também pode levar a frequência excessiva de negociação ou sinais instáveis. Finalmente, o uso inadequado do parâmetro de negociação reversa pode levar a perdas desnecessárias.
Para reduzir esses riscos, os parâmetros devem ser razoavelmente otimizados para tornar os sinais mais estáveis e confiáveis; evitar o uso desta estratégia em mercados de intervalo, escolher ferramentas de estratégia mais adequadas; usar funções de negociação reversa com cautela, evitar habilitá-la quando a otimização de parâmetros não é ideal.
A estratégia pode ser otimizada nos seguintes aspectos:
Otimizar o valor do parâmetro Filter, garantir a filtragem do ruído do mercado mantendo a frequência de negociação não muito baixa.
Otimizar a faixa de parâmetros de TopBand e LowBand para corresponder à faixa de volatilidade do mercado para evitar falsos sinais.
Usar análises avançadas e outros métodos para otimizar dinamicamente os parâmetros de modo a que os parâmetros da estratégia se adaptem às mudanças do mercado.
Adicione a lógica de stop loss e defina pontos de stop loss razoáveis para controlar as perdas.
Filtrar com outros indicadores técnicos como MACD, KD para evitar transações falsas em mercados não em tendência.
Esta é uma estratégia muito prática de seguir tendências. Adota técnicas de filtragem de momento para conter efetivamente o ruído do mercado e fazer sinais mais claros e confiáveis. Através da otimização de parâmetros e otimização lógica, pode ser sintonizado em uma ferramenta de negociação quantitativa confiável e estável. Ainda assim, os riscos de usá-lo em mercados de faixa e otimização inadequada de parâmetros precisam ser observados. Em geral, este é um modelo de estratégia com grandes perspectivas de aplicação.
/*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")