Quem usa bastante os indicadores baseados em médias móveis vive sempre com este cenário de alguma frustraçäo:
1 - Quando o sinal é disparado a sessäo que originou o novo sentido do mercado já ocorreu lá para trás há uma data de sessöes.
2 – Näo se trata de drama nenhum mas no fundo ficamos sempre com aquela sensaçäo de impotência por näo termos aproveitado aquelas boas sessöes que precederam o disparo “tardio” do sinal em que a média móvel mais baixa ultrapassa em subida a média móvel mais alta.
Há alguma forma prática de ultrapassar este problema? Há, mas já voltaremos à sua possível soluçäo!
Na verdade näo chega esperar só por um sinal de cruzamento de médias deste tipo porque o problema dum “Price Oscillator” baseado em comparaçäo de médias móveis diferentes é que apenas resulta bem em mercados claramente voláteis.
Como na maioria do tempo a volatilidade nos mercados se encontra ausente, os sinais tradicionais de compra e venda disparados pelas médias móveis acabam por gerar alguma frustraçäo e por isso acabam muitas vezes por ser abandonados por quem näo entende essa restriçäo ou näo tem paciência para aguentar um “strike” ou somatório sequencial de bastantes trades com resultados frustrantes.
Uma das formas de ultrapassar este problema seria usar no indicador um número de sessöes cada vez mais baixo à medida que a volatilidade sobe, dessa forma apressamos o disparo dos sinais quando sentimos que os mercados estäo a ficar mais “quentes” com o aumento claro de volume e a aceleraçäo da volatilidade, que neste caso é definida como a diferença entre o máximo e o mínimo da sessäo e das sessöes mais próximas comparadas com a média histórica longa desta mesma diferença.
Provavelmente um dos indicadores de diferenças de médias móveis universalmente mais conhecido e aplicado por milhares de traders é o famoso MACD (Moving Average Convergence / Divergence), desenvolvido pelo Gerald Appel na década de 60.
O que é o MACD original? Pois näo é mais que a diferença entre a média móvel aritmética do fecho de 12 sessöes a diminuir pela média móvel idêntica do fecho das últimas 26 sessöes, criando assim um oscilador de momentum muito utilizado para aferir a tendência do mercado.
Muitos interpretam esse valor de uma forma bem simples: quando o seu valor é positivo a tendência é ascendente e quando é negativo a tendência é descendente. Em geral associa-se ao MACD uma linha de disparo que na sua forma original mais näo é que a média móvel de 9 sessöes do próprio MACD.
A diferença entre o MACD e esta linha de disparo dá origem ao histograma MACD que por sua vez traduz as posiçöes do sistema de trading mais usado no universo MACD: quando o histograma é positivo a posiçäo deverá ser longa e quando é negativa a posiçäo aconselhada deverá ser curta.
Pessoalmente näo utilizo o MACD porque näo sou adepto de médias móveis, considero-as muita lentas a reagir e mesmo nas regras originais do MACD, por testes antigos que efetuei há muitos anos atrás, o meu conselho é tomar apenas posiçöes compradas quando o histograma estiver positivo associado ao valor do próprio MACD também positivo. Para posiçöes vendidas o contrário também é verdade: resulta melhor com o histograma negativo associado ao valor do MACD também negativo.
Mesmo com estas regras melhoradas no MACD original os resultados dos testes estäo longe de ser satisfatórios, no entanto melhoram francamente com o expediente que sugeri: usar um número de sessöes mais curto à medida que a volatilidade sobe para acelerar o timing de disparo dos sinais num ambiente mais acelerado!
Daí que este tópico sugira um indicador mais acelerado para o MACD, a que eu chamei “Super MACD”, a ideia subjacente a este indicador pode ser usada com outro indicador qualquer que possa ser adaptado ao clima de volatilidade existente.
Em termos gráficos vou entäo caraterizar a situaçäo, no gráfico abaixo podem-se ver 3 quadros diferentes:
- Em cima mostra-se o novo indicador a que se pretende chegar, o “Super MACD” que é o tal MACD de reaçäo mais rápida ou mais lenta em funçäo do aumento ou diminuiçäo da volatilidade do mercado.
- No meio encontra-se um outro indicador, o “MACD Volatilidade”, que é o percursor das condiçöes necessárias para construir o “Super MACD”.
- Finalmente em baixo está o gráfico com as cotaçöes do papel a quem se aplica o novo indicador do “Super MACD”.
A primeira parte do trabalho está na elaboraçäo do indicador do meio, o “MACD Volatilidade”.
Para isso pode-se observar uma linha “bold” azul que mede o clima da volatilidade atual em termos percentuais. No caso presente da última sessäo esse valor marcante da fórmula era de 8,85%. Depois temos o valor comparativo da diferença média simples entre os máximos e mínimos das últimas 233 sessöes (um número de Fibonacci!), mostrada na linha branca. No caso vertente do S&P 500 verifica-se que a média atual entre o máximo e mínimo em cada sessäo nas últimas 233 sessöes foi de 0,58%, uma diferença muito significativa quando comparamos com o valor da volatilidade atual referido mais atrás, ou seja, é claro para todos que a volatilidade atual atinge valores muito significativos colocando as emoçöes dos traders em níveis à flor da pele.
No mesmo quadro do meio vemos depois a definiçäo de 8 zonas diferentes de volatilidade: a primeira é chamada a “zona 0” e abarca as sessöes em que o clima de volatilidade se encontra aos níveis mais baixos, abaixo do clima da volatilidade de referência histórico de longo prazo, ou seja, abaixo da linha branca.
As zonas quentes do clima de volatilidade väo subindo, através dos limites das linhas azuis tracejadas, até que a última delas, denominada como “zona 7”, é a que se situa a um valor de 13.618 vezes maior que o valor da linha branca do clima de referência de volatilidade médio das últimas 233 sessöes.
Conhecidos os parâmetros agora referidos temos todos os dados necessários para construir o novo indicador “Super MACD” do quadro de cima.
A interpretaçäo das linhas e histograma do quadro superior é fácil de identificar:
- A linha amarela grossa corresponde à nova média móvel que no MACD original era a média móvel do fecho de 12 sessöes e que agora varia de uma média do fecho de 12 sessöes no cenário da “zona 0” até ao valor isolado do próprio fecho na área mais quente da “zona 7”.
- A linha branca a tracejado corresponde no MACD original à média móvel do fecho de 26 sessöes, que se mantém inalterada quando o clima de volatilidade se encontra na “zona 0”. Essa média vai baixando o número de sessöes à medida que o clima de volatilidade vai subindo. Quando atingimos o extremo na “zona 7” essa média móvel simples de fecho corresponde apenas ao valor de 4 sessöes.
- A diferença entre o valor da linha amarela grossa e da linha branca tracejada corresponde ao valor do “Super MACD”.
- O histograma em cor de laranja näo é mais que a diferença entre o “Super MACD” e a sua linha de disparo. A linha de disparo no MACD inicial, como já referi mais atrás, seria a média móvel de 9 sessöes do próprio MACD. No caso do novo “Super MACD” essa média móvel é também variável consoante o clima de volatilidade, começando na “zona 0” com as 9 sessöes, como no indicador de origem, terminando no extremo da “zona 7” com a média simples do valor do “Super MACD” de apenas 2 sessöes.
Ficam para terminar as linguagens de programaçäo em Metastock de cada um dos 2 indicadores mencionados:
Nome: “
MACD Volatilidade”
climavolat:=
((H-L)+Mov(H-L,2,S)+Mov(H-L,3,S)+Mov(H-L,5,S)+Mov(H-L,8,S)+Mov(H-L,13,S)*+Mov(H-L,21,S)+Mov(H-L,34,S)+Mov(H-L,55,S)+Mov(H-L,89,S)+Mov(H-L,144,S)+Mov(H-L,233,S))/12*100/C ;
climavolat ;
climavolatref:=
Mov(H-L,233,S)*100/C ;
climavolatref ;
climavolatref*1.618 ;
climavolatref*2.618 ;
climavolatref*3.618 ;
climavolatref*5.618 ;
climavolatref*8.618 ;
climavolatref*13.618 ;
zone0:=
climavolat <= climavolatref ;
zone1:=
climavolat > climavolatref AND
climavolat <= climavolatref*1.618 ;
zone2:=
climavolat > climavolatref*1.618 AND
climavolat <= climavolatref*2.618 ;
zone3:=
climavolat > climavolatref*2.618 AND
climavolat <= climavolatref*3.618 ;
zone4:=
climavolat > climavolatref*3.618 AND
climavolat <= climavolatref*5.618 ;
zone5:=
climavolat > climavolatref*5.618 AND
climavolat <= climavolatref*8.618 ;
zone6:=
climavolat > climavolatref*8.618 AND
climavolat <= climavolatref*13.618 ;
zone7:=
climavolat > climavolatref*13.618 ;
Nome: “
Super MACD”
climavolat:=
FmlVar("MACD Volatilidade","CLIMAVOLAT") ;
climavolatref:=
FmlVar("MACD Volatilidade","CLIMAVOLATREF") ;
zone0:=
FmlVar("MACD Volatilidade","ZONE0") ;
zone1:=
FmlVar("MACD Volatilidade","ZONE1") ;
zone2:=
FmlVar("MACD Volatilidade","ZONE2") ;
zone3:=
FmlVar("MACD Volatilidade","ZONE3") ;
zone4:=
FmlVar("MACD Volatilidade","ZONE4") ;
zone5:=
FmlVar("MACD Volatilidade","ZONE5") ;
zone6:=
FmlVar("MACD Volatilidade","ZONE6") ;
zone7:=
FmlVar("MACD Volatilidade","ZONE7") ;
supermacd:=
If(
zone0 , Mov(C,12,S)-Mov(C,26,S) ,
If(
zone1 , Mov(C,10,S)-Mov(C,22,S) ,
If(
zone2 , Mov(C,8,S)-Mov(C,18,S) ,
If(
zone3 , Mov(C,6,S)-Mov(C,14,S) ,
If(
zone4 , Mov(C,4,S)-Mov(C,10,S) ,
If(
zone5 , Mov(C,3,S)-Mov(C,8,S) ,
If(
zone6 , Mov(C,2,S)-Mov(C,6,S) ,
C-Mov(C,4,S) ))))))) ;
supermacd ;
superline:=
If(
zone0 , Mov(supermacd,9,S) ,
If(
zone1 , Mov(supermacd,8,S) ,
If(
zone2 , Mov(supermacd,7,S) ,
If(
zone3 , Mov(supermacd,6,S) ,
If(
zone4 , Mov(supermacd,5,S) ,
If(
zone5 , Mov(supermacd,4,S) ,
If(
zone6 , Mov(supermacd,3,S) ,
Mov(supermacd,2,S) ))))))) ;
superline ;
superhistogram:=
supermacd-superline ;
superhistogram ;
É tudo, fica lançada uma ideia de adaptaçäo para indicadores tradicionais simples em funçäo da volatilidade existente, seguindo apenas o raciocínio subjacente à programaçäo sugerida.
Repito, estes indicadores baseados em médias móveis continuam a conter bastante “lag” e continuam a gerar sinais atrasados, näo sou grande adepto da sua utilizaçäo, mas mesmo assim nesta variante de médias móveis variáveis os resultados melhoram bastante em relaçäo às versöes originais de parâmetros constantes.
Abaixo ficam os gráficos do “Super MACD” do S&P 500 nas escalas diária e semanal.
Enjoy it!

- Gráfico Diário do S&P 500 - Indicador Super MACD

- Gráfico Semanal do S&P 500 - Indicador Super MACD