Artigos sobre programação na linguagem 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
Interfaces Gráficas IX: O Controle Seletor de Cores (Capítulo 1)
Interfaces Gráficas IX: O Controle Seletor de Cores (Capítulo 1)

Interfaces Gráficas IX: O Controle Seletor de Cores (Capítulo 1)

Com este artigo, nós começamos o capítulo nove da série de artigos dedicados à criação das interfaces gráficas nos terminais de negociação MetaTrader. Ele consiste de dois capítulos onde são apresentados os novos elementos do controle da interface, tais como o seletor de cores, o botão do seletor de cores, a barra de progresso e o gráfico de linha.
Interfaces Gráficas VIII: O Controle Navegador de Arquivos (Capítulo 3)
Interfaces Gráficas VIII: O Controle Navegador de Arquivos (Capítulo 3)

Interfaces Gráficas VIII: O Controle Navegador de Arquivos (Capítulo 3)

Nos capítulos anteriores da oitava parte da série, nossa biblioteca foi reforçada por várias classes para o desenvolvimento de ponteiros para o cursor do mouse, calendários e as listas hierárquicas. O presente artigo lida com o controle navegador de arquivos que também pode ser utilizado como parte de uma interface gráfica na aplicação MQL.
Sistema de negociação '80-20'
Sistema de negociação '80-20'

Sistema de negociação '80-20'

Este artigo trata de como criar instrumentos (indicador e Expert Advisor) para estudo sobre a Estratégia de Negociação '80-20' descrita no livro "Street Smarts: High Probability Short-Term Trading Strategies" de Linda Raschke e Laurence Connors. Na linguagem MQL5, estão estabelecidas as regras desta estratégia, e seu principal indicador e Expert Advisor estão testados com base no histórico atual de mercado.
Interfaces Gráficas VIII: O Controle Lista Hierárquica (Capítulo 2)
Interfaces Gráficas VIII: O Controle Lista Hierárquica (Capítulo 2)

Interfaces Gráficas VIII: O Controle Lista Hierárquica (Capítulo 2)

O capítulo anterior da parte VIII da série Interfaces Gráficas, nós focamos sobre os elementos do calendário estático e suspenso. O segundo capítulo será dedicado a um elemento igualmente complexo - uma lista hierárquica, que está incluída em cada biblioteca multifuncional, usada para a criação de interfaces gráficas. A lista hierárquica implementada neste artigo contém várias configurações flexíveis e modos, permitindo assim ajustar este elemento de controle às suas necessidades.
Avaliação rápida do sinal: atividade comercial, gráficos de abaixamento/carregamento e distribuição de MFE/MAE
Avaliação rápida do sinal: atividade comercial, gráficos de abaixamento/carregamento e distribuição de MFE/MAE

Avaliação rápida do sinal: atividade comercial, gráficos de abaixamento/carregamento e distribuição de MFE/MAE

Ao procurar por um sinal, os assinantes são orientados principalmente para o aumento global na conta do Provedor, e isto é, na verdade, lógico. No entanto, além disso, é importante levar em conta os riscos potenciais incorridos por uma estratégia de negociação específica. Neste artigo, nós lhe mostraremos como avaliar simples e claramente o Sinal de interesse utilizando diversos indicadores.
MQL5 vs QLUA - Por que operações de negociação no MQL5 são até 28 vezes mais rápidas?
MQL5 vs QLUA - Por que operações de negociação no MQL5 são até 28 vezes mais rápidas?

MQL5 vs QLUA - Por que operações de negociação no MQL5 são até 28 vezes mais rápidas?

Você já se perguntou como a sua ordem é entregue tão rápida na bolsa? Também já se perguntou quanto tempo seu terminal precisa para receber o resultado da operação? Nós fizemos uma comparação da velocidade de execução da operação de negociação, pois ninguém nunca mediu esses valores utilizando aplicações nas linguagens de programação MQL5 ou QLUA.
LifeHack para traders: otimização "silenciosa" ou traço da distribuição de negociações
LifeHack para traders: otimização "silenciosa" ou traço da distribuição de negociações

