Artigos com exemplos de como programar na linguagem MQL5

icon

Inúmeros artigos com exemplos sobre como criar indicadores e robôs de negociação para a plataforma MetaTrader na linguagem MQL5 esperam por você. Cada artigo é acompanhado de códigos-fonte, que você pode abrir no MetaEditor e executar por conta própria.

Esses artigos serão úteis tanto para quem está se iniciando na negociação automatizada, bem como traders capacitados com experiência em programação e negociação. Aqui você encontrará não apenas exemplos, mas também novas ideias.

Novo artigo
recentes | melhores
Biblioteca para desenvolvimento fácil e rápido de programas MetaTrader (parte VII): Eventos de ativação da ordem StopLimit, preparação da funcionalidade para os eventos de modificação de ordens e posições
Biblioteca para desenvolvimento fácil e rápido de programas MetaTrader (parte VII): Eventos de ativação da ordem StopLimit, preparação da funcionalidade para os eventos de modificação de ordens e posições

Biblioteca para desenvolvimento fácil e rápido de programas MetaTrader (parte VII): Eventos de ativação da ordem StopLimit, preparação da funcionalidade para os eventos de modificação de ordens e posições

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 sexta parte, nós treinamos a biblioteca para trabalhar com as posições nas contas netting. Aqui, nós implementaremos o monitoramento da ativação das ordens StopLimit e prepararemos uma funcionalidade para o monitoramento de eventos de modificação de ordens e posições.
Crie o seu próprio Indicador técnico
Crie o seu próprio Indicador técnico

Crie o seu próprio Indicador técnico

Neste artigo, eu abordarei os algoritmos que permitem que você crie o seu próprio indicador técnico. Você aprenderá como obter resultados bem complexos e interessantes com suposições iniciais muito simples.
preview
Desenvolvendo um EA de negociação do zero (Parte 29): Plataforma falante

Desenvolvendo um EA de negociação do zero (Parte 29): Plataforma falante

Neste artigo vamos aprender como fazer a plataforma MT5 falar. Que tal deixar o EA mais divertido? Operar mercados financeiros costuma ser uma atividade extremamente chata e monótona, mas podemos deixar as coisas um pouco menos monótonas, apesar de que isto pode ser perigoso caso você tenha algum problema que lhe faça ficar viciado, pode ser que a coisa fique um pouco menos chata.
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.
Interfaces gráficas X: Ordenação, reconstrução da tabela e controles nas células (build 11)
Interfaces gráficas X: Ordenação, reconstrução da tabela e controles nas células (build 11)

Interfaces gráficas X: Ordenação, reconstrução da tabela e controles nas células (build 11)

Nós continuamos a adicionar novos recursos para a tabela renderizada: ordenação dos dados, gerenciamento do número de colunas e linhas, definição dos tipos de células da tabela para colocar os controles dentro delas.
preview
Operações com Matrizes e Vetores em MQL5

Operações com Matrizes e Vetores em MQL5

Matrizes e vetores foram introduzidos na MQL5 para operações eficientes com soluções matemáticas. Os novos tipos oferecem métodos integrados para a criação de código conciso e compreensível que se aproxima da notação matemática. Os arrays fornecem recursos extensos, mas há muitos casos em que as matrizes são muito mais eficientes.
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.
preview
Como Integrar o Conceito de Smart Money (BOS) Junto com o Indicador RSI em um EA

Como Integrar o Conceito de Smart Money (BOS) Junto com o Indicador RSI em um EA

Conceito de Smart Money (Break Of Structure) acoplado com o Indicador RSI para tomar decisões informadas de negociação automatizada com base na estrutura do mercado.
preview
Estratégia de Negociação do SP500 em MQL5 para Iniciantes

Estratégia de Negociação do SP500 em MQL5 para Iniciantes

Descubra como aproveitar o MQL5 para prever o S&P 500 com precisão, misturando a análise técnica clássica para maior estabilidade e combinando algoritmos com princípios testados pelo tempo para obter insights robustos do mercado.
Interfaces Gráficas II: Configuração dos manipuladores de eventos da Biblioteca (Capítulo 3)
Interfaces Gráficas II: Configuração dos manipuladores de eventos da Biblioteca (Capítulo 3)

