APRENDER O TUTORIAL BÁSICO MQL5 – 12 COMO ABRIR UM PEDIDO DE COMPRA SIMPLES

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 Metatrader5 e MQL5 podemos abrir uma posição de compra quando uma condição especial é verdadeira. No nosso caso, vamos abrir uma operação de compra automática assim que uma vela em alta apareça no gráfico forex…
Neste vídeo queremos descobrir como abrir uma simples posição de compra quando uma vela em alta aparece no gráfico, neste caso já abrimos esta operação de compra aqui e agora vamos descobrir como codificar isso na MQL5.
Para o fazer clique no pequeno botão aqui ou prima F4 no seu Metatrader, agora deve ver a janela do Metaeditor e aqui quer clicar em: „File/ New/ Expert Advisor (template)“ do template, „Continue“, eu chamarei este ficheiro: „SimpleBuyOrder“ clique em „Continue“, „Continue“ e „Finish“.
Agora podemos apagar tudo o que estiver acima da função „OnTick“ e vamos também remover as duas linhas de comentário.
Começamos por criar uma instância de „CTrade“, „CTrade“ irá ajudar-nos a usar funções simples de compra e venda, para a usar precisamos de incluir a biblioteca „Trade.mqh“, a biblioteca „Trade.mqh“ vem com MQL5 e agora usamo-la para criar uma instância chamada: „Trade.mqh“, que vamos utilizar mais tarde para abrir uma posição.
Como a nossa troca vai ser uma posição de compra, precisamos primeiro de descobrir o preço Ask, que é feito usando a função „SymbolInfoDouble“, para o símbolo actual usamos „SYMBOL_ASK“ para obter o preço Ask e prefiro usar „NormalizeDouble“, „_Digits“ para obter o número certo de dígitos atrás do ponto, porque alguns pares de moedas têm cinco dígitos atrás do ponto, enquanto outros têm apenas três dígitos atrás do ponto, por isso esta linha dar-nos-á o preço Ask.
Com „MqlRates“ criamos uma matriz „PriceInfo“ para os dados de preços, com „ArraySetAsSeries“ ordenamos a matriz de informação de preços (PriceInfo) a partir da vela actual para baixo e agora usamos „CopyRates“ para copiar os dados de preços para a nossa matriz „PriceInfo“ e fazemo-lo para o símbolo actual e o período actual – no meu caso o símbolo actual é o euro contra o dólar americano e o período actual é o gráfico de 1 minuto – na verdade usamos „_Symbol“ aqui, por isso vamos fazer isso também nesta linha. „_Symbol“ e „_Periodo“ fazem realmente o mesmo, não sei porque o fizeram, começamos com vela 0 (zero) e copiamos os preços de 3 velas na nossa matriz de informação de preços (PriceInfo) e agora podemos usá-la para descobrir se a nossa última vela está em alta, seria o caso quando o preço fechado da vela 1 na nossa matriz de informação de preços (PriceInfo) está acima do preço aberto da nossa vela 1 na matriz de informação de preços (PriceInfo).
Também quero verificar outra condição; quero saber se não temos outras posições abertas que possam ser feitas usando „PositionsTotal“ e se isso for igual a 0 (zero) podemos agora abrir efectivamente uma posição e é aí que usamos a instância de comércio que criámos aqui, agora usamos „trade“. Comprar“ para comprar 10 microlotes, o segundo parâmetro é para o símbolo; „NULL“, todas as letras maiúsculas nos darão o símbolo actual no gráfico, precisamos de pagar o preço Ask, o nosso stop loss será 300 pontos abaixo do preço actual, este parâmetro aqui é o nosso take profit, por isso quando o preço sobe 150 pontos acima do preço Ask actual, fecharemos a posição para obter um lucro, e o último parâmetro aqui é usado para passar um comentário, não preciso de um, mas se cortarmos o último parâmetro aqui e definirmos uma vírgula verá que poderia usar uma „string“ para passar um comentário e isso pode ser útil se quiser usar vários Expert Advisors num mesmo gráfico, mas eu não faço isso.
Na verdade, poderíamos separar aqui toda a declaração de compra para a tornar mais legível, vamos acrescentar alguns comentários aqui, este é o take profit e o último seria o comentário e ponto final.
Quando terminar, pode clicar no botão „Compile“ ou premir F7, não deve receber nenhum erro aqui e nesse caso pode clicar no pequeno botão aqui ou premir F4 para voltar a Metatrader.
Em Metatrader pretende clicar em: „View/ Strategy Tester“ ou prima CTRL e R, por favor escolha o ficheiro „SimpleBuyOrder.ex5“, active o modo visual aqui e inicie o teste.
…e agora deve ver a primeira vela em alta a abrir uma transacção de compra, por isso o nosso pequeno Expert Advisor está a trabalhar como esperado e agora sabe como abrir uma posição de compra para a Metatrader e codificou-a você mesmo com algumas linhas de código MQL5.