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
preview
Desenvolvendo um EA de negociação do zero (Parte 19): Um novo sistema de ordens (II)

Desenvolvendo um EA de negociação do zero (Parte 19): Um novo sistema de ordens (II)

Aqui vamos desenvolver um sistema gráfico de ordens, do tipo veja o que esta acontecendo. Mas não iremos partir do zero, iremos modificar o sistema já existente adicionando ainda mais objetos e eventos ao gráfico do ativo que estamos operando.
preview
Aprendendo a construindo um EA que opera de forma automática (Parte 06): Tipos de contas (I)

Aprendendo a construindo um EA que opera de forma automática (Parte 06): Tipos de contas (I)

Aprenda como criar um EA que opera de forma automática, isto de forma simples e o mais seguro possível. Nosso EA, até o momento consegue trabalhar, em qualquer tipo de situação, mas para torná-lo automatizado, ele não está adequado, precisamos fazer algumas coisas.
Trabalhando com séries temporais na biblioteca DoEasy (Parte 47): indicadores padrão multiperíodos multissímbolos
Trabalhando com séries temporais na biblioteca DoEasy (Parte 47): indicadores padrão multiperíodos multissímbolos

Trabalhando com séries temporais na biblioteca DoEasy (Parte 47): indicadores padrão multiperíodos multissímbolos

Neste artigo começaremos a desenvolver métodos para trabalhar com indicadores padrão, o que nos permitirá criar indicadores multissímbolos e multiperíodos padrão. Também adicionaremos o evento "Barras ausentes" às classes das séries temporais e descarregaremos o código do programa principal movendo as funções de preparação da biblioteca para a classe CEngine.
A matemática do mercado: lucro, prejuízo e custos
A matemática do mercado: lucro, prejuízo e custos

A matemática do mercado: lucro, prejuízo e custos

Neste artigo, eu mostrarei como calcular o lucro ou prejuízo total de qualquer negociação, incluindo comissão e swap. Eu fornecerei o modelo matemático mais preciso e o usarei para escrever o código e compará-lo com o padrão. Além disso, eu também tentarei entrar na função principal da MQL5 para calcular o lucro e chegar ao fundo de todos os valores necessários da especificação.
preview
Desenvolvendo um EA de negociação do zero (Parte 23): Um novo sistema de ordens (VI)

Desenvolvendo um EA de negociação do zero (Parte 23): Um novo sistema de ordens (VI)

Deixando o sistema de ordens mais fluido. Aqui irei mostrar como e onde mudar no código para se ter algo mais fluído, onde você pode modificar os limites da posição muito mais rapidamente.
Gráficos na biblioteca DoEasy (Parte 79): classe para o objeto quadro-de-animação e seus objetos herdeiros
Gráficos na biblioteca DoEasy (Parte 79): classe para o objeto quadro-de-animação e seus objetos herdeiros

Gráficos na biblioteca DoEasy (Parte 79): classe para o objeto quadro-de-animação e seus objetos herdeiros

Neste artigo, desenvolveremos uma classe para um quadro de animação e seus herdeiros. A classe permitirá desenhar formas, bem como salvar e restaurar o plano de fundo.
preview
Redes neurais de maneira fácil (Parte 43): Dominando habilidades sem função de recompensa

Redes neurais de maneira fácil (Parte 43): Dominando habilidades sem função de recompensa

O problema com o aprendizado por reforço é a necessidade de definir uma função de recompensa, que pode ser complexa ou difícil de formular, porém abordagens baseadas no tipo de ação e na exploração do ambiente que permitem que as habilidades sejam aprendidas sem uma função de recompensa explícita estão sendo exploradas para resolver esse problema.
Resultados da MetaTrader AppStore para o terceiro trimestre de 2013
Resultados da MetaTrader AppStore para o terceiro trimestre de 2013

Resultados da MetaTrader AppStore para o terceiro trimestre de 2013

Outro trimestre do ano se passou e nós decidimos resumir seus resultados para a MetaTrader AppStore - a maior loja de robôs comerciais e indicadores técnicos para plataformas MetaTrader. Mais de 500 desenvolvedores colocaram mais de 200 produtos no mercado até o final do trimestre reportado.
preview
Gestão de risco e capital utilizando Expert Advisors

Gestão de risco e capital utilizando Expert Advisors

Este artigo é sobre o que você não pode ver em um relatório de backtest, o que você deve esperar usando um software de negociação automatizado, como gerenciar seu dinheiro se estiver usando expert advisors e como cobrir uma perda significativa para permanecer na atividade de negociação quando você está usando procedimentos automatizados.
Trabalhando com preços e sinais na biblioteca DoEasy (Parte 65): coleção de livros de ofertas e classe para trabalhar com sinais MQL5.com
Trabalhando com preços e sinais na biblioteca DoEasy (Parte 65): coleção de livros de ofertas e classe para trabalhar com sinais MQL5.com

