APRENDER O TUTORIAL BÁSICO MQL5 – 15 COMO FAZER UMA SIMPLES PARADA DE COMPRA

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.

 

Desta vez usamos a MQL5 para colocar uma paragem de compra com um Expert Advisor automatizado acima do preço pedido actual no nosso gráfico Forex com apenas algumas linhas de código MQL5…

Neste vídeo, vamos falar de uma paragem de compra. Não o vê aqui mas quando fizer zoom no gráfico verá que colocámos uma ordem pendente acima do preço actual de mercado, ela será executada quando o preço cruzar esta linha verde aqui, por isso vamos descobrir como fazer isso com e MQL5.
Por favor clique no pequeno botão aqui ou prima F4 no seu teclado. Agora deve ver a janela do Metaeditor e aqui clicamos: „File/ New/ Expert Advisor (modelo)“ do modelo, „Continue“, eu chamarei este ficheiro: „SimpleBuyStop“, clique em: „Continue“, „Continue“ e „Finish“.
Removemos tudo o que está acima da função „OnTick“ e vamos também apagar as duas linhas de comentário. Em primeiro lugar, precisamos de importar o ficheiro: „Trade.mqh“, este vem com MQL5, contém funções de comércio e agora usamo-lo para criar uma instância da classe „CTrade“ que será chamada: „trade“ e vamos usá-lo para abrir a nossa paragem de compra mais tarde.
Para abrir uma paragem de compra precisamos de saber o preço Ask que é calculado usando „SymbolInfoDouble“ para o símbolo actual, o segundo parâmetro é „SYMBOL_ASK“ para obter o preço Ask. De acordo com a Referência „SYMBOL_ASK“ dar-nos-á a melhor oferta de compra. Gosto de usar „NormalizeDouble“ e „_Digits“ para obter o preço Ask com cinco dígitos ou três dígitos, dependendo do par de moedas que eu utilizar.
Vamos acrescentar aqui uma condição simples; quero verificar se não temos encomendas em aberto nem posições em aberto. „OrdensTotal“ irá entregar o número de ordens, uma ordem é algo que se coloca no mercado que se pode tornar uma posição e „PositionsTotal“ irá entregar o número de posições existentes onde essas ordens foram executadas, esta ainda é uma ordem porque não foi executada até agora, mas uma vez atingido o preço que definimos, a ordem tornar-se-á uma posição.
Se as minhas condições forem verdadeiras, quero colocar uma paragem de compra e aqui está como o fazemos; usamos „trade.BuyStop“ com alguns parâmetros;
O primeiro parâmetro é para o tamanho do lote, o segundo parâmetro é para o nível de preço. Queremos comprar quando o preço sobe 200 pontos em relação ao preço Ask actual.
Este terceiro parâmetro é para o par de moedas e „_Symbol“ irá entregar o par de moedas corrente no gráfico, no meu caso é o australiano contra o dólar canadiano.
Este seria para o stop loss, não defini aqui um stop loss, e poderia ser algo como 100 pontos acima do preço Ask. Defini um take profit e gostaria de fechar a posição para um lucro quando o preço sobe 400 pontos em relação ao actual preço Ask que seria 200 pontos de lucro porque a entrada é executada 200 pontos acima do preço Ask.
O parâmetro seguinte é a data em que gostaríamos de fechar a ordem pendente. „ORDER_TIME_GTC“ significa „bom até cancelarmos a ordem“, „ORDER_TIME_DAY“ seria „bom até ao fim do dia“ e poderia também especificar (ORDER_TIME_SPECIFIED) uma hora e data, nesse caso utilizaria o parâmetro seguinte para definir uma hora de expiração, nós não fazemos isso.
O último parâmetro seria um comentário, eu não uso um, por isso uso „NULL“, todas as letras maiúsculas aqui. Na verdade, eu também poderia alterar isso; digamos: „O meu comentário“.
Na verdade, já terminámos, por isso clique no botão „Compile“ e, se não receber nenhum erro, pode clicar aqui ou pressionar F4 para voltar a Metatrader.
E em Metatrader, por favor clique em: „View/ Strategy Tester“ ou prima CTRL e R, agora deve ver o painel „Strategy Tester“ e aqui quer escolher o ficheiro: „SimpleBuyStop.ex5“, por favor active a visualização aqui e inicie um teste.
E isto é o que deve parecer, aqui está realmente o nosso novo comentário, a paragem de compra foi colocada mas não foi executada até agora, é para 10 microlotes, aqui está o preço que definimos e o take profit é na verdade 200 pontos acima do preço de entrada e se fizer zoom no gráfico verá que a paragem de compra está aqui, por isso o nosso pequeno Expert Advisor está a trabalhar e neste pequeno vídeo aprendeu como colocar automaticamente uma paragem de compra acima do preço actual Ask e codificou-a você mesmo com algumas linhas de código MQL5.