Artigos sobre programação nas linguagens MQL4 e MQL5

icon

Leia os artigos publicados aqui para aprender MQL5, a linguagem das estratégias de negociação. A maioria desses artigos foi escrita por vocês, membros da MQL5.community. Todos eles estão divididos em categorias para encontrar respostas rápidas relacionadas a aspectos específicos da programação: "Integração", "Testador", "Estratégias de negociação" e muito mais.

Acompanhe as novas publicações e participe de suas discussões no Fórum!

Novo artigo
recentes | melhores
Como Assinar Sinais de Negociação
Como Assinar Sinais de Negociação

Como Assinar Sinais de Negociação

O serviço de sinais introduz a negociação social para o MetaTrader 4 e o MetaTrader 5. O serviço está integrado na plataforma de negociação, e permite que qualquer pessoa possa copiar facilmente negociações de traders profissionais. Selecione qualquer um dos milhares de provedores de sinais, assinar em poucos cliques e os negócios do fornecedor serão copiadas em sua conta.
preview
Uso dos recursos no MQL5

Uso dos recursos no MQL5

Os programas MQL5 não apenas automatizam os cálculos de rotina, mas também podem criar um ambiente gráfico com muitos recursos. As funções para criar controles realmente interativos são agora virtualmente de mesmo valor que aqueles nas linguagens clássicas de programação. Se você quiser escrever um programa independente completo no MQL5, use recursos nele. Programas com recursos são mais fáceis de manter e distribuir.
preview
Princípios básicos dos testes no MetaTrader 5

Princípios básicos dos testes no MetaTrader 5

Quais são as diferenças entre os três modos de teste no MetaTrader 5 e o que deve ser especialmente buscado? Como o teste de um EA, negociando simultaneamente em múltiplos instrumentos, acontece? Quando e como os valores dos indicadores são calculados durante o teste e como os eventos são manuseados? Como sincronizar as barras a partir de diferentes instrumentos durante o teste no modo "apenas preços abertos"? Este artigo tem como objetivo fornecer respostas a estas e muitas outras questões.
preview
Eventos de negociação no MetaTrader 5

Eventos de negociação no MetaTrader 5

Um monitoramento do estado atual de uma conta de negócio implica no controle das posições abertas e ordens. Antes de um sinal de negócio se tornar um negócio, ele deve ser enviado a partir de um terminal de cliente como uma solicitação para o servidor de negócio, onde será posicionado na fila de ordem aguardando ser processado. Aceitação de uma solicitação por um servidor de negócio, a excluindo quando expirar ou realizando um negócio em sua base - todas essas ações são seguidas por eventos de negócio; e o servidor de negócio informa o terminal sobre eles.
preview
Ordens, posições e negócios no MetaTrader 5

Ordens, posições e negócios no MetaTrader 5

A criação robusta de um robô de negócio não pode ser feita sem um entendimento dos mecanismos do sistema de negócio do MetaTrader 5. O terminal do cliente recebe as informações sobre as posições, ordens e negócios a partir do servidor de negócio. Para manipular estes dados adequadamente utilizando o MQL5, é necessário ter um bom entendimento da interação entre o programa MQL5 e o terminal do cliente.
Guia para testes e otimização de Expert Advisors no MQL5
Guia para testes e otimização de Expert Advisors no MQL5

Guia para testes e otimização de Expert Advisors no MQL5

Este artigo explica o processo passo-a-passo de identificação e solução de erros de código, assim como os passos para testar e otimizar os parâmetros de entrada do Expert Advisor. Você aprenderá como utilizar o Strategy Tester do terminal do cliente MetaTrader 5 para descobrir o melhor símbolo e definição dos parâmetros de entrada para seu Expert Advisor.
Sistemas de negociação adaptativos e seu uso no terminal do cliente do MetaTrader 5
Sistemas de negociação adaptativos e seu uso no terminal do cliente do MetaTrader 5

Sistemas de negociação adaptativos e seu uso no terminal do cliente do MetaTrader 5

