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.
If you accept this notice, your choice will be saved and the page will refresh.
Com MQL5 para Metatrader5 criamos um Expert Advisor para uma paragem de venda que é activada pelo Indicador Parabólico SAR. Este EA pode ser codificado em menos de 10 minutos no Metaeditor.
Neste vídeo vamos criar uma paragem de venda para este indicador parabólico SAR, por isso vamos descobrir como fazer isso com o mql5.
Para começar por favor clique no pequeno botão aqui ou prima F4 no seu teclado agora deve ver a janela do Metaeditor e aqui quer clicar em ficheiro, novo ficheiro, consultor especializado de modelo, continuar, chamarei a este ficheiro simples paragem de venda de sar, clique 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 com uma declaração de incluir o ficheiro trade mqh, depois criamos uma instância da classe ctrade que será chamada trade e precisamos de abrir uma posição de teste, de modo a termos algo onde possamos colocar o trailing stop.
Uma vez que estamos a falar de um trailing stop de venda, precisamos de calcular o preço de oferta que é feito usando o símbolo info double para o símbolo actual no gráfico, usamos o símbolo underscore bid – tudo em letras maiúsculas – e com normalizar os dígitos double e underscore, certificamo-nos de que temos o número certo de dígitos atrás do ponto.
Dependendo do par cambial que pode ser de três ou cinco dígitos e agora queremos verificar se o número de posições actuais é inferior a um, por isso, se não tivermos nenhuma posição aberta, usamos trade dot sell para abrir uma posição de venda para dez microlotes. Por favor lembrem-se que só fazemos isto numa conta demo, não o faríamos numa conta real.
Agora vamos criar um array e uma vez que isso seja feito, usamos a função integrada isar para o símbolo actual no gráfico e o período actualmente seleccionado nesse gráfico e estes dois parâmetros aqui são o que vemos se clicar em inserir, indicadores, tendência, sar parabólico, aqui temos um valor de passo de zero ponto zero dois e um valor máximo de zero ponto dois, por isso vamos clicar em ok, clicar com o botão direito do rato no gráfico, seleccionar os modelos, guardar modelo e guardá-lo como tester dot tpl porque este é o modelo que vamos usar no teste de estratégia, por isso vamos clicar em ok, podemos substituir o valor antigo aqui e voltar ao Metaeditor, por isso vamos usar o array definido como série para ordenar o array da vela actual para baixo e no passo seguinte podemos usar o buffer de cópia para preencher o nosso array de sar de acordo com a definição de sar que criámos aqui.
Preenchemo-lo para buffer zero – essa é a primeira linha indicadora – no nosso caso essa é a linha pontilhada aqui, e preenchemo-lo a partir da vela zero para três velas e armazenamos os resultados na nossa matriz de sar porque isso torna possível calcular o valor actual do sar olhando para a vela zero na nossa matriz de sar e com normalizar o dobro e a vírgula cinco garantimos que o valor será calculado de acordo com a definição do sar parabólico.
Vemos aqui o valor zero ponto oito oito nove nove sete, são cinco dígitos atrás do ponto e é também o que obtemos quando o fazemos desta forma.
E a última parte da função de tick on é chamar uma função chamada check sar vender trailing stop, esta não existe até agora, pelo que precisamos de a codificar agora e vamos passar o preço de oferta e o valor sar como parâmetros.
Portanto, esta é a função, chama-se check sar sell trailing stop, tomamos aqui os dois parâmetros, o primeiro para o preço de oferta é um valor duplo e isso também é verdade para o segundo parâmetro o valor sar.
Agora usamos um para loop para percorrer todas as posições abertas, primeiro usamos o símbolo de obtenção de posição para o valor actual do contador para obter a moeda para a posição actual, depois queremos verificar se o símbolo actual no gráfico e o símbolo da posição são iguais, e se for esse o caso, usamos o símbolo de obtenção de posição inteira e o símbolo da posição sublinhada – tudo em letras maiúsculas – para obter o número do bilhete para a posição.
Usamos posição get double, posição underscore sl para obter o stop loss actual e só queremos modificar o nosso stop loss se o stop loss actual estiver acima do valor sar actual ou se o stop loss actual for igual a zero, esse seria o caso quando iniciamos o consultor especializado e se falhou essa parte nunca verá qualquer tipo de stop trailing stop no seu gráfico.
Se todas as nossas condições forem verdadeiras, utilizamos a modificação da posição do ponto de troca para o bilhete de posição actual e definimos a perda da paragem para o valor sar.
Neste exemplo não modificaremos o valor do take profit, agora finalmente queremos fechar todos os loops e é tudo.
Bem, se não compreender o que todo o código aqui faz ou se isto foi demasiado rápido para si, talvez queira ver um dos outros vídeos desta série básica de vídeos ou talvez até o curso premium no nosso website possa ser interessante para si, por agora, por favor clique no botão de compilação aqui ou prima F7 no seu teclado…