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
Interfaces Gráficas II: Os Elementos Linha de Separação e o Menu de Contexto (Capítulo 2)
Interfaces Gráficas II: Os Elementos Linha de Separação e o Menu de Contexto (Capítulo 2)

Interfaces Gráficas II: Os Elementos Linha de Separação e o Menu de Contexto (Capítulo 2)

Neste artigo, nós vamos criar o elemento linha de separação. Será possível usá-lo não só como um elemento de interface independentes, mas também como uma parte de diversos outros elementos. Depois disso, nós teremos todos os recursos necessários para o desenvolvimento da classe do menu de contexto, que também serão considerados neste artigo em detalhe. Acrescentando, nós vamos apresentar todos os incrementos necessários à classe, que é a base para armazenar os ponteiros para todos os elementos da interface gráfica da aplicação.
preview
Receitas MQL5: Calendário Econômico

Receitas MQL5: Calendário Econômico

Este artigo se trata das funcionalidades programáticas usadas ao trabalhar usando o calendário econômico. Para implementá-las, criaremos uma classe para facilitar o acesso às propriedades do calendário e receber valores de eventos. Como exemplo prático, programaremos um indicador que utiliza dados da CFTC sobre as posições líquidas de especuladores.
preview
Avaliação visual de resultados de otimização

Avaliação visual de resultados de otimização

Neste artigo discutiremos como plotar todas passagens das otimizações e como selecionar o critério ótimo personalizado. Além disso, falaremos sobre como programarmos o que quisermos, simplesmente recorrendo a um conhecimento mínimo em MQL5, a uma grande vontade, ao uso dos artigos do site e aos comentários do fórum.
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.
Interfaces Gráficas XI: Refatoração do código da biblioteca (build 14.1)
Interfaces Gráficas XI: Refatoração do código da biblioteca (build 14.1)

Interfaces Gráficas XI: Refatoração do código da biblioteca (build 14.1)

À medida que a biblioteca cresce, seu código deve ser otimizado novamente para reduzir o seu tamanho. A versão da biblioteca descrita neste artigo tornou-se ainda mais orientada a objetos. Isso tornou o código mais amigável para o aprendizado. Uma descrição detalhada das últimas mudanças permitirá que os leitores desenvolvam a biblioteca de maneira independentemente de acordo com suas próprias necessidades.
Construção de linhas fractais
Construção de linhas fractais

Construção de linhas fractais

O artigo descreve a construção de linhas fractais de vários tipos através do uso de linhas de tendência e fractais.
Utilitário de seleção e navegação em MQL5 e MQL4: Adição da busca automática de padrões e exibição dos símbolos detectados
Utilitário de seleção e navegação em MQL5 e MQL4: Adição da busca automática de padrões e exibição dos símbolos detectados

Utilitário de seleção e navegação em MQL5 e MQL4: Adição da busca automática de padrões e exibição dos símbolos detectados

Neste artigo, nós continuamos expandindo os recursos do utilitário para coleta e navegação através dos símbolos. Desta vez, nós criaremos novas guias exibindo apenas os símbolos que satisfazem alguns dos parâmetros necessários e descobriremos como adicionar facilmente guias personalizadas com as regras de classificação necessárias.
preview
Algoritmos de otimização populacionais: Otimizador lobo-cinzento (GWO)

Algoritmos de otimização populacionais: Otimizador lobo-cinzento (GWO)

Vamos falar sobre um dos algoritmos de otimização mais recentes e modernos: o "Packs of grey wolves" (manada de lobos-cinzentos). Devido ao seu comportamento distinto em funções de teste, este algoritmo se torna um dos mais interessantes em comparação com outros considerados anteriormente. Ele é um dos principais candidatos para treinamento de redes neurais e para otimizar funções suaves com muitas variáveis.
Expert Advisor gráfico: AutoGraf
Expert Advisor gráfico: AutoGraf

Expert Advisor gráfico: AutoGraf

O artigo mostra a operacionalidade de gráficos na criação de uma interface conveniente para o gerenciamento de transações.
preview
Aprendendo a construindo um EA que opera de forma automática (Parte 08): OnTradeTransaction

Aprendendo a construindo um EA que opera de forma automática (Parte 08): OnTradeTransaction

Neste artigo, mostrei como você pode usar o sistema de tratamento de eventos, a fim de conseguir lidar com mais agilidade, e de uma forma melhor com questões envolvendo o sistema de ordens, a fim de deixar o EA mais rápido. Assim ele não precisará, ficar procurando informações a todo o momento.
Alert e Comment para Indicadores Externos (Parte II)
Alert e Comment para Indicadores Externos (Parte II)

Alert e Comment para Indicadores Externos (Parte II)

