APRENDER O TUTORIAL BÁSICO MQL5 – 13 COMO ABRIR UMA COMÉRCIO DE VENDA 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 MQL5 para Metatrader5 criamos um EXPERT ADVISOR para negociação automatizada sempre que uma nova vela de baixa aparece no gráfico forex. Demora apenas 5 minutos a codificá-la.
Neste vídeo vamos descobrir como criar uma ordem de venda, sempre que a primeira vela vermelha aparecer no gráfico, por isso vamos descobrir como fazer isso com a MQL5.
Primeiro clique no pequeno botão aqui ou prima F4 no seu teclado, agora deve ver a janela do Metaeditor e aqui quer clicar: „File/ New/ Expert Advisor (template)“ do template, „Continue“, eu chamarei este ficheiro: „SimpleSellOrder“, clique em „Continue“, „Continue“ e „Finish“.
Agora pode remover tudo acima da função „OnTick“ e vamos também remover aqui as duas linhas de comentário.
Começamos por criar uma instância de „CTrade“, pelo que incluímos o ficheiro: „Trade.mqh“, este vem com MQL5 e fornece funções de comércio simplificadas, por isso vamos criar uma instância chamada: „trade“, que vamos utilizar mais tarde para abrir o nosso comércio de venda.
Quando vendemos algo precisamos de descobrir o preço de licitação, isso é feito com „SymbolInfoDouble“ para o símbolo actual no gráfico; este é do último tutorial, na verdade precisamos de „SYMBOL_BID“ aqui, vêem-se aqui as letras maiúsculas constantes e quando eu marco „SYMBOL_BID“ e carrego em F1 aprendemos que vamos receber a oferta de venda e é disso que precisamos.
„NormalizeDouble“ e „_Digits“ é usado porque temos alguns pares de moedas com três dígitos atrás do ponto enquanto outros têm cinco dígitos atrás do ponto, „NormalizeDouble“ é uma forma de dizer à MQL5 quantos dígitos queremos e „_Digits“ é uma forma de calcular automaticamente o número de dígitos que precisamos para este par de moedas em particular.
Vamos continuar com „MqlRates“ e „MqlRates“ tem toda a informação sobre preços, volumes e spread e armazená-la-emos numa matriz que é chamada: „PriceInfo“, vamos usar „ArraySetAsSeries“ para ordenar a matriz (PriceInfo) da vela actual para baixo e agora podemos usar „CopyRates“ para preencher a nossa matriz (PriceInfo) com dados de preços para o símbolo actual no gráfico e o período actualmente seleccionado, começamos com a vela 0 (zero) – que é a vela actual – e usamos os dados de preços para 3 velas e armazenamo-los na matriz „PriceInfo“.
Para este exemplo muito simples só precisamos de dados para a vela 1 porque vamos descobrir se o preço fechado da vela 1 na nossa matriz de informações de preços (PriceInfo) está abaixo do preço aberto da vela 1 na matriz de informações de preços (PriceInfo), é o caso aqui; o preço de abertura era mais alto do que o preço fechado, por isso a vela está vermelha.
Vamos verificar outra condição porque só queremos abrir uma nova posição quando não temos outras posições abertas, por isso se „PositionsTotal“ for igual a 0 (zero) – isso significaria que não temos outras posições abertas – e, nesse caso, vamos vender.
Para o fazer, usamos „trade.Sell“, lembrem-se que esta é a instância que criámos aqui, precisamos de passar alguns parâmetros.
O primeiro é para o tamanho do lote, quanto é que vamos vender.
O segundo é para todas as letras maiúsculas para o par de moedas actual.
O parâmetro seguinte é o preço actual do Bid, usamos o preço Bid porque vamos vender, se quisermos comprar algo, usaremos o preço Ask e eu gostaria de ter um stop loss que é 300 pontos acima do preço Bid, esse é o parâmetro 4 e eu gostaria de ter o take profit 150 pontos abaixo do preço Bid.
O último parâmetro não tem valor no meu caso, poderia usá-lo como um comentário e passar uma variável de string, raramente o faço, mas se usar vários Consultores Especialistas no mesmo gráfico que possa ser interessante.
Está bem, é tudo até agora. Por favor clique no botão „Compile“ aqui e agora não deve receber erros nem avisos e nesse caso clique no pequeno botão aqui ou prima F4 para voltar a Metatrader.
E em Metatrader clique em: „View/ Strategy Tester“ ou prima CTRL e R, vamos escolher o novo ficheiro: „SimpleSellOrder.ex5“, marcar aqui a opção de visualização e iniciar um teste.
Aqui estamos nós, até agora apenas velas em alta, aqui está a primeira vela vermelha e agora temos uma venda automática, por isso o nosso pequeno Expert Advisor trabalha e neste pequeno vídeo aprendeu como usar MQL5 para abrir uma venda automática quando a primeira vela vermelha no gráfico aparece e codificou-a você mesmo com algumas linhas de código MQL5.