Please accept YouTube cookies to play this video. By accepting you will be accessing content from YouTube, a service provided by an external third party.
If you accept this notice, your choice will be saved and the page will refresh.
Com MQL5 para Metatrader5 podemos calcular os valores para uma SMA – também conhecida como Média Móvel Simples e emitir os valores directamente no nosso gráfico…
Neste vídeo queremos calcular o valor para uma Média Móvel Simples e produzir o valor no gráfico, por isso vamos descobrir como fazer isso com MQL5.
Por favor clique no pequeno botão aqui ou prima F4 no Metatrader, agora deve ver a janela do Metaeditor e aqui quer clicar: „File/ New/ Expert Advisor (template)“ do template, „Continue“, eu chamarei este ficheiro: „SimpleMovingAverage“, clique em „Continue“, „Continue“ e „Finish“.
Agora pode apagar tudo acima da função „OnTick“ e as duas linhas de comentário aqui.
Começamos por criar um array para a Média Móvel Simples (myMovingAverageArray) e pode pensar num array como um raw de caixas que contêm valores.
Vamos continuar com a definição da Média Móvel (movingAverageDefinition), utilizamos a função integrada MQL5: „iMA“, se a realçar e premir F1 verá que necessita de alguns parâmetros; o primeiro parâmetro „_Symbol“ é utilizado para descobrir automaticamente que tipo de símbolo é utilizado no gráfico – no meu caso é o par de moedas: Dólar australiano contra Yen – o segundo parâmetro „_Período“ contém o valor do período de tempo que é usado no gráfico actual – estou a usar o gráfico M1 para velas de um minuto neste momento – o terceiro parâmetro é o número de velas que vamos usar para calcular a Média Móvel, no nosso caso usamos 20 velas.
Quando se coloca o rato por cima da Média Móvel veremos 20 em braçadeiras redondas atrás da Média Móvel aqui (Média Móvel (20)) que significa 20 velas.
Este parâmetro aqui é o ponto de partida; vamos iniciar o cálculo com base na vela actual 0 (zero), usamos „MODE_SMA“ para calcular uma Média Móvel Simples e usamos „PRICE_CLOSE“ no último parâmetro porque queremos calcular os valores da Média Móvel com base no preço fechado.
Agora usamos „CopyBuffer“ para preencher a nossa matriz de Média Móvel (myMovingAverageArray) com dados baseados na Definição de Média Móvel (movingAverageDefinition) que criámos aqui, partimos da vela 0 (zero), fazemo-lo para o buffer 0 (zero) – essa é a linha vermelha aqui, a única linha de Indicador que temos para uma Média Móvel. O Indicador de Bandas de Bollinger, por exemplo, teria 3 linhas, de modo que seria buffer 0 (zero), 1 ou 2, começamos com a vela actual 0 (zero) e copiamos os dados do preço de três velas e armazenamo-los na nossa matriz (myMovingAverageArray).
Para calcular a Média Móvel da vela 1 – esta é a última vela completa que aparece no gráfico – podemos usar o valor da vela 1 na nossa matriz de Média Móvel (myMovingAverageArray) e armazená-la numa variável chamada: „myMovingAveragAveragArray20“.
Finalmente, queremos usar a função „Comentar“ para criar uma saída no gráfico, dizendo: „MyMovingAverage20:“ seguido do valor que calculámos, é isso até agora.
Agora pode clicar no botão „Compile“ ou premir F7 no seu teclado – estou a receber um aviso aqui: „possível perda de dados devido à conversão do tipo“ porque estou a utilizar um tipo flutuante (float), o que significa que temos menos dígitos atrás do ponto mas para o nosso exemplo simples isso deve ser suficiente – por isso, quando terminar e quando não tiver erros, pode clicar no pequeno botão aqui ou premir F4 para voltar ao Metatrader.
Em Metatrader queremos clicar em: „View/ Strategy Tester“ ou prima CTRL e R, por favor escolha o novo ficheiro: „SimpleMovingAverage.ex5“, marque aqui a opção de visualização e inicie um teste.
Agora deve ver a Moving Average, é a linha vermelha aqui no gráfico e no canto superior esquerdo temos o valor calculado, por isso vamos ver o valor para a Moving Average – lembre-se que o calculámos para uma vela 1 – no meu caso é 83,4845, é exactamente o que temos aqui no nosso valor e neste pequeno vídeo aprendeu como calcular os valores para uma Moving Average e como criar uma saída no gráfico e fê-lo com algumas linhas de código MQL5.