LifeHack para traders: otimização "silenciosa" ou traço da distribuição de negociações

Análise do histórico de negociação e construção de gráficos HTML de distribuição de resultados de negociação, dependendo do momento da entrada no mercado. Os gráficos são exibidos em três seções, isto é: por horas, dias, semanas e meses.
Interfaces Gráficas VIII: O Controle Calendário (Capítulo 1)
Interfaces Gráficas VIII: O Controle Calendário (Capítulo 1)

Interfaces Gráficas VIII: O Controle Calendário (Capítulo 1)

Na parte VIII da série de artigos dedicados à criação de interfaces gráficas no MetaTrader, nós vamos introduzir os controles compostos complexos como os calendários, lista hierárquica e o navegador de arquivos. Devido à grande quantidade de informações, os artigos foram escritos separadamente para cada assunto. O primeiro capítulo desta parte descreve o controle calendário e sua versão expandida — um calendário suspenso.
Rede neural: Expert Advisor auto-otimizável
Rede neural: Expert Advisor auto-otimizável

Rede neural: Expert Advisor auto-otimizável

Será que é possível criar um Expert Advisor que, de acordo com os comandos do código, otimize os critérios de abertura e fechamento das posições automaticamente e em intervalos regulares? O que acontecerá se nós implementarmos no EA uma rede neural (um perceptron multi-camada) que, sendo módulo, analise o histórico e avalie a estratégia? É possível dar ao código um comando para uma otimização mensal (semanal, diária ou por hora) de rede neural com um processo subsequente. Assim, é possível criar um Expert Advisor que se auto-otimize.
Guia Prático MQL5 - Sinais de negociação de canais móveis
Guia Prático MQL5 - Sinais de negociação de canais móveis

Guia Prático MQL5 - Sinais de negociação de canais móveis

O artigo descreve o processo de desenvolvimento e implementação de uma classe para envio de sinais com base nos canais móveis. Cada versão do sinal é seguido por uma estratégia de negociação com os resultados dos testes. As classes da Biblioteca Padrão são utilizadas para criar classes derivadas.
Interfaces Gráficas VII: O Controle Guias (Capítulo 2)
Interfaces Gráficas VII: O Controle Guias (Capítulo 2)

Interfaces Gráficas VII: O Controle Guias (Capítulo 2)

Foi introduzido no primeiro capítulo da sétima parte três classes de controles para a criação de tabelas: Tabela com o rótulo de texto (CLabelsTable), tabela com a caixa de edição (CTable) e a tabela renderizada (CCanvasTable). Neste artigo (capítulo dois) nós vamos introduzir o controle Guias.
Interfaces gráficas VII: O Controle Tabela (Capítulo 1)
Interfaces gráficas VII: O Controle Tabela (Capítulo 1)

Interfaces gráficas VII: O Controle Tabela (Capítulo 1)

A sétima parte da série interfaces gráficas no MetaTrader lida com três tipos de tabelas: tabela com o rótulo de texto, tabela com a caixa de edição e a tabela renderizada. Outros controles importantes e frequentemente utilizados são as abas/guias que lhe permitem exibir/ocultar os grupos de outros controles e desenvolver uma interfaces mais compacta em suas aplicações MQL.
Como, na MetaTrader 5, desenvolver e depurar rapidamente sua estratégia de negociação
Como, na MetaTrader 5, desenvolver e depurar rapidamente sua estratégia de negociação

Como, na MetaTrader 5, desenvolver e depurar rapidamente sua estratégia de negociação