Desde que publiquei o artigo "Alert e Comment para indicadores externos", tenho recebido pedidos e perguntas a respeito da possibilidade de desenvolver uma operação baseada em informação externa com linhas de indicador, tendo analisado as perguntas, eu decidi continuar com o assunto. Os dados armazenados em buffers de indicador acabaram despertando outra área de interesse dos usuários.
Como cortar um Código de EA para uma vida mais fácil e menos erros
Como cortar um Código de EA para uma vida mais fácil e menos erros

Como cortar um Código de EA para uma vida mais fácil e menos erros

Um conceito simples descrito no artigo permite que as pessoas que desenvolvem sistemas de trading automatizados em MQL4 simplifiquem os sistemas de trading existentes, bem como reduzir o tempo necessário para o desenvolvimento de novos sistemas devido a códigos mais curtos.
Trademinator 3: ascensão das máquinas comerciais
Trademinator 3: ascensão das máquinas comerciais

Trademinator 3: ascensão das máquinas comerciais

No artigo "Dr. Tradelove..." criamos um Exper Advisor, que otimiza parâmetros independentemente do sistema de negociação pré-selecionado. Além disso, decidimos criar um Expert Advisor que não apenas otimizasse parâmetros de um sistema de negócio destacando o EA, mas também selecione o melhor dos vários sistemas de negócio. Vamos ver o que pode resultar disso...
Integrando o terminal do cliente do MetaTrader 4 com o MS SQL SERVER
Integrando o terminal do cliente do MetaTrader 4 com o MS SQL SERVER

Integrando o terminal do cliente do MetaTrader 4 com o MS SQL SERVER

O artigo dá um exemplo de integração do terminal do cliente do MetaTrader 4 com o MS SQL SERVER usando um dll. Em anexo estão ambos os códigos fontes em C ++ e no MQL4, e um projeto pronto e compilado Visual C++ 6.0 SP5.
preview
Como desenvolver um sistema de negociação baseado no indicador OBV

Como desenvolver um sistema de negociação baseado no indicador OBV

Este é um novo artigo para continuar a nossa série para iniciantes sobre como desenvolver um sistema de negociação com base em alguns dos indicadores populares. Nós aprenderemos um novo indicador que é o On Balance Volume (OBV), e nós aprenderemos como podemos usá-lo e projetar um sistema de negociação baseado nele.
Escolha automatizada de corretora para um funcionamento eficiente do Expert Advisors
Escolha automatizada de corretora para um funcionamento eficiente do Expert Advisors

Escolha automatizada de corretora para um funcionamento eficiente do Expert Advisors

Não é segredo que, para um funcionamento eficaz do Expert Advisors, precisamos encontrar uma corretora adequada. Este artigo descreve um sistema de abordagem para esta busca. Você vai se familiarizar com o processo de criação de um programa com dll para trabalhar com diferentes terminais.
Algoritmos de média eficiente com lag mínimo: Uso em indicadores
Algoritmos de média eficiente com lag mínimo: Uso em indicadores

Algoritmos de média eficiente com lag mínimo: Uso em indicadores

O artigo descreve funções personalizadas de alta qualidade de cálculo da média desenvolvidas pelo autor: JJMASeries(), JurXSeries(), JLiteSeries(), ParMASeries(), LRMASeries(), T3Series(). O artigo também trata da aplicação das funções acima em indicadores. O autor apresenta uma rica biblioteca de indicadores com base no uso dessas funções.
Gráficos na biblioteca DoEasy (Parte 81): integrando gráficos nos objetos da biblioteca
Gráficos na biblioteca DoEasy (Parte 81): integrando gráficos nos objetos da biblioteca

Gráficos na biblioteca DoEasy (Parte 81): integrando gráficos nos objetos da biblioteca

Hoje começaremos a integrar os objetos gráficos já criados nos restantes, o que, em última análise, dotará cada objeto da biblioteca com seu próprio objeto gráfico, permitindo ao usuário interagir com o programa.
Análise Fractal dos Movimentos Conjuntos de Moedas
Análise Fractal dos Movimentos Conjuntos de Moedas

Análise Fractal dos Movimentos Conjuntos de Moedas

O quanto independente são as cotações das moedas? São os seus movimentos coordenados ou não? O movimento de uma moeda sugere o movimento de outra? O artigo tenta resolver esta questão usando uma dinâmica não-linear e métodos geométricos fractais.
preview
Estratégia de negociação simples: Reversão à média

Estratégia de negociação simples: Reversão à média

A reversão à média é um tipo de negociação contra-tendência em que o trader espera que o preço retorne a algum tipo de equilíbrio, geralmente medido por uma média ou outra estatística de tendência central.
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.
Interfaces gráficas X: Seleção de texto na caixa de texto multilinha (build 13)
Interfaces gráficas X: Seleção de texto na caixa de texto multilinha (build 13)