Este artigo sugere uma variável de um sistema adaptativo que consiste em várias estratégias, cada uma realizando suas operações de negociação "virtuais". Negociações reais são realizadas de acordo com os sinais da estratégia mais rentável no momento. Obrigado por utilizar a abordagem orientada a objeto, classes para trabalhar com dados e classes de negociação da biblioteca padrão, a arquitetura do sistema pareceu ser simples e escalável; agora você pode facilmente criar e analisar os sistemas adaptativos que incluem centenas de estratégias de negociação.
OOP no MQL5 por exemplo: Processando os avisos e os códigos de erro
OOP no MQL5 por exemplo: Processando os avisos e os códigos de erro

OOP no MQL5 por exemplo: Processando os avisos e os códigos de erro

O artigo descreve um exemplo de criação de classe para trabalho com os códigos de retorno do servidor de negócio e todos os erros que ocorrem durante a execução do programa MQL. Leia o artigo e você aprenderá como trabalhar com classes e objetos no MQL5. Ao mesmo tempo, esta é uma ferramenta conveniente para manipular erros; e você ainda pode mudar esta ferramenta de acordo com suas necessidades específicas.
Aplicação prática de bancos de dados para análise de mercado
Aplicação prática de bancos de dados para análise de mercado

Aplicação prática de bancos de dados para análise de mercado

Trabalhar com dados se tornou a tarefa principal para o software moderno - tanto para aplicativos autônomos quanto para os de rede. Para solucionar esse problema um software especializado foi criado. São sistemas de gerenciamento de banco de dados (DBMS) que podem estruturar, sistematizar e organizar dados para seu armazenamento e processamento. Quanto aos negócios, a maioria dos analistas não utiliza bancos de dados em seu trabalho. Mas existem tarefas para as quais essa solução teria que ser útil. Este artigo fornece um exemplo de indicadores que podem salvar e carregar dados da partir de bancos de dados com ambas arquiteturas cliente-servidor ou arquivo-servidor.
Transferindo indicadores do MQL4 para o MQL5
Transferindo indicadores do MQL4 para o MQL5

Transferindo indicadores do MQL4 para o MQL5

Este artigo é dedicado às peculiaridades da transferência de construções de preço escritas no MQL4 para MQL5. Para facilitar o processo de transferência de cálculos do indicador do MQL4 para MQL5, é sugerida a biblioteca de funções mql4_2_mql5.mqh. Sua utilização é descrita com base na transferência de indicadores RSI, estocásticos e MACD.
Criando um jogo de "Snake" no MQL5
Criando um jogo de "Snake" no MQL5

Criando um jogo de "Snake" no MQL5

Este artigo descreve um exemplo da programação do jogo "Snake". No MQL5, a programação do jogo tornou-se possível principalmente por causa dos recursos de manuseio de evento. A programação orientada a objeto simplifica em muito este processo. Neste artigo, você aprenderá os recursos de processamento de eventos, os exemplos de uso de classes da Biblioteca MQL5 Padrão e detalhes das chamadas de função periódica.
Conexão do Expert Advisor com ICQ no MQL5
Conexão do Expert Advisor com ICQ no MQL5

Conexão do Expert Advisor com ICQ no MQL5

Este artigo descreve o método de troca de informação entre o Expert Advisor e os usuários do ICQ, são apresentados vários exemplos. O material fornecido será interessante para aqueles que queiram receber informações de negócio remotamente de um terminal de cliente através de um cliente ICQ em seus celulares ou PDA.
Criando Painéis de Controle Ativo no MQL5 para Negociação
Criando Painéis de Controle Ativo no MQL5 para Negociação

Criando Painéis de Controle Ativo no MQL5 para Negociação

O artigo cobre o problema do desenvolvimento de painéis de controle ativo no MQL5. Os elementos de interface são gerenciados pelo mecanismo de manipulação de evento. Além disso, a opção de uma configuração flexível das propriedades dos elementos de controle está disponível. O painel de controle ativo permite o trabalho com posições, bem como a configuração, modificação e exclusão de ordens pendentes e mercado.
Criação e publicação de relatórios de negócios e notificação SMS
Criação e publicação de relatórios de negócios e notificação SMS

Criação e publicação de relatórios de negócios e notificação SMS