Trabalhando com preços e sinais na biblioteca DoEasy (Parte 65): coleção de livros de ofertas e classe para trabalhar com sinais MQL5.com

Neste artigo, criaremos uma classe-coleção de livros de ofertas para todos os símbolos e começaremos a desenvolver a funcionalidade para trabalhar com o serviço de sinais MQL5.com - criaremos uma classe objeto-sinal.
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
Exemplo de criação da estratégia de negociação abrangente Owl

Exemplo de criação da estratégia de negociação abrangente Owl

Minha estratégia se baseia em fundamentos clássicos de negociação e no aprimoramento de indicadores amplamente usados em todos os tipos de mercados. Na verdade, trata-se de uma ferramenta pronta para trabalhar integralmente com a nova estratégia de negociação lucrativa que proponho.
preview
Como desenvolver um sistema de negociação baseado no indicador Gator Oscillator

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

Um novo artigo em nossa série sobre como aprender a desenvolver um sistema de negociação baseado nos indicadores técnicos mais populares será sobre o indicador técnico Gator Oscillator e como criar um sistema de negociação por meio de estratégias simples.
preview
Desenvolvendo um EA de negociação do zero (Parte 17): Acessando dados na WEB (III)

Desenvolvendo um EA de negociação do zero (Parte 17): Acessando dados na WEB (III)

Como obter dados da WEB para serem usados em um EA. Então vamos por as mãos na massa, ou melhor começar a codificar um sistema alternativo.
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.
preview
Aprendendo a construindo um Expert Advisor que opera de forma automática (Parte 13): Automação (V)

Aprendendo a construindo um Expert Advisor que opera de forma automática (Parte 13): Automação (V)

Você sabe o que é um Fluxograma ? Sabe como usar ele ? Acha que fluxograma é apenas conversa de programador aprendiz ? Bem, veja este artigo e aprenda como trabalhar com fluxogramas.
Gráficos na biblioteca DoEasy (Parte 83): classe abstrata de objetos gráficos padrão
Gráficos na biblioteca DoEasy (Parte 83): classe abstrata de objetos gráficos padrão

Gráficos na biblioteca DoEasy (Parte 83): classe abstrata de objetos gráficos padrão

Neste artigo, criaremos uma classe para um objeto gráfico abstrato. Este objeto será a base para a criação de classes de objetos gráficos padrão. Os objetos gráficos têm muitas propriedades, e hoje, antes de criarmos uma classe de objetos gráficos abstratos, precisamos realizar um intenso trabalho preliminar, especificando ditas propriedades nas enumerações da biblioteca.
preview
Ciência de Dados e Aprendizado de Máquina (Parte 04): Previsão de um crash no mercado de ações

Ciência de Dados e Aprendizado de Máquina (Parte 04): Previsão de um crash no mercado de ações

Neste artigo, eu tentarei usar nosso modelo logístico para prever o crash do mercado de ações com base nos fundamentos da economia dos EUA, nos concentraremos nas ações do NETFLIX e da APPLE, usando os crashes anteriores do mercado de 2019 e 2020, vamos ver como nosso modelo se comportará nas atuais desgraças e tristezas.
preview
Como desenvolver um sistema de negociação baseado no indicador Williams PR

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

Bem-vindo a este novo artigo em nossa série sobre como aprender a desenvolver um sistema de negociação com base nos indicadores técnicos mais populares da MQL5. Neste artigo, nós aprenderemos como desenvolver um sistema de negociação pelo indicador %R de Williams.
Outras classes na biblioteca DoEasy (Parte 71): eventos da coleção de objetos-gráficos
Outras classes na biblioteca DoEasy (Parte 71): eventos da coleção de objetos-gráficos

Outras classes na biblioteca DoEasy (Parte 71): eventos da coleção de objetos-gráficos

Neste artigo, criaremos uma funcionalidade para rastrear alguns eventos de objetos-gráficos - adição/remoção de gráficos de símbolos, de subjanelas do gráfico, bem como adição/exclusão/mudança de indicadores presentes em janelas de gráficos.
Gráficos na biblioteca DoEasy (Parte 86): coleção de objetos gráficos, controlamos a modificação de propriedades
Gráficos na biblioteca DoEasy (Parte 86): coleção de objetos gráficos, controlamos a modificação de propriedades

Gráficos na biblioteca DoEasy (Parte 86): coleção de objetos gráficos, controlamos a modificação de propriedades

Este artigo analisa o rastreamento de modificações nos valores de propriedades, remoção e renomeação de objetos gráficos dentro da biblioteca.
preview
Otimização paralela pelo método de enxame de partículas (Particle Swarm Optimization)

