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
Linguagem MQL como um meio de marcação da interface gráfica de programas MQL. Parte 1
Linguagem MQL como um meio de marcação da interface gráfica de programas MQL. Parte 1

Linguagem MQL como um meio de marcação da interface gráfica de programas MQL. Parte 1

O artigo propõe uma nova ideia para descrever a interface de programas MQL com ajuda das construções da linguagem MQL. As classes especiais transformam o esquema visual MQL em elementos da GUI, permitem gerenciá-los de maneira unificada, configurar propriedades e processar eventos. Além disso, apresenta exemplos de uso de layouts para caixas de diálogo e elementos da biblioteca padrão.
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.
Algoritmos genéticos vs. busca simples no otimizador do MetaTrader 4
Algoritmos genéticos vs. busca simples no otimizador do MetaTrader 4

Algoritmos genéticos vs. busca simples no otimizador do MetaTrader 4

O artigo compara o tempo e os resultados obtidos pela otimização dos Expert Advisors usando algoritmos genéticos e aqueles obtidos por buscas simples.
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.
Desenvolvendo um algoritmo auto-adaptável (Parte I): encontrando um padrão básico
Desenvolvendo um algoritmo auto-adaptável (Parte I): encontrando um padrão básico

Desenvolvendo um algoritmo auto-adaptável (Parte I): encontrando um padrão básico

Numa série de artigos, mostrarei um exemplo de como desenvolver algoritmos auto-adaptativos que levam em consideração a maioria de fatores que surgem nos mercados, apresentarei como sistematizar essas situações, como descrevê-las de forma lógica e como considerá-las na hora de negociar. Vou começar com um algoritmo muito simples, que com o tempo irá ganhar teoria e evoluir para um projeto muito complexo.
Dormir ou não dormir?
Dormir ou não dormir?

Dormir ou não dormir?

Uma alternativa à função Sleep() na realização de pausas entre as ações do EA é proposta. A abordagem em consideração permite o uso inteligente do tempo da máquina.
Expert Advisor universal: indicador CUnIndicator e trabalho com ordens pendentes (parte 9)
Expert Advisor universal: indicador CUnIndicator e trabalho com ordens pendentes (parte 9)

Expert Advisor universal: indicador CUnIndicator e trabalho com ordens pendentes (parte 9)

O artigo descreve o trabalho com indicadores através da classe universal do CUnIndicator. Além disso, consideram-se novas formas de trabalhar com ordens pendentes. Observe que, a partir deste ponto, a estrutura do projeto do CStrategy muda significativamente. Agora todos os arquivos são colocados num único diretório para a conveniência dos usuários.
Assistente MQL5: como criar um módulo de rastreamento de posições abertas
Assistente MQL5: como criar um módulo de rastreamento de posições abertas

Assistente MQL5: como criar um módulo de rastreamento de posições abertas

O gerador de estratégias de negociação do Assistente MQL5 simplifica o teste de ideias de negociação. O artigo discute como escrever e conectar ao gerador de estratégias de negociação do Assistente MQL5 a sua própria classe de gerenciamento de posições abertas, movendo o nível de Stop Loss para a zona lossless quando o preço for em direção da posição, permitindo diminuir levantamentos ao negociar. Fala também sobre a estrutura e o formato da descrição da classe criada para o Assistente MQL5.
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XX): criação e armazenamento de recursos de programas
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XX): criação e armazenamento de recursos de programas

Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XX): criação e armazenamento de recursos de programas

No artigo, veremos como armazenar dados no código fonte de um programa e como criar arquivos de som e gráficos a partir dele. Muitas vezes, ao criar um programa, precisamos usar sons e imagens. Na linguagem MQL, existem várias maneiras de usar esse tipo de dados.
Linguagem MQL4 para Iniciantes. Perguntas difíceis em frases simples
Linguagem MQL4 para Iniciantes. Perguntas difíceis em frases simples

Linguagem MQL4 para Iniciantes. Perguntas difíceis em frases simples

Este é o segundo artigo da série "Linguagem MQL4 para Iniciantes". Agora vamos examinar mais construções complexas e avançadas da linguagem, aprender novas opções e ver, como elas podem ser aplicadas na prática diária. Você vai se familiarizar com um novo tipo de ciclo ''enquanto'', um novo tipo de condição ''troca'', operadores ''pausa'' e ''continuação". Além disso, você vai aprender a escrever suas próprias funções e trabalhar com matrizes multidimensionais. E de bônus, preparei uma explicação sobre um pré-processador.
Trabalhando com as funções de rede ou MySQL sem DLL: Parte II - Programa para monitorar as alterações nas propriedades do sinal
Trabalhando com as funções de rede ou MySQL sem DLL: Parte II - Programa para monitorar as alterações nas propriedades do sinal