Interfaces gráficas X: Seleção de texto na caixa de texto multilinha (build 13)

Este artigo implementará a possibilidade de selecionar o texto usando várias combinações de teclas e excluir o texto selecionado, da mesma maneira que é feito em outros editores de texto. Além disso, vamos continuar com a otimização do código e prepararemos as classes para avançar para o processo final do segundo estágio da evolução da biblioteca, onde todos os controles serão renderizados como imagens separadas (telas).
Verificador no terminal MetaTrader 4: Deve-se saber
Verificador no terminal MetaTrader 4: Deve-se saber

Verificador no terminal MetaTrader 4: Deve-se saber

A interface elaborada do terminal MetaTrader4 é de primeira linha, mas além disso, o terminal inclui um verificador de estratégias bem preparado. E enquanto o valor do MetaTrader 4 como sistema de trading é óbvio, a qualidade do verificador de estratégia só pode ser avaliada na prática. Este artigo mostra as vantagens e conveniências de testes no MetaTrader 4.
Estratégias de negociação
Estratégias de negociação

Estratégias de negociação

Todas as categorias de classificação de estratégias de negociação são inteiramente arbitrárias. A classificação abaixo tem como objetivo enfatizar as diferenças básicas entre abordagens possíveis de negociação.
LibMatrix: Biblioteca de Álgebra Matricial (Parte I)
LibMatrix: Biblioteca de Álgebra Matricial (Parte I)

LibMatrix: Biblioteca de Álgebra Matricial (Parte I)

O autor familiariza os leitores com uma simples biblioteca de álgebra matricial e fornece descrições e peculiaridades das principais funções.
Eventos no MetaTrader 4
Eventos no MetaTrader 4

Eventos no MetaTrader 4

O artigo trata do monitoramento programado de eventos no terminal do cliente do MetaTrader 4, como a abertura/fechamento/modificação de pedidos, e é destinado a um usuário que possua habilidades básicas no trabalho com o terminal e em programação em MQL4.
preview
Matrizes e vetores em MQL5

Matrizes e vetores em MQL5

Os tipos de dados especiais matrix e vector permitem escrever um código que se aproxima da notação matemática. Isto poupa o trabalho de criar laços aninhados e de lembrar de indexar corretamente as matrizes que estão envolvidas no cálculo. Isto aumenta a confiabilidade e a velocidade de desenvolvimento de programas complexos.
Teste de expert advisors no terminal do cliente MetaTrader 4: Um olhar para fora
Teste de expert advisors no terminal do cliente MetaTrader 4: Um olhar para fora

Teste de expert advisors no terminal do cliente MetaTrader 4: Um olhar para fora

O que acontece após você clicar no botão "iniciar"? O artigo traz a resposta desta e de várias outras perguntas.
Expert Advisor para Negociação no Canal
Expert Advisor para Negociação no Canal

Expert Advisor para Negociação no Canal

O Expert Advisor desenha linhas para formar um canal. As linhas de canal superior e inferior atuam como níveis de suporte e resistência. O Expert Advisor marca pontos de referência, fornece notificação sonora toda vez que o preço atinge ou cruza as linhas do canal e desenha os símbolos dos pontos principais. Após a formação do fractal, as setas correspondentes aparecem nas últimas barras. Linhas de rompimentos podem sugerir a possibilidade de uma tendência crescente. O Expert Advisor é amplamente comentado em toda a sua extensão.
preview
Indicadores múltiplos em um gráfico (Parte 03): Desenvolvendo definições para usuários

Indicadores múltiplos em um gráfico (Parte 03): Desenvolvendo definições para usuários

Primeira atualização nas funcionalidades no sistema indicador. No artigo anterior Indicadores múltiplos em um gráfico eu expliquei o código base para poder usar mais de um indicador dentro de uma sub janela, mas aquilo que foi apresentado foi apenas a base inicial de um sistema muito maior.
Envio de sinais de negociação em um expert advisor universal
Envio de sinais de negociação em um expert advisor universal

Envio de sinais de negociação em um expert advisor universal

O artigo descreve formas de envio de sinais a partir de uma unidade de programa de sinal de um expert advisor universal para a unidade de controle de posições e pedidos. Ele trata de interfaces seriais e paralelas.
Conselhos de um programador profissional (Parte II): armazenamento e troca de parâmetros entre um EA, scripts e programas externos
Conselhos de um programador profissional (Parte II): armazenamento e troca de parâmetros entre um EA, scripts e programas externos

Conselhos de um programador profissional (Parte II): armazenamento e troca de parâmetros entre um EA, scripts e programas externos