Otimização paralela pelo método de enxame de partículas (Particle Swarm Optimization)

Este artigo descreve uma forma de otimização rápida por meio do método de enxame de partículas e apresenta uma implementação em MQL pronta para ser utilizada tanto no modo thread único dentro do EA quanto no modo multi-thread paralelo com complemento que executado nos agentes locais do testador.
Modelo de regressão universal para previsão de preços do mercado (Parte 2): funções de processos transitórios naturais, sociais e de origem tecnológica
Modelo de regressão universal para previsão de preços do mercado (Parte 2): funções de processos transitórios naturais, sociais e de origem tecnológica

Modelo de regressão universal para previsão de preços do mercado (Parte 2): funções de processos transitórios naturais, sociais e de origem tecnológica

Este artigo é uma continuação lógica do anterior e é escrito para destacar suas conclusões ao longo da década seguinte à sua publicação, no que diz respeito às três funções de processos dinâmicos transitórios que descrevem os padrões de mudança de preços de mercado.
Gráficos na biblioteca DoEasy (Parte 80): classe do objeto quadro de animação geométrica
Gráficos na biblioteca DoEasy (Parte 80): classe do objeto quadro de animação geométrica

Gráficos na biblioteca DoEasy (Parte 80): classe do objeto quadro de animação geométrica

Neste artigo, otimizaremos o código das classes vistas nos artigos anteriores e criaremos uma classe para o objeto do quadro de animação geométrica que nos permite desenhar polígonos regulares com um determinado número de vértices.
preview
Domine e utilize o testador de estratégias MQL5 de forma eficiente

Domine e utilize o testador de estratégias MQL5 de forma eficiente

Os desenvolvedores MQL5 devem dominar diversas ferramentas essenciais. Entre elas, destaca-se o testador de estratégias. Este artigo serve como um guia prático para a utilização do testador de estratégias MQL5.
Resultados do MQL5 Market para o segundo trimestre de 2013
Resultados do MQL5 Market para o segundo trimestre de 2013

Resultados do MQL5 Market para o segundo trimestre de 2013

Operando com sucesso a um ano e meio, o MQL5 Market se tornou a maior loja de estratégias de negócios e indicadores técnicos de negociadores. Ele oferece cerca de 800 aplicações fornecidas por 350 desenvolvedores de todo o mundo. Mais de 100.000 programas de negócio já foram comprados e baixados por negociantes para os terminais do MetaTrader 5.
preview
Ciência de Dados e Aprendizado de Máquina (Parte 02): Regressão Logística

Ciência de Dados e Aprendizado de Máquina (Parte 02): Regressão Logística

A classificação de dados é uma coisa crucial para um algotrader e um programador. Neste artigo, nós vamos nos concentrar em um dos algoritmos de classificação logística que provavelmente podem nos ajudar a identificar os Sims ou Nãos, as Altas e Baixas, Compras e Vendas.
preview
Trabalhando com séries temporais na biblioteca DoEasy (Parte 50): indicadores padrão multiperíodos multissímbolos com deslocamento

Trabalhando com séries temporais na biblioteca DoEasy (Parte 50): indicadores padrão multiperíodos multissímbolos com deslocamento

Neste artigo, melhoraremos os métodos da biblioteca para exibir corretamente indicadores padrão multissímbolos e multiperíodos, cujas linhas são exibidas no gráfico do símbolo atual com determinado deslocamento definido nas configurações. Também colocaremos as coisas em ordem nos métodos que permitem trabalhar com indicadores padrão e removeremos o código desnecessário no programa-indicador final para a área da biblioteca.
Como desenvolver um sistema de negociação baseado no indicador ADX
Como desenvolver um sistema de negociação baseado no indicador ADX

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

Neste artigo, nós continuaremos nossa série sobre como projetar um sistema de negociação usando os indicadores mais populares e falaremos sobre o indicador Índice Direcional Médio (ADX). Nós aprenderemos este indicador em detalhes para entendê-lo bem e aprenderemos como usá-lo através de uma estratégia simples. Ao aprender algo profundamente, nós podemos obter mais "insights" e podemos usá-lo melhor.
Trabalhando com séries temporais na biblioteca DoEasy (Parte 44): classe-coleção de objetos de buffers de indicador
Trabalhando com séries temporais na biblioteca DoEasy (Parte 44): classe-coleção de objetos de buffers de indicador

Trabalhando com séries temporais na biblioteca DoEasy (Parte 44): classe-coleção de objetos de buffers de indicador