Os sistemas automáticos de scalping são considerados não só o auge do trading algorítmico, mas também os mais difíceis na escrita do código. Neste artigo, nós mostraremos como -usando os recursos embutidos de depuração e teste visual- construir estratégias baseadas na análise de ticks entrantes. O desenvolvimento de regras de entrada e saída muitas vezes exige anos de negociação manual. Mas com a MetaTrader 5 você pode rapidamente verificar qualquer estratégia semelhante no histórico real.
Trabalhando Com Soquetes em MQL, ou como se tornar um provedor de sinal
Trabalhando Com Soquetes em MQL, ou como se tornar um provedor de sinal

Trabalhando Com Soquetes em MQL, ou como se tornar um provedor de sinal

Soquetes… O que seria do nosso mundo de TI sem eles? Datado por volta de 1982 e até o presente momento, pouco mudou, eles continuam trabalhando para nós a cada momento. Esta é a base da rede, as terminações nervosas da Matriz que todos nós vivemos.
Estudando a Classe CCanvas. Anti-aliasing e Sombras
Estudando a Classe CCanvas. Anti-aliasing e Sombras

Estudando a Classe CCanvas. Anti-aliasing e Sombras

Um algoritmo anti-aliasing da classe CCanvas é a base para todas as construções onde o antisserrilhamento está sendo usado. O artigo contém informações sobre como este algoritmo opera e fornece exemplos relevantes de visualização. Ele também abrange as sombras desenhadas dos objetos gráficos e tem um algoritmo detalhadamente desenvolvido para desenhar sombras nas canvas. A análise numérica da biblioteca ALGLIB é usada para os cálculos.
Expert Advisor multiplataforma: Ordens
Expert Advisor multiplataforma: Ordens

Expert Advisor multiplataforma: Ordens

MetaTrader 4 e MetaTrader 5 usam regras diferentes para o processamento de pedidos de negociação. Este artigo discute a possibilidade de utilizar o objeto de classe que representa a transação para processamento pelo servidor, graças a isso o Expert Advisor poderá trabalhar com elas independentemente da versão da plataforma de negociação e o modo usado.
Interfaces Gráficas VI: Os Controles Deslizante e Deslizante Duplo (Capítulo 2)
Interfaces Gráficas VI: Os Controles Deslizante e Deslizante Duplo (Capítulo 2)

Interfaces Gráficas VI: Os Controles Deslizante e Deslizante Duplo (Capítulo 2)

No artigo anterior, nós enriquecemos a nossa biblioteca com quatro controles que são frequentemente usados ​​nas interfaces gráficas: caixa de seleção, campo de edição, campo de edição com caixa de seleção e a lista combinada com a caixa de seleção. O segundo capítulo da sexta parte será dedicado aos controles deslizante e deslizante duplo.
Expert Advisor multiplataforma: reutilização de componentes a partir da Biblioteca padrão MQL5
Expert Advisor multiplataforma: reutilização de componentes a partir da Biblioteca padrão MQL5

Expert Advisor multiplataforma: reutilização de componentes a partir da Biblioteca padrão MQL5

Na biblioteca padrão MQL5, existem alguns componentes que podem ser úteis em versões de EAs MQL4 multiplataforma. Este artigo descreve um método para a criação de alguns componentes da biblioteca padrão MQL5 compatíveis com o compilador MQL4.
Expert Advisor multiplataforma: Introdução
Expert Advisor multiplataforma: Introdução

Expert Advisor multiplataforma: Introdução

Este artigo descreve um método que permite desenvolver rápida e facilmente um Expert Advisor multiplataforma. O método proposto combina as características, comuns para ambas as versões, numa classe e desenvolve a implementação para funções incompatíveis nas classes herdadas.
Interfaces Gráficas VI: Os Controles Caixa de Seleção, Campo de Edição e seus Tipos Combinados (Capítulo 1)
Interfaces Gráficas VI: Os Controles Caixa de Seleção, Campo de Edição e seus Tipos Combinados (Capítulo 1)