Trabalhando com as funções de rede ou MySQL sem DLL: Parte II - Programa para monitorar as alterações nas propriedades do sinal

Na parte anterior, nós consideramos a implementação do conector MySQL. Neste artigo, nós consideraremos sua aplicação implementando o serviço para coletar as propriedades do sinal e o programa para visualizar suas alterações ao longo do tempo. O exemplo implementado tem sentido prático se os usuários precisarem observar alterações nas propriedades que não são exibidas na página da web do sinal.
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XXIV): classe básica de negociação, correção automática de parâmetros errados
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XXIV): classe básica de negociação, correção automática de parâmetros errados

Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XXIV): classe básica de negociação, correção automática de parâmetros errados

No artigo, analisaremos um manipulador de parâmetros errôneos de uma ordem de negociação, finalizaremos a classe básica de negociação e também corrigiremos o funcionamento da classe de eventos de negociação - agora todos os eventos de negociação serão detectados corretamente nos programas.
Interfaces Gráficas I: Animação na Interface Gráfica (Capítulo 3)
Interfaces Gráficas I: Animação na Interface Gráfica (Capítulo 3)

Interfaces Gráficas I: Animação na Interface Gráfica (Capítulo 3)

No artigo anterior, nós começamos a desenvolver uma classe de formulário para os controles. Neste artigo, nós vamos continuar a desenvolver esta classe e preenchê-la com os métodos para mover um formulário sobre a área do gráfico. Em seguida, integraremos este componente da interface para o núcleo da biblioteca. Além disso, nós vamos garantir que os controles do formulário mudem de cor quando o cursor do mouse estiver pairando sobre eles.
Rede em nuvem do MQL5: Você ainda está calculando?
Rede em nuvem do MQL5: Você ainda está calculando?

Rede em nuvem do MQL5: Você ainda está calculando?

Logo fará um ano e meio desde que a Rede em nuvem do MQL5 foi inaugurada. Esse evento inovador nos conduziu para uma era de negócios algorítmicos - agora com poucos cliques, negociadores podem ter centenas e milhares de núcleos de computação a sua disposição para a otimização de suas estratégias de negócios.
Dr. Tradelove ou como parei de me preocupar e criei um Expert Advisor para autotreinamento
Dr. Tradelove ou como parei de me preocupar e criei um Expert Advisor para autotreinamento

Dr. Tradelove ou como parei de me preocupar e criei um Expert Advisor para autotreinamento

Pouco mais de um ano atrás joo, em seu artigo "Genetic Algorithms - It's Easy!", deu-nos uma ferramenta para a implementação do algoritmo genético no MQL5. Agora utilizando a ferramenta que irá criar um Expert Advisor que geneticamente otimiza seus próprios parâmetros em certas condições de contorno...
Como escrever um cliente nativo Twitter para MetaTrader 4 e MetaTrader 5 sem usar DLL
Como escrever um cliente nativo Twitter para MetaTrader 4 e MetaTrader 5 sem usar DLL

Como escrever um cliente nativo Twitter para MetaTrader 4 e MetaTrader 5 sem usar DLL

Quer receber tweets ou postar seus sinais de negociação no Twitter? Você já não precisará procurar soluções, já que nesta série de artigos, veremos como trabalhar com o Twitter sem usar uma DLL. Juntos implementaremos a Tweeter API usando MQL. No primeiro artigo, começaremos com os recursos de autenticação e autorização da Twitter API.
Criando Filtros Digitais Sem Atraso
Criando Filtros Digitais Sem Atraso

Criando Filtros Digitais Sem Atraso

O artigo descreve uma das abordagens para a determinação de um sinal útil (tendência) num fluxo de dados. Pequenos testes de filtragem (suavização) aplicados às cotações do mercado demonstram o potencial para a criação de filtros digitais sem atrasos (indicadores) que não são redesenhados nas últimas barras.
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XXXIII): solicitações de negociação pendentes, fechamento de posições por condições
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XXXIII): solicitações de negociação pendentes, fechamento de posições por condições

Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XXXIII): solicitações de negociação pendentes, fechamento de posições por condições

Continuamos a trabalhar na funcionalidade da biblioteca para negociar usando solicitações pendentes. Nós já implementamos o envio de solicitações pendentes segundo condições para abrir posições e definir ordens pendentes. Hoje criaremos um recurso para fechamento parcial, total e por meio da posição oposta, tudo isso segundo condições.
preview
Redes neurais de maneira fácil (Parte 13): normalização em lote

Redes neurais de maneira fácil (Parte 13): normalização em lote

