Estratégia de filtragem de momento da média móvel

Autora:ChaoZhang, Data: 2023-12-12 12:35:05
Tags:

img

Resumo

Esta é uma estratégia de negociação de média móvel construída com técnicas de filtragem de momento.

Estratégia lógica

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.

Análise das vantagens

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.

Análise de riscos

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.

Orientações de otimização

A estratégia pode ser otimizada nos seguintes aspectos:

  1. 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.

  2. Otimizar a faixa de parâmetros de TopBand e LowBand para corresponder à faixa de volatilidade do mercado para evitar falsos sinais.

  3. 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.

  4. Adicione a lógica de stop loss e defina pontos de stop loss razoáveis para controlar as perdas.

  5. Filtrar com outros indicadores técnicos como MACD, KD para evitar transações falsas em mercados não em tendência.

Resumo

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")


Mais.