Conselhos de um programador profissional sobre métodos, técnicas e ferramentas auxiliares para tornar a programação mais fácil. Hoje falaremos sobre os parâmetros que podem ser restaurados após reiniciar (fechar) o terminal. Na verdade, todos os exemplos apresentados são partes funcionais do código do meu projeto Cayman.
preview
Ciência de Dados e Aprendizado de Máquina — Redes Neurais (Parte 01): Entendendo as Redes Neurais Feed Forward

Ciência de Dados e Aprendizado de Máquina — Redes Neurais (Parte 01): Entendendo as Redes Neurais Feed Forward

Muitas pessoas as amam, mas apenas alguns entendem todas as operações por trás das Redes Neurais. Neste artigo, eu tentarei explicar tudo o que acontece por trás dos bastidores de um perceptron multicamadas feed-forward de maneira simples.
Eliminação de DLLs autogeradas
Eliminação de DLLs autogeradas

Eliminação de DLLs autogeradas

Se a linguagem MQL5 funcional não é suficiente para o cumprimento de tarefas, um programador MQL5 tem que usar ferramentas adicionais. Ele \ ela tem que passar para outra linguagem de programação e criar uma DLL intermediária. O MQL5 tenha a possibilidade de apresentar vários tipos de dados e transferí-los à API mas, infelizmente o MQL5 não pode resolver a questão levando em consideração a extração de dados do ponteiro aceito. Neste artigo vamos pontuar todos os "i"s e mostrar mecanismos simples de transferência e trabalho tipos complexos de dados.
A Mágica dos Filtros
A Mágica dos Filtros

A Mágica dos Filtros

A maioria dos desenvolvedores de sistemas automatizados de negociação usam algum tipo de filtro nos sinais de negociação. Neste artigo, vamos explorar a criação e implementação de filtros passa-faixa e discretos e de cruzamento de bandas para Expert Advisors, com o objetivo de melhorar as características do sistema de negociação automática.
Biblioteca para desenvolvimento fácil e rápido de programas para a MetaTrader (parte IX): Compatibilidade com a MQL4 - Preparação dos dados
Biblioteca para desenvolvimento fácil e rápido de programas para a MetaTrader (parte IX): Compatibilidade com a MQL4 - Preparação dos dados

Biblioteca para desenvolvimento fácil e rápido de programas para a MetaTrader (parte IX): Compatibilidade com a MQL4 - Preparação dos dados

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 oitava parte, nós implementamos a classe para monitorar os eventos de modificação de ordens e posições. Aqui, nós melhoraremos a biblioteca tornando-a totalmente compatível com a MQL4.
preview
Busca de padrões sazonais no mercado de Forex usando o algoritmo CatBoost

Busca de padrões sazonais no mercado de Forex usando o algoritmo CatBoost

O artigo considera a criação de modelos de aprendizado de máquina com filtros de tempo e discute a eficácia dessa abordagem. O fator humano pode ser eliminado agora simplesmente instruindo o modelo a negociar em uma determinada hora de um determinado dia da semana. A busca de padrões pode ser fornecida por um algoritmo separado.
Metalinguagem dos pedidos-linhas de gráfico. Trading e aprendizagem qualificada em trading
Metalinguagem dos pedidos-linhas de gráfico. Trading e aprendizagem qualificada em trading

Metalinguagem dos pedidos-linhas de gráfico. Trading e aprendizagem qualificada em trading

O artigo descreve uma linguagem simples e acessível de pedidos gráficos de trading compatíveis com análises técnicas tradicionais. O Gterminal em anexo é um Expert Advisor semiautomatizado usado em resultados de trading de análises gráficas. Melhor usado para autoaprendizagem e treinamento de traders iniciantes.
Operações de arquivo via WinAPI
Operações de arquivo via WinAPI

Operações de arquivo via WinAPI

O ambiente do MQL4 é baseado no conceito seguro de "sandbox": ler e salvar arquivos usando a linguagem é permitido somente em algumas pastas pré-definidas Isso protege o usuário do MetaTrader 4 do perigo em potencial de danificar dados importantes no HDD. Entretanto, às vezes, é necessário deixar essa área segura. Esse artigo dedica-se ao problema de como fazer isso facilmente e de forma correta.
Padrões disponíveis para negociação de cestas de moedas. Parte II
Padrões disponíveis para negociação de cestas de moedas. Parte II

Padrões disponíveis para negociação de cestas de moedas. Parte II

Continuação da conversa sobre padrões que podem ser detectados pelo trader ao operar pares de moedas. Esta parte descreve os padrões formados durante o uso combinado de indicadores de tendência. Como ferramentas de análise são usados indicadores construídos com base num índice de moeda.