No artigo anterior, começamos a examinar métodos para melhorar a qualidade do treinamento da rede neural. Neste artigo, proponho continuar este tópico e considerar uma outra abordagem, em particular a de normalização de dados em lote.
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.
Monitoramento de sinais de negociação multimoeda (Parte 3): Introdução de algoritmos de busca
Monitoramento de sinais de negociação multimoeda (Parte 3): Introdução de algoritmos de busca

Monitoramento de sinais de negociação multimoeda (Parte 3): Introdução de algoritmos de busca

No artigo anterior, nós desenvolvemos a parte visual do aplicativo, bem como a interação básica dos elementos da GUI. Desta vez, nós adicionaremos a lógica interna e o algoritmo de preparação dos dados do sinal de negociação, bem como a capacidade de configurar os sinais, buscá-los e visualizá-los no monitor.
Guia Prático MQL5: Processamento de Eventos Personalizados do Gráfico
Guia Prático MQL5: Processamento de Eventos Personalizados do Gráfico

Guia Prático MQL5: Processamento de Eventos Personalizados do Gráfico

Este artigo considera os aspectos de design e desenvolvimento de eventos personalizados do gráfico no ambiente em MQL5. Um exemplo de uma abordagem para a classificação dos eventos também podem ser encontrados aqui, bem como um código de programação para uma classe de eventos e uma classe de tratamento de eventos personalizados.
Expert Advisor Multiplataforma: Stops
Expert Advisor Multiplataforma: Stops

Expert Advisor Multiplataforma: Stops

Este artigo discute uma implementação dos níveis de stop em um expert advisor para torná-lo compatível com as duas plataformas - MetaTrader 4 e MetaTrader 5.
Redes Neurais Profundas (Parte III). Seleção da amostra e redução de dimensionalidade
Redes Neurais Profundas (Parte III). Seleção da amostra e redução de dimensionalidade

Redes Neurais Profundas (Parte III). Seleção da amostra e redução de dimensionalidade

Este artigo é uma continuação da série de artigos sobre redes neurais profundas. Aqui, nós vamos considerar a seleção de amostras (remoção de ruído), reduzindo a dimensionalidade dos dados de entrada e dividindo o conjunto de dados nos conjuntos de train/val/test durante a preparação dos dados para treinar a rede neural.
Como avaliar os resultados dos testes do Expert
Como avaliar os resultados dos testes do Expert

Como avaliar os resultados dos testes do Expert

O artigo fornece fórmulas e a ordem de cálculo relativas aos dados exibidos no relatório do verificador.
Trabalhando com séries temporais na biblioteca DoEasy (Parte 37): coleção de séries temporais - banco de dados de séries temporais para símbolos e períodos
Trabalhando com séries temporais na biblioteca DoEasy (Parte 37): coleção de séries temporais - banco de dados de séries temporais para símbolos e períodos

Trabalhando com séries temporais na biblioteca DoEasy (Parte 37): coleção de séries temporais - banco de dados de séries temporais para símbolos e períodos

Este artigo é dedicado à criação de uma coleção de séries temporais com base nos períodos gráficos especificados para todos os símbolos usados no programa. Criaremos uma coleção de séries temporais, os métodos para definir os parâmetros dessas séries e inicialmente as preencheremos com dados históricos.
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.
Usando a Análise Discriminante para Desenvolver Sistemas de Negociação
Usando a Análise Discriminante para Desenvolver Sistemas de Negociação

Usando a Análise Discriminante para Desenvolver Sistemas de Negociação

Ao desenvolver um sistema de negócio, geralmente surgem problemas ao selecionar a melhor combinação de indicadores e seus sinais. A análise discriminante é um dos métodos para encontrar tais combinações. O artigo fornece um exemplo do desenvolvimento de um EA para a coleta de dados do mercado e ilustra o uso da análise discriminante para construir modelos de prognóstico para o mercado FOREX no software Statistica.
Biblioteca para desenvolvimento fácil e rápido de programas para a MetaTrader (parte X): Compatibilidade com a MQL4 - Eventos de abertura de posição e ativação de ordens pendentes
Biblioteca para desenvolvimento fácil e rápido de programas para a MetaTrader (parte X): Compatibilidade com a MQL4 - Eventos de abertura de posição e ativação de ordens pendentes

Biblioteca para desenvolvimento fácil e rápido de programas para a MetaTrader (parte X): Compatibilidade com a MQL4 - Eventos de abertura de posição e ativação de ordens pendentes

Nos artigos anteriores, nós começamos a criar uma grande biblioteca multi-plataforma, simplificando o desenvolvimento de programas para as plataformas MetaTrader 5 e MetaTrader 4. Na nona parte, nós começamos a melhorar as classes da biblioteca para trabalhar com a MQL4. Aqui nós continuaremos melhorando a biblioteca para garantir sua total compatibilidade com a MQL4.
Qualidade de Modelagem dos Dados de Um Minuto
Qualidade de Modelagem dos Dados de Um Minuto

