APRENDER MQL5 TUTORIAL BASICS – 105 SISTEMA DE GRADE DE VENDA 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 a MQL5 para Metatrader5 criamos um Expert Advisor para um Sistema de Grade de Venda simples que está a abrir negociações de venda numa tendência descendente

Neste vídeo, vamos criar um sistema de grelha de venda que irá abrir uma posição de venda quando o próximo preço de venda for atingido. Por isso, vamos acelerar um pouco esse processo e veremos que temos várias posições. Então vamos descobrir como criar algo como isto com MQL5. Para o fazer, por favor clique num pequeno ícone aqui ou prima F4 no seu teclado.

Agora, deve ver a janela do Metaeditor e aqui quer clicar em ficheiro, novo ficheiro, Expert Advisor from template, Continue. Chamarei a este ficheiro Sistema Simples de Venda Grid. Clique em Continuar, continuar e terminar. Agora pode apagar tudo acima da função Ontick. E vamos também remover as duas linhas de comentário. Começamos com uma função de inclusão para incluir o ficheiro Trade.mqh. Esta permitir-nos-á criar uma instância da classe Trade.mqh. Dá-nos funções de comércio simplificadas e será chamado comércio.

Também queremos criar uma matriz para os dados de preços, que se chama informação sobre preços e é criada utilizando MQLRates. E vamos criar uma variável string para o sinal, que também se chama sinal, mas não atribuímos um valor aqui porque vamos calcular isso mais tarde. Dentro da função ontick queremos começar por criar uma variável estática dupla para o próximo preço de venda. A estática é um modificador que permanecerá o valor enquanto o Expert Advisor estiver a funcionar, mesmo que deixemos a função. Agora vamos calcular o preço de licitação. Isto é feito usando Symbolinfodouble para o símbolo actual no gráfico, estamos a usar o lance do símbolo sublinhado e com normalizar os dígitos duplos e sublinhados, certificamo-nos de calcular automaticamente o número correcto de dígitos por trás do ponto.

Porque alguns pares de moedas têm cinco dígitos atrás do ponto e os outros têm três dígitos atrás do ponto. Agora vamos usar arraysetasseries para o preço e para o array para ordenar o array actual do candidato actual para baixo.

E com CopyRates, podemos agora preencher o array com dados para o símbolo actual no gráfico e para o período actualmente seleccionado nesse gráfico, começando a partir da vela zero para três velas. Armazenamos os dados e a matriz de informação de preços, e também podemos utilizar aqui os sublinhados como fizemos nesta linha. Agora, se não tivermos posições abertas, isso seria verdade quando PositionsTotal tem um valor zero, queremos definir o nosso próximo preço de venda para zero.

Isto é um reset. Posteriormente, queremos verificar o nosso sinal de entrada, chamando uma função que se chama verificar sinal de entrada. Essa função não existe até agora, pelo que precisamos de a criar em poucos minutos, mas antes disso, queremos verificar se o preço de licitação está actualmente abaixo do próximo preço de venda ou se o próximo preço de venda é igual a zero. Se for esse o caso, queremos abrir uma posição de venda, isso é feito utilizando o trade.Sell for 10 Microlot.

E logo após termos feito isso, queremos definir o próximo preço de venda 50 pontos abaixo do nível actual do preço de venda. Vamos também acrescentar um comentário para criar uma produção para o preço de licitação e para o próximo preço de venda directamente no nosso gráfico. Até agora, tudo bem. Esta é a função do Bid. Mas agora precisamos de criar esta função aqui. Chama-se sinal de entrada de verificação e retorna um valor de string. Porque quando o preço de fecho da última vela na nossa matriz de informação de preços está acima do preço de abertura da vela na nossa matriz de informação de preços, consideramos que isso é um sinal de compra.

Por isso, agora atribuímos a palavra comprar ao nosso sinal. Caso contrário, quando o preço de fecho da vela um na nossa tabela de informação de preços é maior do que o preço de abertura da vela um na nossa tabela de informação de preços, isso seria um sinal de venda. E agora atribuímos a palavra „vender“ ao nosso sinal. Finalmente, queremos devolver o nosso sinal ao módulo principal e fechar esta função. E é tudo, se isto foi demasiado rápido para si ou se não tem ideia do que todo o código aqui faz, talvez queira ver um dos outros vídeos básicos desta série de vídeo. E no nosso website, pode agora encontrar um link para todos estes vídeos, incluindo os códigos-fonte na nossa loja. Por agora, vamos activar a barra de ferramentas e clicar em compilar ou carregar em F7. Não deve receber quaisquer erros. E se for esse o caso, pode clicar num pequeno botão aqui ou premir F4 para voltar a Metatrader. E em Metatrader quer clicar em View, Strategy tester ou premir Control e R.

Por favor, escolha o novo ficheiro. Simple Sell Grid System.ex5, marque a opção para o modo visual. Se não o vir, está aqui em baixo e comece um teste. Agora deve ver que a primeira venda é aberta. Aqui está o segundo e a cada 50 pontos veremos uma nova troca de venda. Assim, o nosso pequeno sistema de grelha de venda funciona como esperado e você mesmo o codificou com algumas linhas de código MQL5.