Interfaces Gráficas VI: Os Controles Caixa de Seleção, Campo de Edição e seus Tipos Combinados (Capítulo 1)

Este artigo é o começo da sexta parte da série dedicada ao desenvolvimento da biblioteca para a criação de interfaces gráficas nos terminais MetaTrader. No primeiro capítulo, nós vamos discutir o controle caixa de seleção, o controle campo de edição e seus tipos combinados.
LifeHack para traders: um back-test bem, e quatro melhor
LifeHack para traders: um back-test bem, e quatro melhor

LifeHack para traders: um back-test bem, e quatro melhor

Antes do primeiro teste único, na mente de cada trader surge a mesma pergunta: "Qual dos quatro modos devo usar?" Cada um dos modos oferecidos tem suas vantagens e características, por isso tornamos o trabalho mais fácil, que dizer, executamos todos os modos usando apenas um botão! Este artigo mostra como ver simultaneamente todos os quatro gráficos de teste com ajuda da Win API e um magic pequeno.
Dicas para o trader: indicadores de saldo, drawdown, carregamento e ticks durante o teste
Dicas para o trader: indicadores de saldo, drawdown, carregamento e ticks durante o teste

Dicas para o trader: indicadores de saldo, drawdown, carregamento e ticks durante o teste

Como tornar o teste mais claro? A resposta é simples: no testador, você precisa usar um ou mais indicadores, a saber: os indicadores de ticks, saldo e eqüidade, drawdown e carga de depósito. Isso permitirá monitorar visualmente quer a natureza dos ticks, quer as alterações de saldo e eqüidade, quer o drawdown e a carga de depósito.
Como copiar sinais pelas suas regras usando um EA ?
Como copiar sinais pelas suas regras usando um EA ?

Como copiar sinais pelas suas regras usando um EA ?

Ao assinar um sinal, a seguinte situação pode ocorrer: sua conta de negociação tem uma alavancagem de 1:100, o provedor tem uma alavancagem de 1:500 e as negociações usam um lote mínimo, seus saldos são praticamente iguais - porém o coeficiente de cópia irá abranger somente de 10% a 15%. Este artigo descreve como aumentar a taxa de cópia em tais casos.
Interfaces Gráficas V: O Controle Combobox (Capítulo 3)
Interfaces Gráficas V: O Controle Combobox (Capítulo 3)

Interfaces Gráficas V: O Controle Combobox (Capítulo 3)

Nos dois primeiros capítulos da quinta parte da série, nós desenvolvemos as classes para criar uma barra de rolagem e uma lista. Neste capítulo, nós falaremos sobre a criação de uma classe para o controle combobox. Este é também um controle composto que contém, entre outros, os elementos considerados nos capítulos anteriores desta quinta parte.
Interfaces Gráficas V: O Controle Lista (Capítulo 2)
Interfaces Gráficas V: O Controle Lista (Capítulo 2)

Interfaces Gráficas V: O Controle Lista (Capítulo 2)

No capítulo anterior, nós escrevemos as classes para criar a barra de rolagem vertical e horizontal. Neste capítulo, nós vamos implementá-las. Nós vamos escrever uma classe para criar o controle lista, sendo que a barra de rolagem vertical será sua parte integrante.
Módulo de sinais de negociação utilizando o sistema Bill Williams
Módulo de sinais de negociação utilizando o sistema Bill Williams

Módulo de sinais de negociação utilizando o sistema Bill Williams

O artigo descreve as regras do sistema de negociação Bill Williams, o procedimento da aplicação de um módulo MQL5 desenvolvido com o objetivo de procurar e marcar padrões deste sistema no gráfico, as negociações automatizadas de acordo com os padrões encontrados e por fim, apresenta os resultados dos testes em vários instrumentos de negociação.
Interfaces Gráficas V: A Barra de Rolagem Vertical e Horizontal (Capítulo 1)
Interfaces Gráficas V: A Barra de Rolagem Vertical e Horizontal (Capítulo 1)

