Ajuda para o MetaTrader 5Trading algorítmico, robôs comerciaisComo posso eu próprio criar um expert advisor ou um indicador

Como posso eu próprio criar um expert advisor ou um indicador

Para desenvolver sistemas de negociação, a plataforma tem a sua própria linguagem de programação MetaQuotes Language 5 (MQL5), o meio de desenvolvimento MetaEditor e instrumentos de teste de estratégias.

Qualquer informação sobre o desenvolvimento de estratégias de negociação na linguagem MQL5 pode ser encontrada no site oficial da MQL5.community. Nesse site, na seção Base de código, podem ser encontrados exemplos de aplicativos prontos.

Linguagem de programação built-in de estratégias de negociação MQL5 #

A plataforma de negociação tem uma linguagem embutida para programação de estratégias de negociação MetaQuotes Language 5. Essa é a quinta geração de linguagem MQL. Ela permite que você escreva experts para automatizar o gerenciamento de ações de negociação e implementar suas próprias estratégias de negociação. Além disso, você pode criar indicadores personalizados, scripts e bibliotecas de funções.

Características da linguagem MQL5:

  • Orientação de objetos;
  • A sintaxe da MQL5 é semelhante à da linguagem C++;
  • Um grande número de funções é necessário para a análise de cotações, gerenciamento de posições, execução de indicadores técnicos, etc.;
  • Alto desempenho;
  • Um elevado nível de proteção contra descompilação: algoritmos de criptografia novos e sofisticados, verificação de integridade de arquivos e complexidade da própria linguagem;
  • O suporte OpenCL permite o uso da placa gráfica para executar cálculos em programas MQL5;
  • O meio integrado de desenvolvimento de programas MetaEditor inclui um depurador.

Você poderá encontrar uma descrição detalhada de todas as funções e construções da linguagem no manual MQL5. Todas as informações sobre MQL5 podem ser encontradas no site da comunidade de desenvolvedores https://www.mql5.com.

Editor para criar os aplicativos de negociação do MetaEditor #

O MetaEditor é um meio para o desenvolvimento integrado na linguagem MQL5 que faz parte da plataforma de negociação. O MetaEditor permite criar, editar, compilar e depurar textos fonte de programas escritos na linguagem MQL5.

  • Assistente MQL5 para criar modelos e robôs de negociação
    O MetaEditor tem embutido o Assistente MQL5 para criar rapidamente programas MQL5. Graças ao Assistente MQL5, o trader, sem conhecimentos de programação, pode criar experts. Tudo o que você precisa de fazer é selecionar os sinais de negociação (que serão usados pelo expert), o algoritmo de gerenciamento e o trailing stop. O código do expert será gerado automaticamente com base nos parâmetros selecionados.
    Além disso, o Assistente MQL5 permite que você crie modelos de programas MQL5, o que facilita o trabalho do programador.
  • Assistência ao trabalhar com o código fonte
    O MetaEditor reconhece várias construções da linguagem: gera dicas sobre o uso de funções e destaca vários elementos de código do programa. Assim, o próprio editor simplifica a orientação no código dos programas de negociação e acelera o seu desenvolvimento.
  • Depuração de erros
    O MetaEditor permite efetuar a depuração de programas, tornando mais fácil a pesquisa de erros. Você pode depurar passo a passo o código fonte e seguir os valores das variáveis.
  • Criação de perfil para otimização do código
    No editor também está disponível a opção de criar um perfil. Você pode identificar as funções mais lentas no código fonte e otimizar ao máximo o trabalho dos programas de negociação.
  • Artigos sobre programação e biblioteca de códigos fonte
    Diretamente no editor, você pode encontrar muitos artigos instrutivos sobre programação na MQL5. Além disso, você tem acesso a uma enorme biblioteca de programas gratuitos para autotrading na forma de códigos fonte.
  • MQL5 Storage – depósito online com apoio do sistema de controle de versão
    O depósito oferece muitas vantagens: armazenamento seguro de arquivos, capacidade de restauração quando o seu computador sair do sistema, acesso ao seu código a partir de qualquer computador usando a conta da MQL5.community, possibilidade de trabalhar conjuntamente em projetos.

