APRENDER O TUTORIAL BÁSICO MQL5 – 30 COMO FECHAR TODAS AS POSIÇÕES DE COMPRA

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 que é capaz de fechar todas as posições de compra abertas no gráfico Forex quando uma determinada condição é verdadeira. Este EA pode tornar-se no Metaeditor em cerca de 6 minutos.

Este Expert Advisor de teste vai abrir dez posições de teste e assim que tivermos dez posições abertas, chamamos uma função chamada fechar todas as posições de compra, por isso vamos descobrir como fazer isso com mql5.
Para começar, por favor prima F4 ou clique no pequeno símbolo aqui, agora deve ver a janela do Metaeditor e aqui pretende clicar em ficheiro, novo ficheiro, consultor especializado de modelo, continuar, chamarei este ficheiro: simples posição de compra mais próxima, pois só vamos fechar posições de compra.
Agora vamos clicar em continuar, continuar e terminar, e agora podemos apagar tudo o que está acima da função de tick e as duas linhas de comentário aqui.
Primeiro, precisamos de incluir o ficheiro de troca de pontos mqh, isto ajudar-nos-á a criar uma instância da classe ctrade que será chamada trade e estamos a usá-la para abrir as nossas posições de teste.
No interior da função de tick on começamos por obter o preço pedido, que é feito com o símbolo info double para o símbolo actual e usamos o símbolo underscore ask – tudo em maiúsculas – também utilizo normalizar os dígitos double e underscore para calcular automaticamente o número de dígitos por detrás do ponto.
Primeiro queremos saber se o número total de posições é inferior a dez, é o caso se tivermos menos do que posições abertas e se for esse o caso, usamos trade dot buy para comprar dez microlotes pelo preço pedido que calculámos aqui e assim que tivermos exactamente dez posições queremos chamar uma função chamada close all buy positions para fechar todas as posições abertas de compra ao mesmo tempo.
Esta função não existe até agora, por isso vamos criá-la, não tem tipo de retorno e será chamada de fechar todas as posições de compra, usamos um loop para percorrer todas as posições abertas e para cada posição usamos um bilhete de posição para obter o número do bilhete, também queremos calcular a direcção da posição que é feita usando a posição obter número inteiro, tipo de sublinhado da posição – tudo em letras maiúsculas – e se a direcção da posição for igual ao tipo de sublinhado da posição de compra, esta posição é uma posição de compra e agora usamos a posição de ponto de troca fechado para o número do bilhete actual para fechar a posição actual.
Finalmente, precisamos de fechar o for loop e a função, é tudo, e se não souber o que todo o código aqui faz, talvez queira começar com os outros vídeos desta série básica ou talvez até o curso premium seja interessante para si.
Por agora, por favor clique no botão de compilação aqui ou prima F7, que deve funcionar sem erros e se for esse o caso, pode clicar no botão aqui ou prima F4 para voltar ao Metatrader.
E em Metatrader, clicamos em view, testador de estratégia ou premir controlo e r, por favor escolha o novo ficheiro, simples posição de compra ponto mais próximo ex5, activar o modo de visualização aqui e iniciar um teste.
E aqui nós! O consultor especializado está a abrir posições de teste e, assim que tivermos dez posições abertas, chama a nossa função personalizada para fechar todas as posições de compra abertas.
Este vídeo foi uma ideia de um membro do curso premium e se tiver alguma ideia que deva ser explicada em tal vídeo aqui, basta enviar-me um e-mail porque neste pequeno vídeo aprendeu como criar um consultor especializado para fechar todas as posições de compra em aberto de uma só vez e codificou-o você mesmo com algumas linhas de código mql5.