Interfaces Gráficas V: A Barra de Rolagem Vertical e Horizontal (Capítulo 1)

Nós ainda estamos discutindo o desenvolvimento da biblioteca para a criação de interfaces gráficas no ambiente do MetaTrader. No primeiro artigo da quinta parte da série, nós vamos escrever as classes para as criação da barra de rolagem vertical e horizontal.
Expressões regulares para traders
Expressões regulares para traders

Expressões regulares para traders

As expressões regulares são uma linguagem especial para manipulação de textos de acordo com uma regra definida, às vezes, chamada de padrão ou máscara de expressão regular. Este artigo mostrará como manipular o relatório de negociação usando a biblioteca RegularExpressions para MQL5 e demostrará seus resultados de otimização.
Expert Advisor Universal: Integração com os Módulos de Sinais Padrão do MetaTrader (parte 7)
Expert Advisor Universal: Integração com os Módulos de Sinais Padrão do MetaTrader (parte 7)

Expert Advisor Universal: Integração com os Módulos de Sinais Padrão do MetaTrader (parte 7)

Esta parte do artigo descreve as possibilidades de integração do motor CStrategy com os módulos de sinais incluídos na biblioteca padrão no MetaTrader. O artigo descreve como trabalhar com sinais, assim como demonstra uma forma de criar estratégias personalizadas com base nas mesmas.
Tratamento de erros e registro em log na MQL5
Tratamento de erros e registro em log na MQL5

Tratamento de erros e registro em log na MQL5

Este artigo aborda questões sobre o tratamento de erros comuns no software. Além disso, trata do registro em log e monstra uma forma de empregar o registrador de logs via MQL5.
Mais uma vez vamos falar sobre mapas de Kohonen
Mais uma vez vamos falar sobre mapas de Kohonen

Mais uma vez vamos falar sobre mapas de Kohonen

O artigo descreve as técnicas para trabalhar com mapas de Kohonen. Ele vai ser do interesse tanto para exploradores do mercado, com habilidades básicas nas plataformas MQL4 e MQL5, quanto para programadores experientes que enfrentam dificuldades com a conexão dos mapas de Kohonen aos seus projetos.
Interfaces Gráficas IV: O Modo Multi-Janela e o Sistema de Prioridades (Capítulo 2)
Interfaces Gráficas IV: O Modo Multi-Janela e o Sistema de Prioridades (Capítulo 2)

Interfaces Gráficas IV: O Modo Multi-Janela e o Sistema de Prioridades (Capítulo 2)

Neste capítulo, nós vamos estender a implementação da biblioteca para possibilitar a criação de interfaces de multi-janela para as aplicações MQL. Nós também vamos desenvolver um sistema de prioridades para clique esquerdo do mouse sobre os objetos gráficos. Isso se faz necessário para evitar problemas quando os elementos não respondem as ações do usuário.
Interfaces Gráficas IV: Elementos Informativos da Interface (Capítulo 1)
Interfaces Gráficas IV: Elementos Informativos da Interface (Capítulo 1)

Interfaces Gráficas IV: Elementos Informativos da Interface (Capítulo 1)

No atual estágio de desenvolvimento, a biblioteca para a criação de interfaces gráficas contém um formulário e vários controles que podem ser ligados a ele. Foi mencionado antes que um dos artigos futuros seria dedicado ao modo multi-janela. Agora, nós já temos tudo preparado para considerar tal questão, desse modo, nós vamos lidar com isso no capítulo seguinte. Neste capítulo, nós vamos escrever as classes para criar os elementos de interface barra de status e dica de contexto.
Teste de estratégias de negociação em ticks reiais
Teste de estratégias de negociação em ticks reiais

Teste de estratégias de negociação em ticks reiais