A descrição detalhada do MetaEditor é dada no manual desse programa. A descrição da linguagem MQL5 pode ser encontrada no manual interno, bem como no site oficial da MQL5.community.

Artigos sobre o desenvolvimento de aplicativos de negociação #

No site da MQL5.community está disponível uma extensa biblioteca de artigos sobre programação em MQL4/MQL5. Os artigos são um excelente material de ajuda para criar programas, eles cobrem muitas tarefas práticas de trading algorítmico. Novos artigos são publicados a cada semana.

Uma lista de todos os artigos disponíveis é exibida diretamente no MetaEditor. Para encontrar o material de interesse, use a pesquisa online.

Artigos sobre programação em MQL4/MQL5

Quais são os diferentes tipos de aplicativos na MQL5? #

Existem três tipos principais de aplicativos de negociação.

Expert Advisors

Os experts são sistemas mecânicos de negociação que permitem automatizar totalmente as atividades de análise e negociação para um desempenho eficiente nos mercados financeiros. Eles permitem que você realize rapidamente a análise técnica de dados de preços e, com base nos sinais recebidos, gerencie a atividade de negociação. Eles também ajudam a seguir com precisão a estratégia de negociação, eliminando o papel do fator emocional.

Todos os experts são armazenados na pasta /MQL5/Experts da plataforma de negociação.

Indicadores personalizados

Os indicadores personalizados são indicadores técnicos escritos por você e estão destinados à análise da dinâmica de preços. Na base dos algoritmos dos indicadores são construídas táticas de negociação e desenvolvidos experts. Os indicadores personalizados destinam-se apenas à análise da dinâmica de preços dos instrumentos financeiros. Os indicadores não podem negociar e não têm acesso aos gráficos.

Todos os indicadores são armazenados na pasta /MQL5/Indicators da plataforma de negociação.

Scripts

O script é um programa escrito em linguagem MQL5 destinado à execução única de qualquer ação. Um script pode executar tanto funções analíticas como de negociação. Ao contrário dos experts, os scripts são executados a pedido. Por outras palavras, se o expert trabalha quase em permanência, o script, tendo trabalhado uma vez, termina o trabalho por si.

Todos os scripts são armazenados na pasta /MQL5/Scripts da plataforma de negociação.

Serviços

Serviços permitem que você use suas próprias fontes de dados de preços para a plataforma – transfira preços de sistemas externos em tempo real, como os servidores de negociação das corretoras. Os serviços também podem ser usados para executar outras tarefas de manutenção em segundo plano.

Ao contrário de EAs, de indicadores e de scripts, os serviços não estão vinculados a um gráfico específico. Eles correm em segundo plano e trabalham automaticamente quando o terminal inicia (se eles não tiverem sido parados forçosamente).

Todos os serviços são armazenados na pasta /MQL5/Services da plataforma de negociação.

Dentro das pastas Experts, Indicators, Scripts e Services, os programas podem ser distribuídos por subpastas. Para isso, na janela "Navegador" será exibida a estrutura da sua colocação.

Como criar e executar um aplicativo de negociação #

Clique em "Criar Criar" no menu de contexto da janela "Navegador" na seção "Experts", "Indicadores" ou "Scripts". Para executar o MetaEditor você também pode pressionar F4.

Prosseguir com a criação de aplicativos de negociação

Depois disso, será executado o MetaEditor e nele se abrirá automaticamente o "Assistente MQL5". Ele permite gerar o modelo do programa desejado para que este comece a ser desenvolvido rapidamente. Por exemplo, vamos criar um simples script que exibirá no diário a entrada "Hello world".

