Fechar todas as ordens abertas se um de 2 preços for alcançado

 

Boas,

Eu não sei programar nem para mt4 nem para a mt5. No entanto, a minha estratégia necessita que certas tarefas sejam automáticas. Preciso de um EA que feche todas as ordens (abertas ou pendentes) se um de dois preços previamente definidos for alcançado. Na minha cabeça isto parece ser um código muito simples, só que eu precisava primeiro testar uma coisa e sei que um programador faz isto numa questão de minutos mesmo. Eu sei programar mas é em outras linguagens e para dizer a verdade já não escrevo uma linha de código já à muito tempo... Mas, peço mais a ajuda para evitar erros, essencialmente.

Obrigado.

 

Olá Fabio.

Escrever um pequeno trecho de código que feche todas as ordens quando acontecer algum evento é relativamente rápido. Aqui neste link você pode encontrar um código aberto e gratuito que faz isso quando o usuário clica um botão.

Porém, construir e testar um EA completo e funcional, que executa uma estratégia especificada por você gerenciando ordens, posições, margem, saldo, etc. e tratando situações de exceção (rejeição de ordem, execução parcial de ordem, falha de comunicação, etc.) não é nada trivial, é uma tarefa de muitas horas ou mesmo dias, dependendo da complexidade.

Você tem 2 caminhos para isso:

1) Estudar a documentação MQL5, que fornece todas as informações necessárias para que uma pessoa que já tenha uma experiência sólida em programação consiga construir sozinha o seu próprio robô.

2) Contratar o serviço de um profissional free-lancer, para construir um robô conforme as suas especificações ou para ajudar você a construí-lo, se quiser fazer "a 4 mãos" para aprender.

Abraços! 

 
Fábio Linhares:

Boas,

Eu não sei programar nem para mt4 nem para a mt5. No entanto, a minha estratégia necessita que certas tarefas sejam automáticas. Preciso de um EA que feche todas as ordens (abertas ou pendentes) se um de dois preços previamente definidos for alcançado. Na minha cabeça isto parece ser um código muito simples, só que eu precisava primeiro testar uma coisa e sei que um programador faz isto numa questão de minutos mesmo. Eu sei programar mas é em outras linguagens e para dizer a verdade já não escrevo uma linha de código já à muito tempo... Mas, peço mais a ajuda para evitar erros, essencialmente.

Obrigado.

Olá!

A linguagem MQL5 pode ser extremamente simples. Primeiramente gostaria de esclarecer que:

- Ordens (orders): são aquelas que são enviadas, mas estão pendentes de execução.;

- Posições (positions): oriundas de ordens executadas;

- Negócios (deals): constituídas de entradas e saídas respectivas.

Mas recomendo ler a seguinte página atentamente. Ter experiência na conta de demonstração durante pregão aberto ajuda bastante!

https://www.metatrader5.com/pt/mobile-trading/android/help/trade/general_concept/order_types

Tipos de Ordens - Princípios Gerais - MetaTrader 5
Tipos de Ordens - Princípios Gerais - MetaTrader 5
  • www.metatrader5.com
A plataforma móvel MetaTrader 5 permite aos usuários preparar e emitir solicitações à corretora para executar operações de negociação. Além disso, a plataforma permite controlar e gerenciar as posições em aberto. Para isso, são usados ​​vários tipos de ordens de negociação. Um ordem é uma instrução do cliente de uma corretora para realizar uma...