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 MQL5 para Metatrader5 podemos criar um Expert Advisor para negociar e abrir automaticamente ordens, neste caso estamos a definir uma paragem de venda como ordem pendente, directamente no nosso gráfico forex…
Neste vídeo vamos definir uma paragem de venda que é uma ordem pendente. Não o vê neste momento, mas quando fazemos zoom no gráfico vemos que temos uma ordem pendente muito abaixo do preço actual, por isso vamos descobrir como fazer isso com a MQL5.
Começamos por clicar no pequeno botão aqui, pode também premir F4 no seu teclado. Agora deve ver a janela do Metaeditor e aqui quer clicar: „File/ New/ Expert Advisor (modelo)“ do modelo, „Continue“, eu chamarei este ficheiro: „SimpleSellStop“, clique em: „Continuar“, „Continuar“ e „Terminar“.
Agora podemos apagar tudo acima da função „OnTick“ e as duas linhas de comentário aqui.
Estamos a afirmar ao importar o ficheiro: „Trade.mqh“, este vem com MQL5 e fornece várias funções comerciais, por isso vamos criar uma instância de „CTrade“ que será chamada: „trade“ e vamos utilizá-lo mais tarde para abrir a nossa paragem de venda.
Primeiro precisamos de obter o preço de licitação, que é feito usando „SymbolInfoDouble“ para o símbolo actual no gráfico, usamos „SYMBOL_BID“ – tudo em maiúsculas – e também gosto de usar „NormalizeDouble“ e „_Digits“ que nos dará o número certo de dígitos por detrás do ponto, neste caso seriam 3 dígitos enquanto outros pares de moedas têm 5 dígitos e para este simples exemplo quero apenas verificar uma coisa, que é se não tivermos ordens ou posições abertas, por isso usamos „OrdersTotal“ e se isso for igual a 0 (zero) isso significa que não temos ordens pendentes e „PositionsTotal“ irá entregar-nos o número de posições abertas e se isso for também 0 (zero) não temos ordens e não temos posições. Uma ordem é algo que se coloca no mercado e, uma vez executada, torna-se uma posição.
E agora queremos usar „trade.SellStop“ para colocar a nossa ordem pendente, temos de passar vários parâmetros, por isso vamos passar por eles um a um;
O primeiro aqui é para o tamanho do lote, vamos abrir uma ordem pendente para 10 microlote.
O segundo é para o preço de entrada, queremos entrar assim que o preço for 200 pontos abaixo do preço actual da Oferta – é aí que colocamos a ordem pendente.
O símbolo „_Symbol“ dar-nos-á o par de moedas que está no nosso gráfico, no meu caso é o dólar euro-americano.
Este parâmetro aqui poderia ser usado para definir um stop loss, eu não uso esse mas tenho um take profit, por isso quando o preço é 200 pontos abaixo do preço actual do Bid entraremos e quando vai para 400 pontos abaixo do preço actual do Bid teremos o nosso lucro.
„ORDER_TIME_GTC“ significa a data de expiração, GTC significa que „é bom até ao cancelamento“, pelo que a ordem não expirará. Pode especificar que só é válido para o dia actual (ORDER_TIME_DAY) e também pode definir uma hora e data (ORDER_TIME_SPECIFIED) mas não o fazemos, pelo que o parâmetro seguinte para a hora de expiração é também 0 (zero).
E este está realmente errado, seria correcto escrever „NULL“ – todas as letras maiúsculas – porque o último parâmetro é um valor string, se quiser definir um comentário para identificar o Expert Advisor no seu gráfico poderia usar algo do género: „o meu comentário“ aqui e é sobre isso.
Portanto, vamos clicar no botão „Compile“ ou pressionar F7, não vemos aqui nenhum erro e não temos nenhum aviso e se for esse o caso, pode clicar no pequeno botão aqui ou pressionar F4 para voltar a Metatrader.
Em Metatrader pretende clicar em: „View/ Strategy Tester“ ou pode premir CTRL e R. Dentro do „Strategy Tester“ escolha por favor o novo ficheiro: „SimpleSellStop.ex5“, marque aqui a opção de visualização e inicie um teste.
Aqui estamos nós…
Esta é a nossa ordem pendente, aqui está a nossa sequência de comentários, por isso vamos ampliar e aqui está a ordem pendente e neste pequeno vídeo aprendeu como colocar uma paragem de venda automática com MQL5 e codificou-a você mesmo com algumas linhas de código MQL5.