O assistente MQL5 gera o modelo da aplicação

No modelo resultante escrevemos o código Print("Hello World"); e pressionamos F7 para obter o arquivo executável. O arquivo executável tem uma extensão EX5; somente esse tipo de arquivo pode ser executado na plataforma de negociação.

Compilação e seus resultados

Os resultados da compilação são exibidos no diário do editor.

Em conformidade com o tipo de programa, o código fonte foi salvo na pasta MQL5\Scripts\. Nessa mesma pasta foi criado o arquivo executável. Agora, você pode voltar para a plataforma de negociação e executar o script gerado.

Execução de um script na plataforma de negociação

As características do trabalho com programas de trading automatizados estão descritas na seção "Experts de negociação e indicadores personalizados".

Como alterar um aplicativo de negociação #

Para iniciar a edição de um robô de negociação ou indicador personalizado, clique em "Alterar Alterar" no seu menu de contexto na janela "Navegador" ou selecione-o e pressione "Enter". Além disso, será aberto o MetaEditor, no qual já está baixado o código fonte do indicador selecionado. Após a alteração do indicador você deve compilá-lo novamente (F7), caso contrário na plataforma será usada a versão anterior, sem alterações.

Como desligar aplicativos de negociação #

Há muitas maneiras de fechar o trabalho de um aplicativo de negociação na plataforma.

Robô de negociação

Indicador técnico personalizado

Script

  • Clique "Excluir" na janela "Lista de experts";
  • Altere o modelo do gráfico;
  • Altere o perfil, desde que nas configurações da plataforma esteja habilitada a opção correspondente;
  • Desligue a plataforma de negociação;
  • Feche o gráfico ao qual está fixado o expert;
  • Coloque outro expert no mesmo gráfico;
  • Clique em "Excluir expert Excluir" no menu de contexto com o ícone do expert no gráfico.
  • Clique "Excluir indicador Excluir" ou "Excluir janela do indicador Excluir a janela do indicador" no menu de contexto do indicador;
  • Clique "Excluir" na janela "Lista de indicadores";
  • Altere o modelo do gráfico;
  • Reabra o gráfico.
  • Clique "Excluir" na janela "Lista de experts". Essa janela contém também uma lista dos scripts que foram executados;
  • Altere o modelo do gráfico;
  • Altere o perfil, desde que nas configurações da plataforma esteja habilitada a opção correspondente;
  • Altere o símbolo do gráfico;
  • Altere o período do gráfico;
  • Desligue a plataforma de negociação;
  • Feche o gráfico ao qual está ligado o script;
  • Coloque outro script no mesmo gráfico;
  • Clique em "Excluir script Excluir" no menu de contexto do ícone do script no gráfico.
  • Se o aplicativo de negociação for executado no gráfico, a exclusão do arquivo executável correspondente, a partir da janela "Navegador", não conclui o seu trabalho.

Como executar arquivos de código fonte MQL5 #

Se você tem apenas o arquivo de código fonte (*.MQ5), coloque-o na pasta que corresponde ao tipo de aplicativo:

  • Para experts /MQL5/Experts
  • Para indicadores /MQL5/Indicators
  • Para scripts /MQL5/Scripts

Para encontrar rapidamente a pasta de armazenamento de informação da plataforma de negociação, clique em "Abrir diretório de dados Abrir diretório de dados" no menu "Arquivo".

Para executar o arquivo na plataforma de negociação, compile-o no MetaEditor:

  • Abra o MetaEditor com o botão F4.
  • No MetaEditor, na janela "Navegador, abra o arquivo de código fonte clicando nele duas vezes com o botão esquerdo do mouse.
  • O compile com o botão F7.

Como resultado, você irá receber o arquivo executável *.EX5, que pode executar na plataforma de negociação.

O arquivo fonte (*.MQ5) não é exibido na janela "Navegador" da plataforma de negociação.