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 a MQL5 para Metatrader5 criamos um Consultor Especialista para as transacções de venda que fechará uma posição de venda com base num valor percentual definido pelo utilizador.
Neste vídeo, vamos criar um Expert Advisor para posições de Venda, que é capaz de fechar posições quando um valor percentual de risco definido tiver sido atingido. Assim, vamos descobrir como fazer isso com MQL5. Para começar, clique num pequeno botão aqui ou pressione F4 no seu teclado. Agora deve ver a janela do Metaeditor e aqui quer clicar em ficheiro, novo ficheiro, Expert Advisor from template, continuar. Vou chamar a este ficheiro Simple Sell risco percentual de venda.
Clique em Continuar, continuar e terminar. Agora pode apagar tudo acima da função Ontick e as duas linhas de comentário aqui. Começamos com uma declaração para incluir a biblioteca de comércio. Este é o ficheiro Trade.mqh. Faz parte da MQL5 e ajudar-nos-á a utilizar algumas funções para abrir comércios. Portanto, criamos uma instância da classe Ctrade que é chamada Ctrade, o nosso objectivo para este Expert Advisor é criar uma variável de entrada para o utilizador que será chamada valor de risco percentual.
Este é o valor inicial e pode ser alterado pelo utilizador sem recompilação. Porque se marcar o input e premir F1, verá que os valores das variáveis de input podem ser alterados pelo utilizador na janela de propriedades do Expert Advisor. Agora vamos adicionar outra variável chamada Perda Máxima de Posição. Esta é a perda máxima que vamos aceitar. Dentro da função ontick, começamos por calcular o preço do Bid. Isto é feito utilizando Symbolinfodouble para o símbolo actual no gráfico.
Estamos a utilizar o símbolo sublinhado Bid e com a normalização de dígitos duplos e sublinhados, podemos calcular automaticamente o número correcto de dígitos por trás do ponto. A segunda coisa que quero calcular é o saldo. Isto pode ser feito utilizando o dobro da informação da conta e, neste caso, vamos utilizar o saldo do sublinhado da conta. Se marcar isso e premir F1, verá que pode obter todo o tipo de informação sobre a sua conta. E como queremos fechar posição de venda, precisamos de ter uma posição de teste. Assim, verificamos se PosiçõesTotal é inferior a uma, o que significaria que não temos posições abertas e agora podemos usar trade.Sell para abrir uma posição de 10 Microlot. Não o faria numa conta real, mas é para isso que servem as contas de demonstração. E, sem uma posição, não podemos fechar nada. Numa conta real, poderíamos ter mais do que uma posição, por isso usaríamos um loop para percorrer todas as posições abertas. Usamos o buy position getticket para o valor actual do contador para obter o número do bilhete para a posição.
Depois, utilizamos a posição getticket para obter o dobro para obter o lucro da posição, porque se tivermos o lucro da posição, também sabemos a perda da posição e agora podemos calcular a perda máxima da posição.
Vamos dividir o saldo por 100 para obter um por cento. Isto será multiplicado pelo valor de risco percentual. E se nos perguntarmos para que serve essa parte, precisamos de ter um valor negativo, porque uma perda de posição como valor negativo. Acrescentemos dois resultados de impressão, para que possamos ver o que se passa no diário. E se o lucro da posição estiver abaixo da perda máxima da posição que definimos, ou por outras palavras, se a perda da posição for maior do que a perda aceite, usamos o fecho da posição comercial para o bilhete actual para fechar a posição actual.
Terminemos aqui o loop for e, para ver o que se passa, gostaria de acrescentar uma declaração de comentário que irá produzir o saldo, a perda máxima da posição e o valor de risco percentual directamente no nosso gráfico. É mais ou menos isso. 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 da série de vídeos básicos ou talvez até o Curso Premium no nosso website possa ser interessante para si.
Este é também o local onde pode encontrar ofertas para descarregar códigos-fonte como este. Mas por agora, por favor clique em Ver, Barra de Ferramentas. Agora clique no botão Compile ou prima F7 no seu teclado. Não deve ver nenhum erro. E se for esse o caso, pode clicar num pequeno botão aqui ou premir F4 para voltar ao Metatrader.
E dentro do Metatrader queremos clicar em View, Strategy tester ou Press Control e R. Por favor, escolha o novo ficheiro. Simples percentagem de risco.ex5, marque a opção para o modo Visual e teste iniciar o seu teste. Aqui temos uma posição de venda, está actualmente no lucro, mas assim que o prejuízo estiver a ficar demasiado grande, devemos ver que a posição será fechada. Portanto, vamos acelerar isso um pouco aqui. Agora temos uma perda maior e agora a posição foi encerrada. Vamos clicar no separador do diário, aqui vemos o lucro da posição actual e a perda máxima da posição.
Assim, o nosso pequeno Consultor Especialista trabalha como esperado. E neste pequeno vídeo, aprendeu como definir um valor percentual definido pelo utilizador para fechar posições quando estas atingem uma perda definida pelo utilizador. E codificou-o você mesmo com algumas linhas de código MQL5.