APRENDA O TUTORIAL BÁSICO MQL5 – 26 COMO CODIFICAR UMA COMPRA SIMPLES TRAILING STOP

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 utilizamos MQL5 e Metatrader5 para criar uma paragem automatizada de rastreio para as operações de compra. Sempre que o preço subir, ajustará o trailing stop para qualquer posição de compra em aberto nesse gráfico.

Neste vídeo queremos criar um stop móvel como este, o stop móvel é móvel sempre que o preço sobe, por isso vamos descobrir como fazer isso.
Para começar, por favor clique aqui num pequeno ícone 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: „SimpleBuyTrailingStop“, clique em „Continue“, „Continue“ e „Finish“.
Agora pode apagar tudo acima da função „OnTick“ e, por favor, remova também as duas linhas de comentário aqui.
Começamos por incluir „Trade.mqh“, este ficheiro dar-nos-á funções comerciais simplificadas, e começamos por criar uma instância de „CTrade“ que será chamada: „trade“ e estamos a utilizá-lo para abrir uma função de teste no nosso caso.
Para tal, precisamos de obter o preço Ask, que é feito usando „SymbolInfoDouble“, para o símbolo actual (_Symbol), usamos „SYMBOL_ASK“ – tudo em maiúsculas – e com „NormalizeDouble“ e „_Digits“ obteremos 3 ou 5 dígitos atrás do ponto, dependendo do par de moedas que tivermos no gráfico.
Assim, vamos descobrir se não temos posições abertas, isso seria verdade quando „PositionsTotal“ é igual a 0 (zero) e nesse caso, vamos abrir uma posição de compra usando „trade.Buy“, vamos comprar 10 microlotes.
Esta é apenas uma posição de teste para este caso porque precisamos de uma posição para descobrir se a paragem móvel realmente funciona, não o faria numa conta real sem qualquer sinal de entrada e, finalmente, queremos verificar a paragem móvel para a nossa posição.
Neste caso estamos a usar o preço Ask como parâmetro e agora precisamos de criar a função check trailing stop (CheckTrailingStop), esta tomará o preço Ask e agora usamo-lo para calcular a perda do stop, queremos que seja 150 pontos abaixo do preço Ask actual e como é possível ter mais de uma posição no gráfico usamos „PositionsTotal“ e um loop „for“ para percorrer todas as posições abertas.
Primeiro queremos descobrir se a posição pertence ao símbolo certo, por isso usamos „PositionGetSymbol“ para o número da posição actual para obter o símbolo e se o símbolo do par de moedas actual (_Symbol) é igual ao símbolo da posição (símbolo), temos uma posição que precisa de ser modificada.
E agora obtemos o bilhete de posição (PositionTicket) utilizando „PositionGetInteger“.
Um bilhete de posição identificará a nossa posição; é como uma chapa de matrícula.
Também queremos calcular o stop loss actual para a posição que é feita usando „PositionGetDouble“, „POSITION_SL“ dar-nos-á o stop loss, se marcar isso e premir F1 verá que também é possível obter o volume da posição (POSITION_VOLUME) ou o valor do take profit (POSITION_TP) e outras propriedades da posição, mas só queremos verificar se o stop loss actual está abaixo do stop loss desejado e se este é o caso, usamos „trade“. PositionModify“ para o bilhete de posição (PositionTicket) que calculámos aqui e agora aumentamos o stop loss actual em 10 pontos.
Finalmente queremos fechar o loop „se“, o loop „para“ e a função e se não compreender o que todo o código faz ou se isto foi demasiado rápido para si, talvez queira ver os outros vídeos desta série básica ou talvez até queira tornar-se cliente para o curso premium.
Caso contrário, por favor clique no botão „Compile“ agora, não deve receber nenhum erro aqui e nesse caso pode clicar num pequeno botão aqui ou pressionar F4 para voltar ao Metatrader.
Em Metatrader usamos um gráfico vazio sem quaisquer Indicadores, clicamos em: „Templates/ Save Template“ (Modelos/Guardar Modelo) e guardá-lo como: „tester.tpl“ porque este é o modelo que vai ser usado no backtest, por isso vamos substituir o actual, clique em: „View/ Strategy Tester“ ou prima CTRL e R, por favor escolha o novo ficheiro: „SimpleBuyTrailingStop.ex5“ e iniciar um teste.
Aqui estamos nós!
A nossa paragem móvel está realmente a funcionar e neste pequeno vídeo aprendeu como codificar uma paragem móvel de compra e fê-lo você mesmo com algumas linhas de código MQL5.