Interfaces Gráficas II: Configuração dos manipuladores de eventos da Biblioteca (Capítulo 3)

Os artigos anteriores contêm a implementação das classes para criar os componentes do menu principal. Agora, está na hora de olharmos com mais atenção os manipuladores de eventos nas classes base principais e dos controles criados. Nós também prestaremos uma atenção especial na gestão do estado do gráfico, dependendo da localização do cursor do mouse.
Trabalhando com séries temporais na biblioteca DoEasy (Parte 45): buffers de indicador multiperíodo
Trabalhando com séries temporais na biblioteca DoEasy (Parte 45): buffers de indicador multiperíodo

Trabalhando com séries temporais na biblioteca DoEasy (Parte 45): buffers de indicador multiperíodo

Neste artigo, começaremos a modificar os objetos-buffers de indicador e a classe da coleção de buffers para trabalhar nos modos multiperíodo e multissímbolo. Veremos o funcionamento dos objetos-buffers para receber e exibir dados de qualquer timeframe no gráfico do símbolo atual.
preview
Modelos prontos para integrar indicadores nos Expert Advisors (Parte 1): Osciladores

Modelos prontos para integrar indicadores nos Expert Advisors (Parte 1): Osciladores

Neste artigo, examinaremos os indicadores padrão da categoria Osciladores. Criaremos modelos prontos a serem usados em Expert Advisors, modelos esses que incluirão: declaração e configuração de parâmetros, inicialização/desinicialização de indicadores e recuperação de dados/sinais a partir de buffers de indicador em EAs.
preview
Trabalhando com séries temporais na biblioteca DoEasy (Parte 52): natureza multiplataforma de indicadores padrão multiperíodos multissímbolos de buffer único

Trabalhando com séries temporais na biblioteca DoEasy (Parte 52): natureza multiplataforma de indicadores padrão multiperíodos multissímbolos de buffer único

Neste artigo, consideraremos a criação de um indicador padrão Accumulation/Distribution multissímbolo multiperíodo. Para que os programas escritos para a plataforma MetaTrader 4 desatualizada baseada nesta biblioteca funcionem normalmente ao mudar para o MetaTrader 5, iremos modificar ligeiramente as classes da biblioteca, a nível de indicadores.
preview
Conjunto de ferramentas para marcação manual de gráficos e negociação (Parte III). Otimização e novas ferramentas

Conjunto de ferramentas para marcação manual de gráficos e negociação (Parte III). Otimização e novas ferramentas

Desenvolveremos o tema do desenho de objetos gráficos em gráficos usando atalhos de teclado. Foram acrescentadas novas ferramentas à biblioteca, em particular uma linha reta, que atravessa máximos arbitrários, e um conjunto de retângulos que permitem estimar tanto o nível quanto o tempo de reversão. Também veremos a possibilidade de otimizar o código para melhorar o desempenho. O exemplo de implementação será reescrito como um indicador, o que tornará possível definir Shortcuts junto com outros programas de negociação. O nível de proficiência do código está um pouco acima do nível de iniciante.
preview
Desenvolvendo um EA de negociação do zero (Parte 25): Dado robustez ao sistema (II)

Desenvolvendo um EA de negociação do zero (Parte 25): Dado robustez ao sistema (II)

Aqui vamos terminar de dar uma alavancada na performance do EA ... então preparem-se para uma longa leitura. A primeira coisa que iremos fazer para dar robustez ao nosso EA será retirar tudo e absolutamente tudo que não faça parte do sistema de negociação de entro do código.
preview
Trabalhando com o tempo (Parte 2): funções

Trabalhando com o tempo (Parte 2): funções

Vamos aprender a reconhecer automaticamente as diferenças de tempo junto à corretora, bem como o Tempo Médio de Greenwich. Em vez de preguntar à corretora, que provavelmente dará uma resposta imprecisa (e quem quer explicar onde está o horário de negociação?), seremos nós mesmos a ver a que horas ela recebe as cotações nas semanas em que os fusos horários são trocados. Mas é claro que não vamos fazer isso manualmente, deixaremos o software fazer o trabalho por nós.
preview
Trabalhando com séries temporais na biblioteca DoEasy (Parte 57): objeto de dados do buffer do indicador