Qualidade de Modelagem dos Dados de Um Minuto

Qualidade de Modelagem dos Dados de Um Minuto
Lite_EXPERT2.mqh: Exemplos da implementação do Expert Advisor
Lite_EXPERT2.mqh: Exemplos da implementação do Expert Advisor

Lite_EXPERT2.mqh: Exemplos da implementação do Expert Advisor

Neste artigo, o autor continua a familiarizar os leitores com as funções do Lite_EXPERT2.mqh, usando exemplos reais da aplicação do Expert Advisor. O artigo lida com a idéia de usar ordens pendentes flutuantes e ordens pendentes que variam dinamicamente de negócio para negócio, determinados com base nos valores do indicador Average True Range (ATR).
Indicadores personalizados e infográficos no CCanvas
Indicadores personalizados e infográficos no CCanvas

Indicadores personalizados e infográficos no CCanvas

O artigo considera novos tipos de indicadores com uma implementação estrutural mais complexa. Ele também descreve o desenvolvimento de indicadores do tipo pseudo-3D e infográficos dinâmicos.
preview
Desenvolvendo um EA de negociação do zero (Parte 14): Volume at Price (II)

Desenvolvendo um EA de negociação do zero (Parte 14): Volume at Price (II)

Aqui vamos adicionar recursos diversos no nosso EA. Este artigo vai ser bastante interessante, podendo direcionar você a novas ideias e métodos de apresentar informações e ao mesmo tempo corrigir pequenas falhas nos seus projetos.
Gerenciamento de pedidos - É simples
Gerenciamento de pedidos - É simples

Gerenciamento de pedidos - É simples

O artigo trata das várias formas de se controlar posições abertas e pedidos pendentes. Ele tem como objetivo simplificar a escrita de Expert Advisors.
Abordagem ideal para desenvolver e analisar sistemas de negociação
Abordagem ideal para desenvolver e analisar sistemas de negociação

Abordagem ideal para desenvolver e analisar sistemas de negociação

Neste artigo, além de tentar apresentar que critérios usar ao escolher um sistema ou sinal para investir seu dinheiro, aventurar-me-ei a mostrar qual é a melhor abordagem para desenvolver sistemas de negociação, e explicar por que isso é tão importante ao operar moedas.
Sistema de Negociação Mecânica "Triângulo de Chuvashov's"
Sistema de Negociação Mecânica "Triângulo de Chuvashov's"

Sistema de Negociação Mecânica "Triângulo de Chuvashov's"

Deixe-me oferecer-lhe uma visão geral e um código de programa do sistema de negociação mecânica baseado nas ideias de Stanislav Chuvashov. A construção do triângulo é baseada na intersecção de duas linhas de tendência construídas pelos fractais de alta e de baixa.
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.
Análise de Regressão da Influência dos Dados Macroeconômicos sobre a Flutuação nos Preços da Moeda
Análise de Regressão da Influência dos Dados Macroeconômicos sobre a Flutuação nos Preços da Moeda

Análise de Regressão da Influência dos Dados Macroeconômicos sobre a Flutuação nos Preços da Moeda

Este artigo considera a aplicação da análise de regressão múltipla com estatísticas macroeconômicas. Ele também nos dá uma visão sobre a avaliação dos impactos estatísticos sobre a flutuação da taxa de câmbio, utilizando como exemplo o par de moeda EURUSD. Essa avaliação permite automatizar a análise fundamental, tornando-se disponível até mesmo para os traders novatos.
Base Teórica da Construção de Indicadores de cluster para FOREX
Base Teórica da Construção de Indicadores de cluster para FOREX

Base Teórica da Construção de Indicadores de cluster para FOREX

Indicadores de cluster são conjuntos de indicadores que dividem pares de moedas correntes em moedas distintas. Os indicadores permitem traçar a flutuação da moeda corrente, determinar o potencial de formatação de novas tendências de moeda, receber sinais do mercado e seguir posições de médio e longo prazo.
Expert Advisor Universal: Negociação em Grupo e Gestão de uma Carteira de Estratégias (Parte 4)
Expert Advisor Universal: Negociação em Grupo e Gestão de uma Carteira de Estratégias (Parte 4)

Expert Advisor Universal: Negociação em Grupo e Gestão de uma Carteira de Estratégias (Parte 4)

Na última parte da série de artigos sobre o mecanismo de negociação CStrategy, vamos considerar a operação simultânea de vários algoritmos de negociação, aprenderemos a carregar estratégias de arquivos XML, e apresentaremos um painel simples para selecionar Expert Advisors partir de um único módulo executável e gerenciar os seus modos de negociação.