Documentação de Linguagem de Negocaição Automatizada

Manual MQL5

A MetaQuotes Language 5 (MQL5) é uma linguagem de programação para indicadores técnicos, para robôs de negociação e para aplicativos auxiliares, providenciando automatização da negociação nos mercados financeiros. A MQL5 é uma linguagem moderna de alto nível desenvolvida pela MetaQuotes para a sua própria plataforma de negociação. A sintaxe da linguagem é tão próxima quanto possível da C++ e permite escrever programas no estilo da programação orientada a objetos (POO).

Para escrever programas em MQL5, a plataforma de negociação vem com o ambiente de desenvolvimento do MetaEditor que tem todo um conjunto de modernas ferramentas para escrita de códigos, incluindo modelos, trechos de código, depuração, criação de perfis, preenchimento automático e armazenamento de versão integrado MQL5 Storage.

O suporte e o desenvolvimento da linguagem são realizados no site da MQL5 Algotrading community. Nele existe uma extensa biblioteca de códigos gratuitos e muitos artigos. Estes artigos abrangem todos os tópicos da negociação moderna: redes neurais, estatísticas e análise, negociação de alta frequência, arbitragem, testes e otimização de estratégias de negociação, uso de robôs para automatizar a negociação e muito mais.

Traders e desenvolvedores de programas MQL5 podem interagir no fórum, realizar encomendas no serviço Freelance, comprar e vender programas seguros no Mercado - uma loja de aplicativos prontos para negociação automática.

A linguagem MQL5 contém funções de negociação especializadas e manipuladores de ventos pré-definidos para escrita de Expert Advisors. Os Expert Advisors gerenciam automaticamente os processos de negociação com base nas regras comerciais estabelecidas neles. Você também pode criar em MQL5 seus próprios indicadores técnicos, scripts e bibliotecas de funções.

O manual MQL5 contém - divididas por categorias - funções, operações, palavras reservadas e outras construções da linguagem. Além disso, permite encontrar a descrição de cada elemento da linguagem. Também o manual descreve as classes da Biblioteca padrão para criar estratégias de negociação, painéis de controle, gráficos personalizados e trabalhar com arquivos.

Separadamente do manual, o CodeBase dispõe de uma biblioteca de análise numérica ALGLIB que permite resolver inúmeros problemas matemáticos.

 
Manuais de algotrading

Começar a aprender algo novo nunca é fácil. Para ajudar os iniciantes, lançamos dois manuais sobre programação na linguagem MQL5, destinados a todos que desejam dominar a criação de robôs de negociação e aplicativos para trading algorítmico.

Nossos manuais oferecem aos leitores uma apresentação sistemática e estruturada do material, o que facilita bastante o processo de aprendizado do MQL5. Exemplos de código detalhados, que explicam passo a passo a criação de robôs de negociação e aplicativos, permitem compreender melhor e dominar as sutilezas do algotrading. Os livros contêm muitos exercícios práticos, que ajudarão a consolidar o conhecimento adquirido e a desenvolver habilidades de programação em condições reais de negociação.

"Programação em MQL5 para traders Manual de MQL5" – o manual mais completo e detalhado sobre MQL5, adequado para programadores de todos os níveis. Os iniciantes serão apresentados aos fundamentos: aprenderão as ferramentas de desenvolvimento e os conceitos básicos de programação. Criarão o primeiro programa, irão compilá-lo e executá-lo na plataforma de negociação MetaTrader 5. Usuários com experiência em programação em outras linguagens podem ir diretamente para a parte prática: as possibilidades do MQL5 para a criação de robôs de negociação e aplicativos analíticos.

"Redes neurais no algotrading com MQL5" – um guia sobre o uso de métodos de aprendizado de máquina na criação de robôs de negociação na plataforma MetaTrader 5. Você será apresentado sequencialmente aos fundamentos das redes neurais e suas possibilidades de aplicação no algotrading. À medida que avança, você criará e treinará sua própria inteligência artificial, adicionando gradualmente novas funções a ela. Além de estudar MQL5, você aprenderá a programar em Python e OpenCL, além de descobrir métodos integrados de matrizes e vetores, que permitem resolver problemas matemáticos complexos com código conciso e rápido.

 