Trabalhando com séries temporais na biblioteca DoEasy (Parte 57): objeto de dados do buffer do indicador

Neste artigo, veremos um objeto que conterá todos os dados de um buffer de um indicador. Tais objetos serão necessários para armazenar dados seriais de buffers de indicadores, e com a ajuda dos quais será possível classificar e comparar dados de buffers de quaisquer indicadores e outros dados semelhantes entre si.
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.
preview
Desenvolvendo um EA de negociação do zero (Parte 30): CHART TRADE agora como indicador ?!

Desenvolvendo um EA de negociação do zero (Parte 30): CHART TRADE agora como indicador ?!

Trazendo o Chart Trade de volta a ativa ... mas agora ele será um indicador e poderá ou não estar presente no gráfico.
Outras classes na biblioteca DoEasy (Parte 72): rastreamento e fixação dos parâmetros de objetos-gráficos numa coleção
Outras classes na biblioteca DoEasy (Parte 72): rastreamento e fixação dos parâmetros de objetos-gráficos numa coleção

Outras classes na biblioteca DoEasy (Parte 72): rastreamento e fixação dos parâmetros de objetos-gráficos numa coleção

Neste artigo, vamos finalizar as classes de objetos-gráficos e de sua coleção. Faremos o rastreamento automático das alterações das propriedades dos gráficos e das suas janelas, bem como o armazenamento de novos parâmetros nas propriedades do objeto. Este aprimoramento nos permitirá gerar uma funcionalidade de evento para toda a coleção de gráficos no futuro.
preview
StringFormat(). Visão geral, exemplos de uso prontos

StringFormat(). Visão geral, exemplos de uso prontos

O artigo é uma continuação da revisão da função PrintFormat(). Veremos brevemente a formatação de strings usando StringFormat() e seu uso posterior no programa. Escreveremos modelos para exibir informações sobre um símbolo no log do terminal. Este artigo será útil tanto para iniciantes quanto para desenvolvedores experientes.
Interfaces Gráficas X: Novos recursos para a tabela Renderizada (build 9)
Interfaces Gráficas X: Novos recursos para a tabela Renderizada (build 9)

Interfaces Gráficas X: Novos recursos para a tabela Renderizada (build 9)

Até agora, o tipo mais avançado de tabelas já desenvolvido em nossa biblioteca foi a CTable. Esta tabela é montada a partir de caixas de edição do tipo OBJ_EDIT, e seu posterior desenvolvimento tornou-se problemático. Portanto, em termos de capacidades máximas, é melhor desenvolver tabelas renderizadas do tipo CCanvasTable mesmo no atual estágio de desenvolvimento da biblioteca. Sua versão atual está completamente inerte, mas a partir deste artigo, nós vamos tentar corrigir esta situação.
preview
Usando a classe CCanvas em aplicativos MQL

Usando a classe CCanvas em aplicativos MQL

Neste artigo falaremos sobre o uso da classe CCanvas em aplicações MQL, com uma descrição detalhada e exemplos, para que o usuário tenha uma compreensão básica de como usar esta ferramenta
Como se tornar um bom programador (Parte 3): cinco dicas para programar melhor em MQL5
Como se tornar um bom programador (Parte 3): cinco dicas para programar melhor em MQL5

Como se tornar um bom programador (Parte 3): cinco dicas para programar melhor em MQL5

Este artigo é uma leitura obrigatória destinada a todos que desejam melhorar sua carreira como programadores. O objetivo desta série de artigos é ajudar o leitor, incluindo experientes, a melhorar suas habilidades de programação. As ideias descritas são aplicáveis tanto a programadores iniciantes em MQL5 quanto a profissionais.
Gráficos na biblioteca DoEasy (Parte 82): refatoração dos objetos da biblioteca e da coleção de objetos gráficos
Gráficos na biblioteca DoEasy (Parte 82): refatoração dos objetos da biblioteca e da coleção de objetos gráficos

