APRENDER MQL5 TUTORIAL BASICS – 20 COMO CODIFICAR UM SIMPLES CROSSOVER EXPERT ADVISOR

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 MQL5 para Metatrader5 criamos um Expert Advisor para um sinal de Média Móvel Simples Crossover que é utilizado para negociação automatizada no nosso gráfico forex. Demora cerca de 8 minutos a codificá-lo em MQL5 …

Neste vídeo vamos criar uma versão autónoma para um Expert Advisor de crossover que está a produzir sinais de compra e venda directamente num gráfico e que vai realmente negociar esses sinais sempre que o crossover acontecer, vamos obter um sinal aqui, por isso vamos descobrir como fazer isso com MQL5.
Primeiro precisa de clicar no pequeno botão aqui ou pressionar F4 no seu teclado, agora deve ver a janela do Metaeditor e aqui quer clicar em: „File/ New/ Expert Advisor (template)“ do template, „Continue“, vou chamar este ficheiro: „SimpleCrossoverEA“, clique em „Continuar“, „Continuar“ e „Terminar“.
Agora pode apagar tudo o que está acima da função „OnTick“ e vamos também apagar as duas linhas de comentário aqui.
Começamos por incluir o ficheiro: „Trade.mqh“, que nos ajudará a criar uma instância da classe: „CTrade“, que será chamada: „trade“.
Agora queremos criar dois valores de input, se marcar „input“ e premir F1 verá que define uma variável externa, basicamente criará um input do utilizador. Precisamos de dois; um pequeno valor médio móvel (SmallMovingAverage ) e um grande valor médio móvel (BigMovingAverage).
Agora vamos calcular o preço Ask e o preço Bid que é feito usando „SymbolInfoDouble“ para o símbolo actual no gráfico, usamos „SYMBOL_ASK“ ou „SYMBOL_BID“. „NormalizeDouble“ e „_Digits“ dar-nos-ão o número de dígitos por detrás do ponto.
Vamos criar um valor vazio para o sinal (sinal) que precisa de ser calculado.
Comecemos por criar uma matriz para vários preços; um para a Média Móvel pequena (SmallMovingAverageArray) e um para a Grande Média Móvel (BigMovingAverageArray), primeiro precisamos de definir as propriedades da Pequena Média Móvel (SmallMovingAverageDefinition) – preciso de reduzir o tamanho da fonte aqui – usamos a função „iMA“ para o símbolo actual no gráfico e o período actualmente seleccionado nesse gráfico, este é o número de velas que queremos usar para calcular a pequena Média Móvel – no nosso caso são 20 velas – não usamos um valor de turno e com „MODE_SMA“ e „PRICE_CLOSE“ definimos que queremos calcular uma Média Móvel Simples que se baseia no preço de fecho.
Agora vamos repetir que para a Grande Média Móvel (BigMovingAverageDefinition), esta é basicamente a mesma linha – que é 50 por defeito – depois usamos „CopyBuffer“ para preencher a nossa pequena média móvel (SmallMovingAverageArray) de acordo com a definição (SmallMovingAverageDefinition) que criámos aqui para o buffer 0 (zero) – esta é a única linha que a Média Móvel tem – começamos com a vela 0 (zero), copiar o valor para 3 velas e armazená-las numa pequena matriz de Moving Average (SmallMovingAverageArray), Depois de o ter adivinhado, fazemos o mesmo para a Grande Média Móvel de acordo com a definição (BigMovingAverageDefinition) que criámos aqui, armazenamos os valores na nossa grande média móvel (BigMovingAverageArray) e se a Grande Média Móvel for maior que a Pequena Média Móvel para a vela 1 e estiver abaixo da Pequena Média Móvel para a vela 2 que seria um crossover, agora queremos comprar por isso atribuímos a palavra: „comprar“ ao nosso sinal.
Caso contrário, se a Média Móvel grande estiver abaixo da Média Móvel pequena para a vela 1 e se a Média Móvel grande estiver acima da Média Móvel pequena para a vela 2 que é um cruzamento na outra direcção, agora atribuiríamos a palavra: „vender“ ao nosso sinal e se o nosso sinal for igual a vender e se não tivermos posições em aberto usaremos „trade.Sell“ para vender 10 microlotes. Caso contrário, se o nosso sinal for igual a comprar e se não tivermos posições abertas, usaríamos „trade.Buy“ para comprar 10 microlotes.
Finalmente, queremos usar a função „Comentar“, isto irá emitir „O sinal é agora:“ seguido do sinal que calculámos.
É tudo, se isto for demasiado rápido para si, poderá considerar tornar-se membro do curso premium ou repetir os outros vídeos básicos desta série.
Quando terminar, pode clicar no botão „Compile“ ou pressionar F7 no seu teclado, não deve receber nenhum erro e nesse caso pode clicar aqui ou pressionar F4 para voltar ao Metatrader, e no Metatrader vamos usar um pequeno truque, por favor clique em: „Inserir/ Indicadores/Tendência/ Média Móvel“, a pequena Média Móvel no nosso caso é para 20 velas, o turno é 0 (zero), queremos calcular uma média móvel simples que se baseia no preço fechado e eu gostaria de ter uma linha vermelha, por isso vamos clicar em „OK“, agora repetimos o processo, escolhemos outra Média Móvel, agora gostaria de ter 50 velas e desta vez gostaria de ter uma cor amarela, por isso vamos clicar em „OK“, vamos clicar com o botão direito no gráfico, seleccionar „Templates/ Save Template“ e guardá-lo como „tester“. tpl“.