APRENDER O TUTORIAL BÁSICO MQL5 – 25 COMO CODIFICAR UM CONSELHEIRO ESPECIALISTA SMA SHIFT

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.

YouTube privacy policy

If you accept this notice, your choice will be saved and the page will refresh.

 

Com a MQL5 e Metatrader5 podemos criar um Expert Advisor para um indicador de média móvel deslocada para comércio automatizado.

Este EA pode ser codificado em menos de 8 minutos com o Metaeditor e é fácil de compreender…

Neste vídeo, vamos criar aqui um Expert Advisor para este Indicador; na verdade, é uma Média Móvel Simples e uma Média Móvel Simples Deslocada.
O Indicador produz sinais de compra e venda que podem ser automaticamente comercializados no Metatrader, por isso vamos descobrir como fazer isso com o MQL5.
Primeiro clique no pequeno botão aqui ou pressione F4 para abrir o Metaeditor e aqui quer clicar: „File/ New/ Expert Advisor“ do modelo, „Continue“, eu chamarei este ficheiro: „SimpleShiftedSMAEA“, clique em „Continuar“, „Continuar“ e „Terminar“.
Agora pode remover tudo acima da função „OnTick“ e as duas linhas de comentário aqui.
Começamos por incluir uma declaração para incluir o ficheiro: „Trade.mqh“, esta dar-nos-á algumas funções comerciais simples.
Primeiro criamos uma instância de „CTrade“ que será chamada: „trade“ e vamos usá-la mais tarde para abrir posições de compra e venda e para podermos fazer isso precisamos primeiro de descobrir o preço Ask e o preço Bid que é feito com „SymbolInfoDouble“, „_Symbol“, usamos „SYMBOL_ASK“ para calcular o preço Ask e „SYMBOL_BID“ para calcular o preço Bid.
Também utilizo „NormalizeDouble“ e „_Digitos“ porque isso calculará automaticamente o número de dígitos por detrás do ponto.
Agora vamos criar uma variável de string para o sinal. Até agora, não tem valor; vamos calcular isso mais tarde.
Primeiro, criamos uma matriz de Média Móvel e também queremos criar uma matriz de Média Móvel deslocada.
Para calcular o valor para a matriz de Média Móvel, utilizamos a função integrada „iMA“.
O primeiro parâmetro é para o símbolo actual no gráfico.
O segundo dar-nos-á o período actual.
O parâmetro 3 é 20 para 20 velas,
O parâmetro 4 é 0 porque não utilizamos um valor de deslocamento para esta Média Móvel,
O parâmetro seguinte é „MODE_SMA“ – que significa „Simple Moving Average“ (Média Móvel Simples)
E o último parâmetro é „PRICE_CLOSE“ – em letras maiúsculas – dar-nos-á o cálculo baseado no preço de fecho.
Agora vamos repetir tudo, desta vez para a Média Móvel Deslocada. Tudo é semelhante, excepto o valor da mudança aqui. Este valor irá mover a actual Média Móvel Simples – ou seja, a vermelha – 20 velas para o futuro, ou seja, a linha verde.
Agora usamos „ArraySetAsSeries“ para ordenar ambas as Médias Móveis da vela actual para baixo e com „CopyBuffer“ preenchemos a matriz da Média Móvel e a matriz da Média Móvel deslocada de acordo com a definição de Média Móvel que criámos aqui ou a definição de Média Móvel deslocada que criámos aqui e preenchemos ambas as matrizes para o buffer 0 da vela actual 0 para 3 velas.
Agora podemos obter o valor actual para a matriz de Média Móvel olhando para a vela 0 da nossa matriz de Média Móvel e obtemos o valor da Média Móvel deslocada olhando para a vela 0 da nossa matriz de Média Móvel deslocada.
E se o valor da Média Móvel for maior do que o valor da Média Móvel deslocada que seria um sinal de compra, então atribuímos a palavra: „comprar“ ao nosso sinal.
No outro caso, se o valor da Média Móvel for inferior ao valor da Média Móvel deslocada, consideraríamos isso como um sinal de venda e agora atribuímos a palavra: „vender“ ao nosso sinal.
E sempre que o sinal for igual a vender e „PositionsTotal“ for inferior a 1 – ou por outras palavras, não temos quaisquer posições em aberto – usamos „trade.Sell“ e vendemos 10 microlotes.
Caso contrário, se o sinal for igual a comprar e não tivermos nenhuma posição aberta, usamos „trade.Buy“ e compramos 10 microlote.
Portanto, é quase isso. Também queremos usar a declaração „Comentar“ para produzir o texto: „O sinal actual é agora:“ seguido do sinal calculado.
Se não entender o que todo o código aqui faz ou isto foi demasiado rápido para si, talvez queira ver os outros vídeos desta série básica ou talvez até o curso premium seja interessante para si, por agora, por favor clique em „Compile“, não deve ver aqui nenhum erro e nenhum aviso e nesse caso pode clicar no pequeno botão aqui ou carregar em F4 para voltar a Metatrader.
No Metatrader, queremos criar um modelo.
Isto é feito usando „Inserir/ Indicadores/Tendência/Moving Average“, queremos escolher um período para 20 velas, um valor de deslocamento de 0, o método deve ser „Simples“ para Simple Moving Average, aplicar para fechar e a cor é vermelha. Portanto, vamos clicar em „OK“, e aqui está a nossa primeira SMA, portanto vamos repetir isso e criar a outra; „Inserir/ Indicadores/Tendência/Movimento Médio“, mas desta vez vamos utilizar um valor de deslocamento de 20 e a cor deve ser verde. Portanto, vamos clicar em „OK“ para obter a segunda Média Móvel aqui.
Agora clique com o botão direito no gráfico, seleccione „Templates/ Save Template“ e guarde-o como „tester.tpl“, pode anular o actual porque „tester.tpl“ é o que vai ser utilizado no próximo teste de estratégia.