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 e Metatrader5 criamos um simples Expert Advisor para colocar uma ordem de limite de venda automatizada. Esta EA pode ser codificada em cerca de 5 minutos.
Neste vídeo, vamos definir um limite de venda.
Um limite de venda é uma ordem pendente muito acima do preço actual de licitação, por isso vamos descobrir como fazer isso com a MQL5.
Em Metatrader primeiro precisamos de clicar num pequeno símbolo aqui ou pressionar F4. Agora deve ver a janela do Metaeditor e aqui quer clicar em: „File/ New/ Expert Advisor (template)“ do template, „Continue“, eu chamarei este ficheiro: „SimpleSellLimit“, clique em: „Continuar“, „Continuar“ e „Terminar“.
Agora podemos apagar tudo o que está acima da função „OnTick“ e vamos também remover as duas linhas de comentário aqui.
Estamos a afirmar com uma importação, incluímos o ficheiro: „Trade.mqh“, este vem com MQL5 e Metatrader 5 e usamo-lo para criar uma instância de „CTrade“ que será chamada: „trade“ e vamos usá-lo mais tarde para abrir o nosso limite de venda.
Primeiro precisamos de descobrir o preço actual do Bid, fazemo-lo usando „SymbolInfoDouble“; „_Symbol“ é o primeiro parâmetro, „SYMBOL_BID“ – todos em maiúsculas – é o segundo parâmetro, „NormalizeDouble“ e „_Digits“ que calculará automaticamente o número de dígitos atrás do ponto, pelo que para este par de moedas retornaria três dígitos atrás do ponto enquanto outros pares de moedas retornariam cinco dígitos atrás do ponto.
Agora que temos o preço de compra, precisamos de verificar outra condição; gostaria de saber se temos alguma ordem aberta ou posições abertas, por isso se „OrdersTotal“ for igual a 0 (zero) isso significaria que não temos outra ordem pendente e se „PositionsTotal“ for igual a 0 (zero) isso significa que não temos posições abertas e, nesse caso, queremos definir o nosso limite de venda, por isso vamos adicionar aqui duas chaves encaracoladas, podemos usar „trade.SellLimit“ porque criámos uma instância chamada: „trade“ e precisamos de passar alguns parâmetros aqui;
O primeiro parâmetro aqui é para o tamanho do lote, vamos abrir um limite de venda para 10 microlote,
O segundo parâmetro é o preço, o nosso limite de venda deve ser aberto sempre que o preço aumente 200 pontos acima do preço actual da Proposta,
O parâmetro 3 será utilizado para obter automaticamente o símbolo actual no gráfico, no meu caso é o dólar euro-americano,
O parâmetro seguinte seria o stop loss, poderia ser definido para mais de 200 pontos acima do preço actual da Proposta, mas neste caso não o uso, por isso uso 0 (zero), o que usamos é o take profit, queremos fechar a posição quando o preço cai de 200 pontos acima do preço da Proposta para 100 pontos acima do preço da Proposta, „ORDER_TIME_GTC“ significa „ORDER_TIME_GTC“: „it is good until we cancel the order“, „ORDER_TIME_DAY“ seria utilizado se desejar colocar uma ordem que seja apenas para o dia de negociação actual, isto também é tudo em letras maiúsculas. Não temos data de expiração e por isso não temos tempo de expiração, por isso este parâmetro também é 0 (zero).
E o último poderia ser usado para definir um comentário, se não passar uma variável string aqui pode usar „NULL“ – isto também está em maiúsculas – e nós usamo-lo em vez de um valor string, é basicamente isso, por isso quando terminar pode clicar no botão „Compile“ aqui ou pressionar F7, não deve receber nenhum erro e se for esse o caso pode clicar num pequeno botão aqui ou pressionar F4 para voltar ao Metatrader.
Em Metatrader, por favor clique em: „View/ Strategy Tester“ ou carregue em CTRL e R, aqui queremos escolher o novo ficheiro: „SimpleSellLimit.ex5“, marque por favor a opção de visualização aqui e inicie um teste.
Agora o Expert Advisor está a correr e podemos ver aqui o nosso limite de venda, é para 10 micro lotes e quando fazemos zoom no gráfico vemos que está muito acima do preço actual do Bid e neste pequeno vídeo aprendeu como definir automaticamente um limite de venda e codificou-o você mesmo com algumas linhas de código MQL5.