Os negociantes nem sempre têm a habilidade e desejam ficar sentados na frente do terminal de negócio por horas. Especialmente se o sistema de negócio for mais ou menos formalizado e puder automaticamente identificar alguns dos estados do mercado. Este artigo descreve como gerar um relatório de resultados de negócios (utilizando o Consultor Especialista, o indicador ou o script) como um arquivo HTML e carregá-lo por FTP para o servidor WWW. Também levaremos em consideração o envio de notificações de eventos de negócios por SMS para o celular.
Um exemplo de uma estratégia de negociação baseada na diferença de fuso horário em diferentes continentes
Um exemplo de uma estratégia de negociação baseada na diferença de fuso horário em diferentes continentes

Um exemplo de uma estratégia de negociação baseada na diferença de fuso horário em diferentes continentes

Navegando na internet é fácil encontrar muitas estratégias que darão a você uma série de recomendações. Vamos pegar uma abordagem interna e ver o processo de criação de estratégia, com base nas diferenças de fusos horários em diferentes continentes.
Algoritmos genéticos - é fácil!
Algoritmos genéticos - é fácil!

Algoritmos genéticos - é fácil!

Neste artigo o autor fala sobre cálculos evolutivos com o uso de um algoritmo genético desenvolvido pessoalmente. Ele demonstra o funcionamento do algoritmo, usando exemplos e fornece recomendações práticas para seu uso.
MQL para "Principiantes": como projetar e construir classes de objeto
MQL para "Principiantes": como projetar e construir classes de objeto

MQL para "Principiantes": como projetar e construir classes de objeto

Criando um programa de amostra de design visual, demonstramos como projetar e construir classes no MQL5. O artigo é escrito para programadores iniciantes, que estejam trabalhando em aplicações MT5. Propomos uma tecnologia simples e de fácil compreensão para criação de classes, sem a necessidade de se aprofundar na teoria de programação orientada a objeto.
Criando um indicador com buffers de indicador múltiplos para iniciantes
Criando um indicador com buffers de indicador múltiplos para iniciantes

Criando um indicador com buffers de indicador múltiplos para iniciantes

Os códigos complexos consistem em um conjunto de códigos simples. Se você está familiarizado com eles, não parece tão complicado. Neste artigo, considerarei como criar um indicador com múltiplos buffers de indicador. Como exemplo, o indicador Aroon é analisado detalhadamente, e duas versões diferentes do código são apresentadas.
Interação entre o MetaTrader 5 e MATLAB
Interação entre o MetaTrader 5 e MATLAB

Interação entre o MetaTrader 5 e MATLAB

Este artigo cobre os detalhes da interação entre o MetaTrader 5 e o pacote matemático MatLab. Ele mostra o mecanismo da conversão de dados, o processo de desenvolvimento de uma biblioteca universal para interagir com o desktop MatLab. Ele também cobre o uso do DLL gerado pelo ambiente MatLab. Este artigo é destinado a leitores experientes que conhecem C++ e MQL5.
Criando um indicador com opções de controle gráfico
Criando um indicador com opções de controle gráfico

Criando um indicador com opções de controle gráfico

Aqueles que são familiares com os sentimentos do mercado, conhecem o indicador MACD (seu nome completo é convergência/divergência de média móvel) - a poderosa ferramenta para analisar o movimento de preço, usada por negociantes desde os primeiros momentos do aparecimento dos métodos de análise computacionais. Neste artigo, consideraremos possíveis modificações do MACD e o implementaremos no indicador com a possibilidade de mudar graficamente entre as modificações.
Tratamento de eventos no MQL5: mudando período MA rapidamente
Tratamento de eventos no MQL5: mudando período MA rapidamente

Tratamento de eventos no MQL5: mudando período MA rapidamente

Suponha que um simples indicador MA (média móvel) com período 13 seja aplicado ao gráfico. Queremos mudar o período para 20, mas não queremos ir até a caixa de diálogo de propriedades do indicador e editar o número 13 para 20: por simples cansaço destas ações tediosas com o mouse e teclado. E, especialmente, não queremos abrir o código do indicador e modificá-lo. Queremos fazer tudo isso simplesmente pressionando um botão - "setas para cima" próximas ao teclado numérico. Neste artigo, descreverei como fazer isso.
MQL5: análise e processamento dos relatórios Commodity Futures Trading Commission (CFTC) no MetaTrader 5
MQL5: análise e processamento dos relatórios Commodity Futures Trading Commission (CFTC) no MetaTrader 5

