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
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.
Melhorando o reconhecimento de padrões de velas por meio de velas Doji
Melhorando o reconhecimento de padrões de velas por meio de velas Doji

Melhorando o reconhecimento de padrões de velas por meio de velas Doji

Como encontrar padrões de velas com mais frequência do que o habitual. Por trás da simplicidade dos padrões de velas, há também uma séria desvantagem que pode ser evitada usando os abundantes recursos das modernas ferramentas de automação de negociação.
preview
Desenvolvendo um EA de negociação do zero (Parte 24): Dado robustez ao sistema (I)

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

Neste artigo iremos deixar o sistema mais robusto, de forma que ele fique mais estável e seguro de ser usado. Uma das formas de se conseguir robustez é procuramos reutilizar ao máximo o código, desta forma ele será testado o tempo todo e em diversas ocasiões diferente, mas esta é apenas uma das formas, outra forma é o uso da programação OOP.
preview
Redes neurais de maneira fácil (Parte 51): ator-crítico comportamental (BAC)

Redes neurais de maneira fácil (Parte 51): ator-crítico comportamental (BAC)

Nos últimos dois artigos, discutimos o algoritmo Soft Actor-Critic, que incorpora regularização de entropia na função de recompensa. Essa abordagem permite equilibrar a exploração do ambiente e a exploração do modelo, mas é aplicável apenas a modelos estocásticos. Neste artigo, exploraremos uma abordagem alternativa que é aplicável tanto a modelos estocásticos quanto determinísticos.
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
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 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.
Outras classes na biblioteca DoEasy (Parte 68): classe de objeto-gráfico e classes de objetos-indicadores na janela do gráfico
Outras classes na biblioteca DoEasy (Parte 68): classe de objeto-gráfico e classes de objetos-indicadores na janela do gráfico

Outras classes na biblioteca DoEasy (Parte 68): classe de objeto-gráfico e classes de objetos-indicadores na janela do gráfico

Neste artigo, continuaremos a desenvolver a classe do objeto-gráfico. Vamos adicionar uma lista de objetos-janelas, onde, por sua vez, estarão disponíveis as listas de indicadores colocados nestas.
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.
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 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.
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
Gradient boosting no aprendizado de máquina transdutivo e ativo

Gradient boosting no aprendizado de máquina transdutivo e ativo

Neste artigo, nós consideraremos os métodos de aprendizado de máquina ativo que se baseiam em dados reais e discutiremos seus prós e contras. Talvez você considere esses métodos úteis e os inclua em seu arsenal de modelos de aprendizado de máquina. A transdução foi introduzida por Vladimir Vapnik, que é o coinventor da Support-Vector Machine (SVM).
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.
preview
Desenvolvendo um sistema de Replay - Simulação de mercado (Parte 04): Ajustando as coisas (II)

Desenvolvendo um sistema de Replay - Simulação de mercado (Parte 04): Ajustando as coisas (II)

Vamos continuar a criação do sistema e controle. Já que sem uma forma de controlar o serviço, fica muito complicado dar algum outro passo a fim de melhorar algo no sistema.
preview
Desenvolvendo um EA de negociação do zero (Parte 21): Um novo sistema de ordens (IV)

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

Finalmente o sistema visual estará funcionando .... não totalmente ainda. Aqui vamos terminar de fazer as mudanças básicas, e elas não serão poucas, serão muitas e todas elas necessárias e todo o trabalho será bastante interessante.
preview
Analisando as razões pelas quais alguns EAs fracassam

Analisando as razões pelas quais alguns EAs fracassam

Neste artigo, analisaremos dados de moedas e tentaremos entender com isso por que os Expert Advisors podem mostrar bons resultados em alguns intervalos e, ao mesmo tempo, ter um desempenho ruim em outros.
preview
Desenvolvendo um sistema de Replay - Simulação de mercado (Parte 02): Primeiros experimentos (II)

Desenvolvendo um sistema de Replay - Simulação de mercado (Parte 02): Primeiros experimentos (II)

Vamos experimentar uma outra abordagem, desta vez tentando alcançar o objetivo de 1 minuto. Mas isto não é uma tarefa tão simples, como muitos pensam.
preview
Aprendendo a construindo um Expert Advisor que opera de forma automática (Parte 10): Automação (II)

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

Automação não é nada sem que você consiga controlar o horário. Nenhum trabalhador consegue ser eficiente trabalhando 24 horas. No entanto, muitos acreditam que um sistema automático deva trabalhar 24 horas. Mas é sempre bom que você tenha meios de configurar um range de horário para o Expert Advisor. Neste artigo iremos tratar disto. Como adicionar adequadamente uma faixa de horário.
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
Redes neurais de maneira fácil (Parte 29): Algoritmo ator-crítico de vantagem (Advantage actor-critic)

Redes neurais de maneira fácil (Parte 29): Algoritmo ator-crítico de vantagem (Advantage actor-critic)

Nos artigos anteriores desta série, conhecemos 2 algoritmos de aprendizado por reforço. Cada um deles tem suas próprias vantagens e desvantagens. Como costuma acontecer quando nos deparamos com esses casos, surge a ideia de combinar os dois métodos em um algoritmo que incorpore o melhor dos dois. E assim compensar as deficiências de cada um deles. Falaremos sobre tal combinação de métodos neste artigo.
preview
Como trabalhar com linhas usando MQL5

Como trabalhar com linhas usando MQL5

Neste artigo, falaremos sobre como trabalhar com os gráficos de linhas mais importantes, como linhas de tendência, suporte e resistência, usando as ferramentas da linguagem MQL5.
preview
Análise de ciclos usando o algoritmo de Goertzel

