APRENDER O TUTORIAL BÁSICO MQL5 – 38 COMO OBTER UM EVENTO CHAVE SIMPLES

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 que é capaz de reconhecer eventos chave sempre que uma chave é premida. A chave será emitida numa Messagebox.

Neste vídeo vamos criar um pequeno consultor especializado que é capaz de reconhecer toques de tecla, neste caso, temos aqui um gráfico simples, este é o consultor especializado que codificámos, chama-se evento de tecla simples e quando clico no gráfico e carrego em qualquer botão, vou obter o aviso de que uma tecla foi premida.
Carreguei na tecla a, agora carreguei na tecla b e desta vez a tecla foi c, portanto vamos descobrir como codificar isso em mql5.
Para o fazer, clique no pequeno botão aqui ou prima F4 no seu teclado, agora deve ver o Metaeditor e aqui quer clicar em ficheiro, novo ficheiro, consultor especializado de modelo, continuar, chamarei a este ficheiro evento simples de tecla, clique em continuar, continuar e terminar.
Agora pode apagar tudo o que se encontra acima da função de tick e vamos também remover aqui as duas linhas de comentário.
Por isso, normalmente estamos a utilizar o evento no tick, este é o evento que é desencadeado sempre que o preço muda no gráfico mas, neste caso, precisamos de outro tipo de evento porque queremos descobrir se uma tecla foi premida e para o fazermos utilizamos o evento no gráfico.
São necessários alguns parâmetros, já o fizemos para o clique do rato, mas vamos repetir os parâmetros.
O primeiro é um valor inteiro, chama-se evento id e vai devolver o id do evento, o segundo é um parâmetro longo, este símbolo aqui não é um erro, é como podemos passar um valor por referência em mql5, é um valor longo por isso chamamos-lhe lparam, o seguinte é um parâmetro duplo, também passado como referência por isso chamamos-lhe dparam, e o último parâmetro é um parâmetro string, este também é uma referência e este chamamos-lhe sparam.
Dependendo do que for preciso para descobrir o que cada um desses parâmetros contém, no nosso caso é fácil porque só precisamos do evento id para identificar se temos uma tecla e esse é o caso quando o id do evento é igual, chama-se evento de tabela sublinhado – tudo em maiúsculas – agora queremos traduzir o código da tecla – que é um número para uma letra – que é feito usando a tecla de tradução para o valor que está dentro do lparam, é um valor int, isso é um pouco estranho porque lparam é normalmente um parâmetro longo mas na realidade os códigos das teclas só têm valores inteiros e agora queremos criar uma saída para a tecla que foi premida, utilizamos uma caixa de mensagens, ela irá emitir o texto: a chave foi, seguida do valor convertido para a chave que foi premida, este é o cabeçalho e a nossa caixa de mensagens terá um botão ok apenas para confirmação, também poderá usar outros botões como sim ou não e cancelar, no nosso caso o botão ok é suficiente.
Finalmente, temos de acrescentar aqui os dois parênteses de fecho e é tudo.
Se isto foi demasiado rápido para si ou se não compreender o que todo o código aqui faz, talvez queira ver os outros vídeos desta série de vídeos ou talvez até o curso premium seja interessante para si, mas por agora por favor clique no botão de compilação…
Estraguei algo aqui…
Na verdade, falhei o parêntese aqui, por isso vamos recompilar o código e desta vez funciona, por isso vamos descobrir se ele faz o que queremos.
Por favor clique no pequeno botão aqui ou prima F4 para voltar ao Metatrader, vamos escolher uma tabela vazia, arrastemos o consultor especializado recentemente criado para essa tabela e prima uma tecla e agora aqui está a nossa caixa de mensagens, a tecla que foi premida é k, vamos premir a tecla b e, como vê, funciona como concebido, embora não consiga reconhecer todas as combinações possíveis, por exemplo, se eu premir a tecla shift obterei um código de retorno vazio, também é possível fazê-lo, mas neste pequeno vídeo aprendeu a reconhecer uma tecla premida no seu gráfico e codificou-a você mesmo com algumas linhas de código mql5.