MQL5: análise e processamento dos relatórios Commodity Futures Trading Commission (CFTC) no MetaTrader 5

Neste artigo, desenvolverei uma ferramenta para análise de relatório CFTC. Resolveremos o seguinte problema: desenvolver um indicador que permita usar os dados do relatório CFTC diretamente dos arquivos de dados fornecidos pela Comissão sem conversão e processamento intermediários. Além disso, ele pode ser utilizado para diferentes propósitos: organizar dados como um indicador, prosseguir com os dados em outros indicadores, em scripts para análise automatizada, em Expert Advisors para uso em estratégias de trading.
Implementação prática dos filtros digitais no MQL5 para principiantes
Implementação prática dos filtros digitais no MQL5 para principiantes

Implementação prática dos filtros digitais no MQL5 para principiantes

A ideia da filtragem de sinal digital foi amplamente discutida em tópicos de fóruns sobre a construção dos sistemas de negócio. E seria imprudente não criar um código padrão de filtros digitais no MQL5. Neste artigo, o autor descreve a transformação de um simples código do indicador SMA em seu artigo "Indicadores personalizados no MQL5 para iniciantes" em um código do mais complicado e universal filtro digital. Este artigo é uma sequência lógica do artigo anterior. Ele também fala como substituir o texto no código e como corrigir erros de programação.
Como exportar cotações do MetaTrader5 para aplicações .NET usando serviços WCF
Como exportar cotações do MetaTrader5 para aplicações .NET usando serviços WCF

Como exportar cotações do MetaTrader5 para aplicações .NET usando serviços WCF

Quer organizar a exportação de cotas do MetaTrader 5 para sua própria aplicação? A junção MQL5-DLL permite criar essas soluções! Este artigo mostrará a você um dos meios de exportação de cotas do MetaTrader 5 para aplicações escritas no .NET. Para mim, é mais interessante, racional e fácil implementar a exportação de cotas usando esta mesma plataforma. Infelizmente, a versão 5 ainda não suporta .NET, então, como antigamente, usaremos o win32 dll com suporte .NET como intercamada.
Desenhando emissões de indicador no MQL5
Desenhando emissões de indicador no MQL5

Desenhando emissões de indicador no MQL5

Neste artigo, consideraremos a emissão dos indicadores - uma nova abordagem para pesquisa de mercado. O cálculo da emissão é baseado na intersecção de diferentes indicadores: mais e mais pontos com diferentes cores e formas aparecem após cada tick. Eles formam vários clusters na forma de uma nebulosa, nuvens, pistas, linhas, arcos, etc. Estas formas podem ajudar a detectar as molas e forças invisíveis que afetam o movimento dos preços do mercado.
Troca de dados entre indicadores: é fácil!
Troca de dados entre indicadores: é fácil!

Troca de dados entre indicadores: é fácil!

Queremos criar um ambiente que fornecesse acesso aos dados de indicadores anexos ao gráfico e que teria as seguintes propriedades: ausência de cópia de dados; modificação mínima do código dos métodos disponíveis, se precisarmos usá-los; preferencialmente código MQL (claro, temos que usar o DLL, mas usaremos apenas algumas strings do código C++). O artigo descreve um método fácil para desenvolver um ambiente de programa para o terminal MetaTrader, que poderia fornecer meios para acessar os buffers dos indicadores de outros programas MQL.
Como trocar dados: um DLL para o MQL5 em 10 minutos
Como trocar dados: um DLL para o MQL5 em 10 minutos

Como trocar dados: um DLL para o MQL5 em 10 minutos

