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 Expert Advisor que é capaz de obter a direcção para a última posição que foi fechada.
Neste vídeo vamos criar um consultor especializado que é capaz de obter o último tipo de encomenda. Espero conseguir fazê-lo antes do ruído do edifício à volta da casa começar, por isso vamos descobrir como fazer isso com a MQL5. Para começar, por favor clique num pequeno ícone aqui ou prima F4 no seu teclado. Agora deve ver a janela do MetaEditor. E aqui quer clicar em File, new File, Expert Advisor from Template. Continue. Vou chamar a este ficheiro o tipo de último pedido simples.
Clique em Continuar, continuar e terminar. Agora pode remover tudo acima da função Ontick e as duas linhas de comentário aqui. Começamos com uma declaração para incluir o ficheiro Trade.mqh. E isso inclui o comércio de classe C. Vamos utilizar uma instância de comércio C que se chama Comércio. Dentro da função Ontick, precisamos de calcular o preço de pedido e o preço de oferta. Isto pode ser feito usando o símbolo info double para o símbolo actual no gráfico.
Usamos o símbolo underscore ask ou o símbolo underscore bid. E com a normalização dos dígitos de duplo e sublinhado, certificamo-nos de calcular automaticamente o número correcto de dígitos por detrás do ponto. Agora queremos abrir posições de teste. Se não tivermos posições, será esse o caso quando o total de posições for inferior a uma. Vamos usar o Trade Buy and Trade Sell para abrir posições de teste numa conta de demonstração de teste. Isto não faria sentido numa conta real, mas obviamente precisamos de ter algumas posições para descobrir a direcção da posição da última. E para obter a direcção da posição, queremos chamar uma função que se chama Get Last order type e atribuir o resultado a uma variável de string chamada My last order type.
E usamos uma declaração de comentário para produzir o texto que a minha última posição foi e o resultado da função que vamos criar agora. Comecemos então. O nome da nova função será Get Last order type e irá retornar uma variável de string. Precisamos de definir algumas variáveis que são necessárias para obter o resultado do histórico adequado.
Agora usamos o History Select.
Podemos passar dois carimbos de tempo desde a data até à data. Queremos começar desde o início até à hora actual. Agora utilizamos um para loop para percorrer o número total de negócios. Em seguida, verificamos se o número do ticket do histórico actual do ticket do valor do contador está acima de zero. Isso significaria que temos um bilhete real, e nesse caso gostaríamos de obter alguns dados.
Primeiro, queremos calcular o lucro da encomenda. Isto é feito utilizando o negócio de Historial obtém-se o dobro para o número do bilhete actual e utilizamos o lucro do Deal sublinhado. Se marcar isso e premir F1, verá que temos as chamadas propriedades do negócio. E esta é a que utilizamos para obter o lucro. Vamos continuar e obter o tipo de encomenda. Isso é feito através da utilização do negócio History get integer para o número do bilhete actual. E desta vez utilizamos o tipo Deal underscore. Vamos continuar com o símbolo actual. Usamos o negócio Histórico, obtemos fio para o número do bilhete actual para obter o símbolo do negócio, e depois continuamos e usamos o negócio Histórico obtemos o número inteiro para o número do bilhete actual para obter a entrada do negócio. Vamos verificar se o símbolo actual na tabela é igual ao símbolo do negócio.
E, claro, se a entrada do negócio for um, isso significaria que a ordem foi fechada. E se o tipo de fecho era de ordem de compra, a direcção da posição original era uma transacção de venda. Caso contrário, se o tipo fechado era ordem tipo venda, a direcção da posição original era uma transacção de compra, vamos atribuir o código lucro, o número do bilhete e a direcção da posição à nossa variável de cadeia chamada o meu resultado. Agora fechamos os loops e finalmente devolvemos o nosso resultado ao módulo principal. Até agora, tudo bem.
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 antigos vídeos iniciais, ou talvez até o curso premium no nosso website possa ser interessante para si. Isto mais uma vez foi uma sugestão de um membro de um curso premium. E se já é um membro do curso premium e tem uma ideia para um vídeo como este, é só dizer-me. Por agora, por favor clique no botão de compilação ou prima F7 no seu teclado.
Não recebi nenhum erro aqui, e se for esse o caso, pode clicar num pequeno botão aqui ou premir F4 para voltar ao Meter Trader. E no MetaTrader, quer clicar em View, Strategy TestER ou em Press Control e R.
Por favor escolha o novo ficheiro simples da última encomenda tipo ponto ex5, marque aqui a opção para o modo visual e inicie o seu teste. Aqui estamos nós. Temos resultados para compra e venda. Agora vamos parar com isso.