Um dos indicadores mais comuns da história da análise financeira é a média móvel. Ela é calculada com base na média dos valores fornecidos no período desejado. Todos nós estamos acostumados a vê-la em gráficos para a análise da variação do preço. Mas poucos conhecem a sua utilidade na análise da variação de outro indicador.
Por exemplo: Imagine que queiramos fazer com que os candles de nosso gráfico sejam verdes quando o indicador de MACD estiver acima da Média Exponencial dos últimos 9 valores dele mesmo, e de vermelho quando estiver abaixo.
Agora, como exatamente podemos fazer escrever essa estratégia?
É aí que entra o aninhamento de funções! Este é um termo utilizado em programação quando uma função chama, dentro de um de seus próprios parâmetros, por outra função! Um exemplo prático, no caso do MACD apresentado acima, seria o código:
var valorMacd, mediaMacd : Float;
begin
//Para esse código, iremos comparar o valor do MACD(26,12,9)|0|,
//com a média móvel Exponencial de 9 períodos do próprio MACD.
//Para isso, será necessário "chamar" a função
//"MACD(MediaLonga, MediaCurta, Sinal)|Tipo|", dentro
//do parâmetro de "Dados", da função "mediaExp(Período, Dados)".
//Esse comportamento é chamado de "aninhamento", e pode ser
//visualizado no trecho a seguir: mediaExp(9, MACD(26,12,9)|0|)
//O trecho acima explicita que a função mediaExp terá parâmetro de
//período igual à 9, e que seu parâmetro de "Dados" deve ser o valor
//retornado pela função 9, MACD(26,12,9)|0|. Iremos usar essa mesma
//lógica ao longo da estratégia, para realização destas comparações.
//A única diferença será que estaremos armazenando o valor
//em uma variável, para evitar chamar as funções múltiplas vezes
mediaMacd := mediaExp(9, MACD(26,12,9)|0|);
valorMacd := MACD(26,12,9)|0|;
if(valorMacd > mediaMacd) then
paintBar(clGreen)
else if (valorMacd < mediaMacd) then
paintBar(clRed)
else
paintBar(clWhite);
//Linhas abaixo são ilustrativas
//para desenho do indicador e MME
plot(valorMacd);
plot2(mediaMacd);
setPlotWidth(1, 3);
end;
Com a estratégia exemplificada acima, o gráfico terá uma aparência parecida com essa:
Como podemos ver, quando o MACD (linha com espessura 3) está acima da Média Móvel Exponencial de 9 períodos (linha com espessura 1), a coloração é verde. Quando está abaixo, a coloração é vermelha. Caso estivessem exatamente no mesmo valor, a coloração seria branca.
Vale ressaltar que esse artigo só abordou uma maneira de utilizar o aninhamento de funções! Existem diversas outras ideias que podem ser postas em prática, utilizando como base essa técnica.
Para maiores detalhes sobre as funções utilizadas em nossa postagem, sugerimos a leitura do artigo referente à Documentação do Módulo de Estratégias, com download de documento PDF para as funções da ferramenta no final da leitura.
Também recomendamos a visualização de nossa playlist introdutória do módulo, Nesse Link!
Por fim, caso ainda não tenha verificado, Clique Aqui para ler nosso artigo introdutório aos diferentes tipos de estratégias do Editor de Estratégias!
E aí, achou útil o conteúdo deste artigo?
Não esqueça de nos avaliar abaixo, pois sabemos como é importante jogarmos juntos para deixarmos a Central de Ajuda cada vez mais completa!
Desejamos bons trades!
Comentários
0 comentário
Artigo fechado para comentários.