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 podemos modificar uma posição de venda existente. Neste caso, o nosso consultor especializado vai reduzir automaticamente o tamanho da posição quando a equidade for maior do que o saldo…
Neste vídeo vamos descobrir como reduzir o tamanho da posição para uma posição de venda existente, aqui temos nove microlotes e agora o tamanho da posição é reduzido por isso vamos descobrir como codificar isso em mql5.
Para o fazer clique no pequeno ícone 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, vou chamar a este ficheiro simples modificador de posição de venda, 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 por incluir o ficheiro trade ponto mqh, este vem com mql5 e usamo-lo para abrir comércios, para fazer isso criamos uma instância de ctrade que será chamada trade.
Como só vamos fechar posições de venda precisamos de calcular o preço de oferta, isto é feito usando o símbolo info double para o símbolo actual no gráfico, usamos o símbolo underscore bid como segundo parâmetro e também gosto de usar normalizar os dígitos double e underscore porque isto calculará automaticamente o número correcto de dígitos por detrás do ponto.
Posteriormente, queremos verificar se não temos posições em aberto, o que seria o caso quando o total de posições entrega um valor de retorno de zero e, nesse caso, usamos trade dot sell para abrir uma posição de teste para dez microlotes. Na verdade, esta é uma posição de venda e não uma posição de compra e agora queremos reduzir o tamanho da posição, por isso chamamos a função alterar o tamanho da posição com o preço de oferta, mas antes de o podermos fazer precisamos de codificar essa função aqui. Usamos o tipo de retorno vazio, o nome da nova função é tamanho da posição de mudança e aqui usaremos o valor duplo para o preço de oferta que passámos aqui.
Primeiro queremos calcular o saldo que é feito usando o dobro de informação da conta, o parâmetro que usamos é saldo de sublinhado da conta – tudo em maiúsculas -, vamos repetir que para o capital próprio, isto é quase semelhante, mais uma vez usamos o dobro de informação da conta, mas desta vez o parâmetro é saldo de sublinhado da conta.
Depois, usamos um for loop para percorrer todas as posições abertas, no nosso caso é apenas uma posição de teste, não o faria numa conta real, numa conta real usaria o for loop para percorrer todas as posições abertas.
Depois, precisamos de obter o símbolo de ordem para a posição actual que é feita usando o símbolo de posição obter o valor actual do contador no loop for, por isso agora podemos verificar se o símbolo actual no gráfico é igual ao símbolo de ordem e se for esse o caso, precisamos de descobrir o bilhete de posição porque precisaremos do número do bilhete para fechar uma parte da posição existente. Fazemo-lo usando a posição obter número inteiro, o parâmetro é bilhete de posição sublinhada e como só vamos fechar posições de venda, também queremos obter a direcção da posição que é feita usando a posição obter número inteiro para o tipo de posição, por isso vamos descobrir se esta é uma posição de venda, esse seria o caso se a direcção da posição tiver o valor tipo de posição de venda, e finalmente queremos verificar se o capital próprio está dez pontos ou mais acima do saldo, é o caso quando fazemos lucro e nesse caso vamos usar a posição de ponto de troca fechar parcialmente para o bilhete de posição actual, queremos reduzir o tamanho da posição actual em um micro lote, isto seria um valor de tolerância, usamos menos um neste caso, vamos fechar todos os loops abertos aqui e é tudo.
Agora se isto foi demasiado rápido para si ou se não souber o que todo o código aqui faz, talvez queira ver os outros vídeos desta série básica de vídeo 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 não deve receber nenhum erro e se for esse o caso pode clicar no pequeno botão aqui ou prima F4 para voltar ao Met trader.
E em Metatrader quer clicar em view, testador de estratégia ou pode carregar em control e r no seu teclado, este é o novo testador de estratégia, aqui temos de seleccionar „Run single tests of an Expert Advisor“, por favor escolha o novo ficheiro simples modificador de posição de venda ponto ex5, marque a opção de visualização aqui e inicie um teste.
E aqui o nosso pequeno consultor especializado está a funcionar, temos dez, agora nove micro lotes e assim que o preço descer devemos ver que o tamanho da posição está a mudar aqui – é o caso agora – por isso o nosso pequeno consultor especializado funciona e neste pequeno vídeo aprendeu a codificar um consultor especializado que é capaz de reduzir automaticamente o tamanho da posição de venda existente e codificou-o você mesmo com algumas linhas de código mql5.