Agora, não muitos desenvolvedores lembram como escrever um simples DLL e quais são os recursos especiais da diferente ligação do sistema. Usando vários exemplos, vou tentar mostrar todo o processo da criação de um simples DLL em 10 minutos, bem como discutir alguns detalhes técnicos da nossa implementação de ligação. Mostrarei o processo passo-a-passo da criação de DLL no Visual Studio com exemplos de troca de diferentes tipos de variáveis (números, arrys, strings, etc.). Além disso, explicarei como proteger seu terminal do cliente de travamentos nos DLLs personalizados.
O Histograma de preço (Perfil de mercado) e sua implementação no MQL5
O Histograma de preço (Perfil de mercado) e sua implementação no MQL5

O Histograma de preço (Perfil de mercado) e sua implementação no MQL5

O Perfil de mercado foi desenvolvido pelo pensador realmente brilhante Peter Steidlmayer. Ele sugeriu o uso da representação alternativa de informação sobre movimentos de mercados "horizontais" e "verticais" que levam a um conjunto de modelos completamente diferentes. Ele presumiu que existe um pulso subjacente do mercado ou de um padrão fundamental chamado de ciclo de equilíbrio e desequilíbrio. Neste artigo, considerarei o Histograma de preço - um modelo simplificado de Perfil de mercado e descreverei sua implementação no MQL5.
Expert Advisor baseado em "New Trading Dimensions" por Bill Williams
Expert Advisor baseado em "New Trading Dimensions" por Bill Williams

Expert Advisor baseado em "New Trading Dimensions" por Bill Williams

Neste artigo, discutirei o desenvolvimento do Expert Advisor, baseado no livro "New Trading Dimensions: How to Profit from Chaos in Stocks, Bonds, and Commodities" por Bill Williams. A estratégia em si é bem conhecida e seu uso ainda é controverso entre os negociadores. O artigo considera os sinais de negociação do sistema, os aspectos específicos de sua implementação e os resultados de teste em dados do histórico.
Avaliação de sistemas de negócio - A efetividade de entrada, saída e negócios em geral
Avaliação de sistemas de negócio - A efetividade de entrada, saída e negócios em geral

Avaliação de sistemas de negócio - A efetividade de entrada, saída e negócios em geral

Existem várias medidas que permitem determinar a eficácia e rentabilidade de um sistema de negócio. No entanto, os negociantes estão sempre prontos para colocar qualquer sistema em um novo teste de impacto. O artigo diz como as estatísticas baseadas em medidas de efetividade podem ser usadas para a plataforma MetaTrader 5. Ele inclui a classe para transformação da interpretação das estatísticas através de negócios para aquele que não contradiz a descrição dada no livro "Statistika dlya traderov" ("Statistics for Traders") por S.V. Bulashev. Ele também inclui um exemplo de uma função de personalização para otimização.
Diversas maneiras de se encontrar uma tendência no MQL5
Diversas maneiras de se encontrar uma tendência no MQL5

Diversas maneiras de se encontrar uma tendência no MQL5

Qualquer comerciante daria muito pela oportunidade de detectar precisamente uma tendência em qualquer dado momento. Talvez, este seja o Santo Graal que todo mundo esteja procurando por. Este artigo considerará diversas maneiras de detectar uma tendência. Para ser mais preciso - como programar diversas maneiras clássicas para detectar uma tendência pelos meios do MQL5.
Criando indicadores multicoloridos no MQL5
Criando indicadores multicoloridos no MQL5

Criando indicadores multicoloridos no MQL5

Neste artigo, consideraremos como criar indicadores multicoloridos ou converter os existentes para multicor. O MQL5 permite representar as informações de forma conveniente. Agora, não é necessário ver uma dúzia de gráficos com indicadores e realizar análises dos níveis RSI ou estocásticos, é melhor apenas pintar as velas com cores diferentes dependendo dos valores dos indicadores.
Como criar o seu próprio limite móvel
Como criar o seu próprio limite móvel

Como criar o seu próprio limite móvel

A regra básica do negociante - aumente o lucro, corte as despesas! Este artigo considera uma das técnicas básicas, permitindo seguir esta regra - mover o nível de parada de proteção (nível Stop Loss) após aumentar o lucro da posição, ou seja - nível do Limite móvel. Você encontrará o procedimento passo-a-passo para criar uma classe para o limite móvel nos indicadores SAR e NRTR. Todos poderão inserir este limite móvel em seus experts ou usá-los independentemente para controlar posições em suas contas.
O protótipo do robô de negócio
O protótipo do robô de negócio

