APRENDER MQL5 TUTORIAL BASICS – 40 COMPRA SIMPLES BREAKEVEN STOP

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 a Metatrader5 criamos um Expert Advisor automático de Stop Loss que irá definir o Stop Loss acima do preço de compra quando o preço estiver a correr na nossa direcção…

Neste vídeo, vamos criar paragens de break-even para as trocas de compra, esta é a paragem inicial para esta troca e quando o preço subir assim que passar o preço de compra verá a pequena linha vermelha aparecer no gráfico, por isso vamos descobrir como fazer isso com mql5.
Começamos por clicar neste pequeno ícone aqui ou também podemos pressionar F4 no teclado, agora deve ver a janela do Metaeditor e aqui pode clicar em ficheiro, novo ficheiro, consultor especializado de modelo, continuar, chamarei a este ficheiro simples paragem de compra de break-even, clicar em continuar, continuar e terminar.
Agora pode apagar tudo o que está acima da função de tick e as duas linhas de comentário aqui, começamos por incluir o ficheiro trade dot mqh que vem com mql5 e vamos utilizar uma instância de ctrade chamada trade para abrir uma posição de teste. Não o faria numa conta real, mas precisamos de abrir uma posição de teste para podermos definir o ponto de equilíbrio.
Para uma posição de compra precisamos de descobrir o preço de compra, que é feito usando o símbolo info double para o símbolo actual no gráfico, usamos o símbolo underscore ask – tudo em maiúsculas – e com normalizar os dígitos double e underscore calculamos automaticamente o número correcto de dígitos atrás do ponto.
Só preciso de uma posição de teste para verificar se o valor de retorno para as posições totais da função é igual a zero e se isso for verdade, usamos a compra de ponto de troca para abrir a posição de teste para dez microlotes.
Também definimos um stop loss e tomamos valor de lucro aqui e no final da função on tick, queremos chamar outra função que será chamada check buy break-even stop, passamos o preço pedido como parâmetro e esta função não existe até agora, pelo que precisamos de a codificar agora.
A nossa função personalizada não tem valor de retorno e tomará o preço pedido como parâmetro, utilizaremos um para loop, o nosso contador é um número inteiro para o número da posição e faremos uma contagem decrescente a partir do total das posições até não haver mais nenhuma outra posição.
Para cada posição precisamos de obter o número do bilhete que é feito usando posição obter número inteiro, posição sublinhar bilhete, esse valor será armazenado numa variável chamada bilhete de posição, essa é uma variável longa não assinada e isso é um pouco louco porque usamos posição obter número inteiro, por isso seria de esperar um valor inteiro aqui, mas quando marcar bilhete de posição e premir F1 verá que, de facto, retorna um valor longo aqui.
Também precisamos de obter o preço de compra da posição ou talvez deva dizer que o preço aberto para a posição que é feito usando a posição obtenha o dobro e usamos o preço de underscore da posição, underscore aberto, vamos repetir que mais duas vezes porque também queremos saber o stop loss da posição e o valor de tomada de lucro da posição, ambos podem ser calculados usando a posição obtenha o dobro e para obter a direcção para a posição que usamos a posição obtenha o número inteiro para o tipo de underscore da posição, que nos dará a direcção porque precisamos de saber se é uma posição de compra ou de venda.
Para nos certificarmos de que a posição pertence ao gráfico actual, utilizamos o símbolo de posição get para o número da posição actual e agora podemos verificar as condições, só queremos mover o stop-loss se o símbolo actual no gráfico for igual ao símbolo da posição, também queremos certificar-nos de que o tipo de posição é igual ao tipo de posição underscore, underscore buy, que é o caso quando temos uma transacção de compra, só queremos mover o stop-even se o stop-loss da posição actual for inferior ao preço de compra da posição.
E finalmente, quero saber se o preço de compra actual está acima do preço de compra da posição mais trinta pontos que é quando eu quero definir o meu stop breakeven.
Se todas estas condições forem verdadeiras, uso a posição trade dot para modificar a posição actual do bilhete da posição actual e quero mover o stop-loss actual para quatro pontos acima do preço de compra da posição, esse é o preço que pagámos quando abrimos a posição de compra e, neste caso, deixo o valor de lucro da posição inalterado. Vamos reformatar o código aqui, precisamos de fechar o for loop e precisamos de terminar a função que deveria ser ela.
Bem, se não tem ideia do que todo o código aqui faz ou se isto foi demasiado rápido para si, talvez queira ver primeiro os outros vídeos desta série básica de vídeo ou talvez até o curso premium no website possa ser interessante para si, por agora por favor clique no botão de compilação, não recebi nenhum erro aqui, apenas um aviso sobre possível perda de dados devido a uma conversão de tipo e se esse for também o caso, pode clicar num pequeno botão aqui ou pode pressionar F4 para voltar a Metatrader.
E em Metatrader, clicamos em view, testador de estratégia ou pressionar controlo e r, por favor escolha o novo ficheiro simples ponto de paragem de break-even ex5, marque aqui a opção de visualização e inicie um teste.