Neste artigo, veremos a criação de uma classe-coleção de objetos de buffers de indicador, testaremos tanto as possibilidades de criar qualquer quantidade de buffers para programas-indicadores quanto as de trabalhar com eles (o número máximo de buffers que podem ser criados em indicadores MQL é de 512 buffers).
Combinatória e teoria da probabilidade para negociação (Parte III): primeiro modelo matemático
Combinatória e teoria da probabilidade para negociação (Parte III): primeiro modelo matemático

Combinatória e teoria da probabilidade para negociação (Parte III): primeiro modelo matemático

Para dar continuação lógica ao tópico, hoje abordaremos o desenvolvimento de modelos matemáticos multifuncionais para tarefas de negociação. Assim sendo, descreverei todo o processo de desenvolvimento do primeiro modelo matemático para descrever fractais a partir do zero. Este modelo deve se tornar um importante alicerce, ser multifuncional e universal, inclusive para construir a base teórica para o futuro desenvolvimento do ramo.
preview
Colocação de ordens no MQL5

Colocação de ordens no MQL5

Ao criar um sistema de negociação, há sempre uma tarefa que deve ser resolvida com eficiência. Essa tarefa é a colocação de ordens ou seu processamento automático pelo sistema de negociação. Neste artigo, apresentamos a criação de um sistema de negociação do ponto de vista da colocação eficiente de ordens.
Como desenvolver um sistema de negociação baseado no indicador CCI
Como desenvolver um sistema de negociação baseado no indicador CCI

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

Neste novo artigo da nossa série para aprender a projetar os sistemas de negociação, eu apresentarei o indicador Commodities Channel Index (CCI), eu explicarei suas especificidades e compartilharei com você como criar um sistema de negociação baseado neste indicador.
Gráficos na biblioteca DoEasy (Parte 73): objeto-forma de um elemento gráfico
Gráficos na biblioteca DoEasy (Parte 73): objeto-forma de um elemento gráfico

Gráficos na biblioteca DoEasy (Parte 73): objeto-forma de um elemento gráfico

Neste artigo, começamos uma nova seção grande sobre a biblioteca para trabalhar com gráficos. Hoje vamos criar um objeto de estados do mouse, um objeto base de todos os elementos gráficos e uma classe do objeto-forma dos elementos gráficos da biblioteca.
Gráficos na biblioteca DoEasy (Parte 76): objeto forma e temas de cores predefinidos
Gráficos na biblioteca DoEasy (Parte 76): objeto forma e temas de cores predefinidos

Gráficos na biblioteca DoEasy (Parte 76): objeto forma e temas de cores predefinidos

Neste artigo, descreveremos o conceito de criação de temas de GUI na biblioteca, criaremos um objeto forma que será descendente de um objeto da classe do elemento gráfico, prepararemos dados para criar as sombras dos objetos gráficos da biblioteca e para continuar desenvolvendo a funcionalidade no futuro.
preview
Desenvolvendo um EA de negociação do zero (Parte 26): Em direção ao futuro (I)

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

Vamos levar nosso sistema de ordens para um outro patamar, mas antes temos algumas coisas a resolver. O problema é que existem questões que são dependentes de como você deseja operar e que tipo de coisa você estará fazendo no momento em que estiver operando.
preview
Como desenvolver um sistema de negociação baseado no indicador Desvio Padrão

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

Aqui está um novo artigo em nossa série sobre como desenvolver um sistema de negociação pelos indicadores técnicos mais populares na plataforma de negociação MetaTrader 5. Neste novo artigo, nós aprenderemos como desenvolver um sistema de negociação pelo indicador Desvio Padrão.
preview
Esperança moral na negociação

Esperança moral na negociação

Este artigo trata da esperança moral. Veremos vários exemplos de como ela é aplicada na negociação e quais resultados podem ser obtidos com ela.
preview
GIT: Mas que coisa é esta ?

GIT: Mas que coisa é esta ?

Neste artigo apresentarei uma ferramenta de suma importância para quem desenvolve programas. Se você não conhece GIT, veja este artigo para ter uma noção do que se trata, tal ferramenta. E como usá-la junto ao MQL5.
preview
Desenvolvendo um sistema de Replay - Simulação de mercado (Parte 18):  Tiquete e mais tiquetes  (II)

Desenvolvendo um sistema de Replay - Simulação de mercado (Parte 18): Tiquete e mais tiquetes (II)

Neste, fica extremamente claro, que as métricas, estão muito longe, do tempo ideal de confecção das barras de 1 minuto. Assim então, a primeira coisa que de fato iremos corrigir, será justamente isto. Corrigir a questão da temporização, não é algo complicado. Por mais incrível que possa parecer, é na verdade até bem simples de ser feito. Porém não fiz a correção no artigo anterior, por que lá o desejo era explicar, como fazer para jogar os dados de tickets, que estavam sendo usados para gerar as barras de 1 minuto no gráfico, para dentro da janela de observação de mercado.