O protótipo do robô de negócio

Este artigo resume e sintetiza os princípios da criação de algoritmos e elementos dos sistemas de negócio. O artigo considera o planejamento do algoritmo de especialista. Como um exemplo, a classe CExpertAdvisor é considerada, o que pode ser usado para facilmente e rapidamente desenvolver sistemas de negócio.
20 sinais de negociação no MQL5
20 sinais de negociação no MQL5

20 sinais de negociação no MQL5

Este artigo o ensinará a como receber os sinais de negócio que são necessários para um sistema de negócio funcionar. O exemplo de formação de 20 sinais de negócio é forncedio aqui como funções de personalização separadas que podem ser usadas ao desenvolver Expert Advisors. Para sua conveniência, todas as funções utilizadas no artigo são combinadas em um único arquivo mqh que pode ser facilmente conectado a um futuro Expert Advisor.
Como escrever um indicador na base de um outro indicador
Como escrever um indicador na base de um outro indicador

Como escrever um indicador na base de um outro indicador

No MQL5 você pode escrever um indicador tanto do zero como baseado em outro indicador já existente, embutido no terminal do cliente ou um personalizado. E aqui você também tem dois modos - melhorar um indicador adicionando novos cálculos e estilos gráficos a ele, ou utilizar um indicador no terminal do cliente embutido ou um personalizado através das funções iCustom() ou IndicatorCreate().
Funções para gerenciamento de dinheiro em um conselheiro especialista
Funções para gerenciamento de dinheiro em um conselheiro especialista

Funções para gerenciamento de dinheiro em um conselheiro especialista

O desenvolvimento das estratégias de negócio foca principalmente em buscar padrões para entrar e sair do mercado, bem como manter posições. Se formos capazes de formalizar alguns padrões em regras para negociação automatizada, então, o negociante enfrenta o problema de cálculo do volume das posições, o tamanho das margens, bem como manter um nível seguro dos fundos de hipoteca para garantir posições abertas no modo automatizado. Neste artigo, usaremos a linguagem do MQL5 para construir exemplos simples para realizar estes cálculos.
Criar um quadro de informação utilizando classes de biblioteca padrão e o Google Chart API
Criar um quadro de informação utilizando classes de biblioteca padrão e o Google Chart API

Criar um quadro de informação utilizando classes de biblioteca padrão e o Google Chart API

A linguagem de programação MQL5 foca principalmente na criação dos sistemas de negociação automatizada e instrumentos complexos da análise técnica. Mas, fora isso, ela permite criar sistemas de informação interessantes para rastrear situações de mercado e fornece uma conexão de retorno com o negociante. O artigo descreve os componentes da Biblioteca Padrão MQL5, e mostra exemplos de seu uso na prática para alcançar estes objetivos. Ela também demonstra um exemplo para utilizar o Google Chart API para criação de gráficos.
Guia passo a passo para iniciantes para escrever um Expert Advisor no MQL5
Guia passo a passo para iniciantes para escrever um Expert Advisor no MQL5

Guia passo a passo para iniciantes para escrever um Expert Advisor no MQL5

A programação de Expert Advisors no MQL5 é simples, e você pode aprender facilmente. Neste guia passo a passo, você verá os passos básicos necessários para escrever um simples Expert Advisor com base em uma estratégia de negócio de desenvolvimento. São apresentados, a estrutura de um Expert Advisor, o uso de indicadores técnicos embutidos e funções de negociação, os detalhes do modo de Depuração e uso do Strategy Tester.
Criando indicadores de ponto no MQL5
Criando indicadores de ponto no MQL5

Criando indicadores de ponto no MQL5

Neste artigo, consideraremos a criação de dois indicadores: o indicador de tick, que plota o gráfico de tick do indicador de vela de tick e preço, que plota velas com o número específico de ticks. Cada um dos indicadores escreve os preços de entrada em um arquivo e usa os dados salvos após o reinício do indicador (estes dados também podem ser usados por outros programas).