Neste artigo mostraremos os resultados de teste de uma estratégia de negociação simples em três modos: "OHLC em M1", "Todos os ticks" e "Cada tick baseado em ticks reais" usando os ticks gravados a partir do histórico.
Como adicionar rapidamente paneis de controle a indicadores e conselheiros (EA)
Como adicionar rapidamente paneis de controle a indicadores e conselheiros (EA)

Como adicionar rapidamente paneis de controle a indicadores e conselheiros (EA)

Você deseja adicionar ao seu indicador ou conselheiro um painel gráfico para um controle fácil e rápido, mas não sabe como fazê-lo? Neste artigo, vou mostrar passo a passo como "atar" o painel de diálogo com os parâmetros de entrada do seu programa MQL4/MQL5.
Auto-otimização do EA: Algoritmos evolutivos e genéticos
Auto-otimização do EA: Algoritmos evolutivos e genéticos

Auto-otimização do EA: Algoritmos evolutivos e genéticos

Este artigo aborda os principais princípios estabelecidos nos algoritmos evolutivos, suas variedades e características. Vamos fazer uma experiência com um Expert Advisor simples, usado como exemplo para mostrar os benefícios do sistema de negociação a partir da otimização. Também iremos considerar programas de software que implementam otimizações genéticas, evolutivas, entre outros, fornecendo exemplos de aplicação ao otimizar um conjunto preditor e os parâmetros do sistema de negociação.
Interfaces Gráficas III: Grupos de Botões Simples e Multifuncionais (Capítulo 2)
Interfaces Gráficas III: Grupos de Botões Simples e Multifuncionais (Capítulo 2)

Interfaces Gráficas III: Grupos de Botões Simples e Multifuncionais (Capítulo 2)

O primeiro capítulo desta série foi sobre os botões simples e multifuncionais. O segundo artigo se dedicará aos grupos de botões interconectados entre si, que permitirão a criação dos controles, quando um usuário puder selecionar uma das opções a partir de um determinado conjunto (grupo).
Interfaces Gráficas III: Botões Simples e Multifuncionais (Capítulo 1)
Interfaces Gráficas III: Botões Simples e Multifuncionais (Capítulo 1)

Interfaces Gráficas III: Botões Simples e Multifuncionais (Capítulo 1)

Vamos começar a estudos sobre o controle chamado botão. Nós vamos mostrar exemplos de várias classes para a criação de um botão simples, botões com funcionalidades estendidas (botão com ícones/imagens e botão de divisão - "split button") e aqueles que são interconectados (grupos de botões e botão de radio). Além disso, nós vamos apresentar alguns incrementos para as classes existentes afim de ampliar a capacidade dos controles.
Por onde começar ao criar um robô de negociação para operar na Bolsa de Valores de Moscou MOEX
Por onde começar ao criar um robô de negociação para operar na Bolsa de Valores de Moscou MOEX

Por onde começar ao criar um robô de negociação para operar na Bolsa de Valores de Moscou MOEX

Na bolsa de valores de Moscou, muitos traders gostariam de automatizar seus algoritmos de negociação, mas não sabem por onde começar. A linguagem MQL5 não só oferece uma enorme gama de funções de negociação, mas também classes prontas que facilitam os primeiros passos no mundo do trading algorítmico.
Interfaces Gráficas II: O Elemento Menu Principal (Capítulo 4)
Interfaces Gráficas II: O Elemento Menu Principal (Capítulo 4)

Interfaces Gráficas II: O Elemento Menu Principal (Capítulo 4)

Este é o capítulo final da segunda parte da série sobre interfaces gráficas. Aqui, nós vamos estudar a criação do menu principal. Demonstraremos neste artigo o desenvolvimento deste controle e a configuração dos manipuladores das classes da biblioteca para que ele tenha uma reação correta para as ações do usuário. Nós também vamos discutir como anexar os menus de contexto para os elementos do menu principal. Além disso, nós vamos mencionar a questão do bloqueio dos elementos inativos atualmente.