Artigos sobre desenvolvimento de aplicativos de negociação

Um excelente guia para estudar todas as possibilidades da linguagem são os artigos sobre MQL5, que abordam muitas tarefas práticas relacionadas ao algotrading. Para facilitar a busca, todos os artigos são divididos por categorias: Exemplos, Expert Advisors, Aprendizado de Máquina e assim por diante. Todo mês, no site MQL5 Algotrading community são publicadas dezenas de novos artigos, escritos pelos próprios traders para outros traders. Leia e discuta os artigos, eles abordam todos os aspectos do algotrading moderno. Para os iniciantes, preparamos uma lista de 16 artigos recomendados para uma imersão rápida no MQL5.
 

Tipos de aplicativos em MQL5

A fim de executar tarefas específicas para automatizar operações de negociação, os programas MQL5 são divididos em cinco tipos especializados:

  • Expert Advisor – sistema de negociação automática que está ligado a um gráfico específico. O Expert Advisor contém as funções manipuladoras dos eventos predefinidos que, ao ocorrerem, desencadeiam os respectivos elementos da estratégia de negociação. Esses eventos podem ser a inicialização e a desinicialização do programa, a chegada de um novo tick, a ativação do temporizador, a mudança no livro de ofertas, nos eventos do gráfico e nos eventos do usuário.
    O Expert Advisor pode, além de calcular sinais de negociação segundo as regras estabelecidas, realizar trades automaticamente na conta de negociação, direcionando-os diretamente para o servidor de negociação. Os Expert Advisor são armazenados no <diretório_do_terminal>\MQL5\Experts.
  • Indicador personalizado – indicador técnico escrito pelo usuário, além dos indicadores já integrados na plataforma de negociação. Os indicadores personalizados, assim como os indicadores embutidos, não podem ser trocados automaticamente e se destinam apenas à implementação de funções analíticas. Os indicadores personalizados podem usar os valores de outros indicadores em seus cálculos, e eles próprios podem ser chamados nos próprios Expert Advisors.
    Os indicadores personalizados são armazenados no <diretório_do_terminal>\MQL5\Indicators.
  • Script – programa projetado para a execução única de certa ação. Ao contrário dos Expert Advisors, os scripts não lidam com eventos, exceto com aqueles que são de inicialização e desinicialização. Para executar o script em seu código, deve haver uma função manipulador OnStart. Os scripts são armazenados no <diretório_do_terminal>\MQL5\Scripts.
  • Serviço — um programa que, ao contrário de indicadores, EAs e scripts, não estão vinculados a um gráfico para o seu trabalho. Como os scripts, os serviços processam apenas eventos de inicialização. Para executar o serviço em seu código, deve estar presenta uma função manipulador OnStart. Os serviços aceitam apenas o evento o Start, mas podem enviar aos gráficos eventos personalizados usando EventChartCustom. Os serviços são armazenados no diretório <diretório_do_terminal>\MQL5\Services.
  • Biblioteca – biblioteca de funções personalizadas projetada para armazenar e distribuir blocos - usados com frequência - de programas do usuário. As bibliotecas não podem ser executadas por conta própria.
    As bibliotecas são armazenadas no <As bibliotecas não podem ser executadas por conta própria.>\MQL5\Libraries
  • Arquivo de inclusão – código fonte de blocos - usados com frequência - de programas do usuário. Esses arquivos podem ser incluídos nos códigos fonte de Expert Advisors, de scripts, de indicadores personalizados e de bibliotecas durante fase de compilação. Devido à sobrecarga adicional ao chamar funções de biblioteca, é melhor usar arquivos de inclusão do que bibliotecas.
    Arquivos de inclusão podem estar no mesmo diretório que o código fonte, neste caso é usada a diretiva #include com aspas duplas. Outro local para armazenar os arquivos de inclusão está no <diretório_do_terminal>\MQL5\Include, neste caso, é utilizada a diretiva #include com colchetes angulares.

 

© 2000-2024, MetaQuotes Ltd