Análise de ciclos usando o algoritmo de Goertzel

Neste artigo, são apresentados utilitários que implementam o algoritmo de Goertzel em MQL5 e duas maneiras de aplicar esse método na análise de cotações de preços para o desenvolvimento de estratégias.
preview
Otimização Walk Forward contínua (Parte 8): Melhorias e correções do programa

Otimização Walk Forward contínua (Parte 8): Melhorias e correções do programa

O programa foi modificado com base nos comentários e solicitações dos usuários e leitores desta série de artigos. Este artigo contém uma nova versão do otimizador automático. Esta versão implementa os recursos solicitados e fornece outras melhorias, que eu descobri ao trabalhar com o programa.
O MQL5 Market está fazendo um ano de idade
O MQL5 Market está fazendo um ano de idade

O MQL5 Market está fazendo um ano de idade

Já passou um ano desde o lançamento das vendas no Mercado MQL5. Foi um ano de trabalho duro, que transformou o novo serviço na maior loja de robôs de negociação e de indicadores técnicos para a plataforma MetaTrader 5.
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.
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.
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.
Quem é quem na MQL5.community?
Quem é quem na MQL5.community?

Quem é quem na MQL5.community?

O site MQL5.com o lembra muito bem disso! Quantos dos seus tópicos são épicos, quão popular são os seus artigos e quantas vezes seus programas na base do código são baixados - esta é apenas uma pequena parte do que é lembrado em MQL5.com. Suas realizações estão disponíveis no seu perfil, mas e o quadro geral? Neste artigo, vamos mostrar o quadro geral de todas as conquistas do membros da MQL5.community.
Resultados do MQL5 Market para o primeiro trimestre de 2013
Resultados do MQL5 Market para o primeiro trimestre de 2013

Resultados do MQL5 Market para o primeiro trimestre de 2013

Desde sua fundação, a loja de robôs de negociação e indicadores técnicos MQL5 Market já atraiu mais de 250 desenvolvedores que publicaram 580 produtos. O primeiro trimestre de 2013 acabou se tornando de grande sucesso para alguns vendedores do MQL5 Market que conseguiram ganhar bons lucros vendendo seus produtos.
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.
preview
Como desenvolver um sistema de negociação baseado no indicador SAR Parabólico

Como desenvolver um sistema de negociação baseado no indicador SAR Parabólico

Neste artigo, nós continuaremos nossa série sobre como projetar um sistema de negociação usando os indicadores mais populares. Neste artigo, nós aprenderemos detalhadamente sobre o indicador SAR Parabólico e como nós podemos projetar um sistema de negociação para ser usado na MetaTrader 5 usando algumas estratégias simples.
preview
Matrizes e vetores em MQL5: funções de ativação

Matrizes e vetores em MQL5: funções de ativação

Neste artigo, descrevemos apenas um aspecto do aprendizado de máquina, em particular as funções de ativação. Em redes neurais artificiais, a função de ativação de neurônio calcula o valor de um sinal de saída com base nos valores de um sinal de entrada ou de um conjunto de sinais de entrada. Vamos mergulhar nos detalhes internos do processo.
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
Negociação usando uma grade com ordens limitadas no MOEX

Negociação usando uma grade com ordens limitadas no MOEX

Desenvolvimento de um Expert Advisor na linguagem de estratégias de negociação MQL5 para MetaTrader 5. Esse EA irá negociar no MOEX (Bolsa de Valores de Moscou), usando o terminal MetaTrader 5 e uma estratégia de grade, que incluirá o fechamento de posição por stop loss ou take profit, exclusão de ordens pendentes quando atendidas certas condições de mercado.
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.
preview
Indicadores com controles interativos no gráfico

Indicadores com controles interativos no gráfico

O artigo oferece uma nova perspectiva sobre as interfaces dos indicadores. Eu vou focar na conveniência. Tendo tentado dezenas de diferentes estratégias de negociação ao longo dos anos, além de ter testado centenas de indicadores diferentes, eu cheguei a algumas conclusões que quero compartilhar com você neste artigo.
preview
Ciência de Dados e Aprendizado de Máquina (Parte 05): Árvores de Decisão

Ciência de Dados e Aprendizado de Máquina (Parte 05): Árvores de Decisão

As árvores de decisão imitam a maneira como os humanos pensam para classificar os dados. Vamos ver como construir árvores e usá-las para classificar e prever alguns dados. O principal objetivo do algoritmo de árvores de decisão é separar os dados impuros em puros ou próximos a nós.
preview
Aprendendo a construindo um EA que opera de forma automática (Parte 05): Gatilhos manuais (II)

Aprendendo a construindo um EA que opera de forma automática (Parte 05): Gatilhos manuais (II)

Aprenda como criar um EA que opera de forma automática, isto de forma simples e o mais seguro possível. No final daquele artigo, pensei que seria adequado permitir o uso do EA, de uma maneira manual, pelo menos por um tempo.
Luta pela velocidade: QLUA vs MQL5 - por que o MQL5 é 50 a 600 vezes mais rápido?
Luta pela velocidade: QLUA vs MQL5 - por que o MQL5 é 50 a 600 vezes mais rápido?

Luta pela velocidade: QLUA vs MQL5 - por que o MQL5 é 50 a 600 vezes mais rápido?

Para comparar as linguagens MQL5 e QLUA, escrevemos vários testes que medem a velocidade de execução de operações básicas. Nos testes, usamos um computador com Windows 7 Professional 64 bits, MetaTrader 5 build 1340 e QUIK versão 7.2.0.45.