Gráficos na biblioteca DoEasy (Parte 82): refatoração dos objetos da biblioteca e da coleção de objetos gráficos

Neste artigo modificaremos todos os objetos da biblioteca. Para isso, atribuiremos um tipo único a cada objeto e continuaremos desenvolvendo a classe-coleção de objetos gráficos da biblioteca.
Interfaces Gráficas X: Atualizações para a tabela Renderizada e otimização do código (build 10)
Interfaces Gráficas X: Atualizações para a tabela Renderizada e otimização do código (build 10)

Interfaces Gráficas X: Atualizações para a tabela Renderizada e otimização do código (build 10)

Nós continuamos a complementar a tabela renderizada (CCanvasTable) com novas funcionalidades. A tabela terá agora: o realce das linhas quando o mouse estiver em cima; possibilidade de adicionar um array de ícones para cada célula e um método para trocá-los; possibilidade de definir ou modificar o texto da célula durante a execução do programa, e muito mais.
Trabalhando com preços na biblioteca DoEasy (Parte 62): atualização em tempo real da série de ticks, preparação para trabalhar com o livro de ofertas
Trabalhando com preços na biblioteca DoEasy (Parte 62): atualização em tempo real da série de ticks, preparação para trabalhar com o livro de ofertas

Trabalhando com preços na biblioteca DoEasy (Parte 62): atualização em tempo real da série de ticks, preparação para trabalhar com o livro de ofertas

Neste artigo, atualizaremos em tempo real da coleção de dados de ticks e prepararemos a classe do objeto-símbolo para trabalhar com o livro de ofertas, cujo funcionamento abordaremos no próximo artigo.
preview
Modelos de classificação da biblioteca Scikit-learn e sua exportação para o formato ONNX

Modelos de classificação da biblioteca Scikit-learn e sua exportação para o formato ONNX

Neste artigo, exploraremos o uso de todos os modelos de classificação do pacote Scikit-learn para resolver o problema de classificação dos íris de Fisher, tentaremos convertê-los para o formato ONNX e usaremos os modelos resultantes em programas MQL5. Também compararemos a precisão dos modelos originais e suas versões ONNX no Iris dataset completo.
Como se tornar um bom programador (Parte 7): como se tornar um desenvolvedor freelancer de sucesso
Como se tornar um bom programador (Parte 7): como se tornar um desenvolvedor freelancer de sucesso

Como se tornar um bom programador (Parte 7): como se tornar um desenvolvedor freelancer de sucesso

Quer se tornar um desenvolvedor de sucesso no Freelance da MQL5.Community? Então recomendo a leitura das dicas deste artigo.
preview
DoEasy. Controles (Parte 1): Primeiros passos

DoEasy. Controles (Parte 1): Primeiros passos

Com este artigo, iniciamos um tópico extenso sobre a criação de controles em MQL5 com base no estilo do Windows Forms. E vamos começar criando uma classe-painel. Tudo já está se tornando difícil sem a presença de controles. Por isso, criaremos todos os controles possíveis no estilo do Windows Forms.
preview
Algoritmos de otimização populacional: Método Nelder-Mead (NM)

Algoritmos de otimização populacional: Método Nelder-Mead (NM)

O artigo apresenta um estudo completo do método Nelder-Mead explicando como o simplex — o espaço dos parâmetros da função — muda e se reestrutura a cada iteração para alcançar a solução ótima, e também descreve como melhorar este método.
Gráficos na biblioteca DoEasy (Parte 74): elemento gráfico básico baseado na classe CCanvas
Gráficos na biblioteca DoEasy (Parte 74): elemento gráfico básico baseado na classe CCanvas

Gráficos na biblioteca DoEasy (Parte 74): elemento gráfico básico baseado na classe CCanvas

Vamos revisar o conceito de construção de objetos gráficos, que vimos no artigo anterior, e preparar uma classe base para todos os objetos gráficos da biblioteca criados com base na classe CCanvas da Biblioteca Padrão.
Gráficos na biblioteca DoEasy (Parte 84): classes herdeiras do objeto gráfico abstrato padrão
Gráficos na biblioteca DoEasy (Parte 84): classes herdeiras do objeto gráfico abstrato padrão

Gráficos na biblioteca DoEasy (Parte 84): classes herdeiras do objeto gráfico abstrato padrão

Neste artigo, veremos como se criam classes herdeiras do objeto gráfico abstrato padrão do terminal. O objeto deste tipo de classe descreve propriedades comuns a todos os objetos gráficos, isto é, ele é apenas um tipo de objeto gráfico. Para entender se pertence a um objeto gráfico real, precisamos gerar herança a partir dele, já na classe do objeto herdeiro precisamos escrever as propriedades que são específicas do objeto gráfico em particular.
preview
Desenvolvendo um EA de negociação do zero (Parte 28): Em direção ao futuro (III)

Desenvolvendo um EA de negociação do zero (Parte 28): Em direção ao futuro (III)

Nosso sistema de ordem ainda não consegue fazer uma coisa. Mas aqui vamos resolver FINALMENTE isto ....
preview
Otimização Automatizada de Parâmetros para Estratégias de Trading Usando Python e MQL5

Otimização Automatizada de Parâmetros para Estratégias de Trading Usando Python e MQL5

Existem vários tipos de algoritmos para auto-otimização de estratégias de trading e parâmetros. Esses algoritmos são usados para melhorar automaticamente as estratégias de trading com base em dados históricos e atuais de mercado. Neste artigo, veremos um desses algoritmos com exemplos em Python e MQL5.
Trabalhando preços na biblioteca DoEasy (Parte 63): livro de ofertas, classe de ordem abstrata do livro de ofertas
Trabalhando preços na biblioteca DoEasy (Parte 63): livro de ofertas, classe de ordem abstrata do livro de ofertas

Trabalhando preços na biblioteca DoEasy (Parte 63): livro de ofertas, classe de ordem abstrata do livro de ofertas

Neste artigo, começaremos a desenvolver funcionalidades para trabalhar com o livro de ofertas. Criaremos uma classe de objeto para uma ordem abstrata do livro de ofertas e dos seus herdeiros.
preview
Modelos prontos para integrar indicadores nos Expert Advisors (Parte 3): Indicadores de tendência

Modelos prontos para integrar indicadores nos Expert Advisors (Parte 3): Indicadores de tendência

Neste artigo de referência, vamos dar uma olhada nos indicadores padrão da categoria Indicadores de tendência. Criaremos modelos prontos a serem usados em Expert Advisors, modelos esses que incluirão: declaração e configuração de parâmetros, inicialização/desinicialização de indicadores e recuperação de dados/sinais a partir de buffers de indicador em EAs.
preview
Estruturas em MQL5 e formas de imprimir seus dados

Estruturas em MQL5 e formas de imprimir seus dados

Neste artigo, examinaremos as estruturas MqlDateTime, MqlTick, MqlRates, MqlBookInfo e as maneiras de imprimir os dados dessas estruturas. Para imprimir todos os campos de uma estrutura, existe a função padrão ArrayPrint(), que exibe os dados contidos em um array com o tipo da estrutura processada em um formato de tabela conveniente.
preview
Algoritmos de otimização populacionais: Algoritmo de otimização de cuco (COA)

Algoritmos de otimização populacionais: Algoritmo de otimização de cuco (COA)

O próximo algoritmo que abordaremos será a otimização de busca de cuco usando voos Levy. Este é um dos algoritmos de otimização mais recentes e um novo líder na tabela de classificação.
preview
Trabalhando com séries temporais na biblioteca DoEasy (Parte 55): classe-coleção de indicadores

Trabalhando com séries temporais na biblioteca DoEasy (Parte 55): classe-coleção de indicadores

Neste artigo, continuaremos a desenvolver as classes de objetos-indicadores e suas coleções. Para cada objeto-indicador vamos criar uma descrição e ajustar a classe-coleção para armazenamento sem erros e recuperação de objetos-indicadores a partir da lista-coleção.