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
preview
Ganhe uma Vantagem sobre Qualquer Mercado (Parte II): Previsão de Indicadores Técnicos

Ganhe uma Vantagem sobre Qualquer Mercado (Parte II): Previsão de Indicadores Técnicos

Você sabia que podemos obter mais precisão ao prever certos indicadores técnicos do que ao prever o preço subjacente de um símbolo negociado? Junte-se a nós para explorar como aproveitar essa percepção para melhores estratégias de negociação
preview
Trabalhando com séries temporais na biblioteca DoEasy (Parte 49): indicadores padrão multiperíodos multissímbolos multibuffer

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

Neste artigo, modificaremos as classes da biblioteca para permitir a criação de indicadores padrão multissímbolos e multiperíodos que requerem vários buffers de indicador para exibir seus dados.
preview
DoEasy. Controles (Parte 2): Continuamos trabalhando na classe CPanel

DoEasy. Controles (Parte 2): Continuamos trabalhando na classe CPanel

Neste artigo, vamos nos livrar de alguns erros ao trabalhar com elementos gráficos e continuar desenvolvendo o controle CPanel. Isto último irá se tratar de métodos para definir os parâmetros da fonte, que é usada por padrão para todos os objetos de texto do painel, objetos esses que, por sua vez, podem ser localizados nele no futuro.
preview
Algoritmos de otimização populacionais: Colônia artificial de abelhas (Artificial Bee Colony, ABC)

Algoritmos de otimização populacionais: Colônia artificial de abelhas (Artificial Bee Colony, ABC)

Hoje estudaremos o algoritmo de colônia artificial de abelhas. Complementaremos nosso conhecimento com novos princípios para estudar espaços funcionais. E neste artigo falarei sobre minha interpretação da versão clássica do algoritmo.
preview
Desenvolvendo um sistema de Replay - Simulação de mercado (Parte 06): Primeiras melhorias (I)

Desenvolvendo um sistema de Replay - Simulação de mercado (Parte 06): Primeiras melhorias (I)

Neste artigo vamos começar a estabilizar todo o sistema. Pois sem que o sistema esteja de fato estabilizado, podemos correr risco de não conseguir cumprir os próximos passos.
preview
Desenvolvendo um sistema de Replay (Parte 28): Projeto Expert Advisor — Classe C_Mouse (II)

Desenvolvendo um sistema de Replay (Parte 28): Projeto Expert Advisor — Classe C_Mouse (II)

Quanto de fato os primeiros sistema capazes de fatorar alguma coisa, começaram a ser produzidos. Tudo tinha que ser feito por engenheiros com grande conhecimento, no que estava sendo projetado. Isto nos primórdios da computação, onde se quer existia algum tipo de terminal, para que fosse possível programar algo. Conforme ia se desenvolvendo, e o interesse de que mais pessoas também conseguisse criar algo, começou surgir novas ideias e meios, de programar aquelas máquinas, que antes era feito mudando a posição dos conectores. Assim começamos a ter os primeiros terminais.
preview
Do básico ao intermediário: Array e Strings (II)

Do básico ao intermediário: Array e Strings (II)

Neste artigo, irei demostrar que apesar de ainda estamos em um nível iniciante, e bem básico. Já conseguimos implementar algum tipo de aplicação interessante. No caso iremos criar um gerador de senhas bem simples. Isto de modo a conseguir aplicar alguns conceitos que foram explicados até aqui. Além disto, irei mostrar como você pode desenvolver soluções para alguns problemas especiais.
Gráficos na biblioteca DoEasy (Parte 90): eventos de objetos gráficos padrão Funcionalidade básica
Gráficos na biblioteca DoEasy (Parte 90): eventos de objetos gráficos padrão Funcionalidade básica

Gráficos na biblioteca DoEasy (Parte 90): eventos de objetos gráficos padrão Funcionalidade básica

No artigo de hoje criaremos a funcionalidade base para rastrear eventos de eventos de objetos gráficos padrão. Vamos começar com o clique duplo do mouse sobre o objeto gráfico.
preview
Como desenvolver um sistema de negociação baseado no indicador Oscilador de Chaikin

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

Bem-vindo ao nosso novo artigo da série sobre como desenvolver um sistema de negociação com base nos indicadores técnico mais populares. Através deste novo artigo, nós aprenderemos como desenvolver um sistema de negociação pelo indicador Oscilador de Chaikin.
preview
Medindo o valor informativo do Indicador

Medindo o valor informativo do Indicador

O aprendizado de máquina se tornou uma técnica popular de desenvolvimento de estratégias. Na negociação, tradicionalmente, mais atenção é dada à maximização da lucratividade e à precisão das previsões. Enquanto isso, o processamento de dados usado para construir modelos preditivos permanece na periferia. Neste artigo, discutimos o uso do conceito de entropia para avaliar a adequação de indicadores na construção de modelos preditivos, conforme descrito no livro Testing and Tuning Market Trading Systems escrito por Timothy Masters.
preview
Interface Gráfico: Dicas e recomendações para criar uma biblioteca gráfica no MQL

Interface Gráfico: Dicas e recomendações para criar uma biblioteca gráfica no MQL

Vamos explorar os fundamentos das bibliotecas de interface gráfica para que você possa entender como elas funcionam ou até mesmo começar a criar as suas próprias.
preview
Desenvolvendo um sistema de Replay (Parte 43): Projeto do Chart Trade (II)

Desenvolvendo um sistema de Replay (Parte 43): Projeto do Chart Trade (II)

Grande parte das pessoas que querem, ou desejam aprender a programar, não fazem de fato ideia, do que estão fazendo. O que elas fazem é tentar criar as coisas de uma determinada maneira. No entanto, quando programamos não estamos de fato tentando criar um solução. Se você tentar fazer isto, desta forma irá gerar mais problemas do que realmente uma solução. Aqui iremos fazer algo um pouco mais avançado, e por consequência diferente.
preview
Ciência de Dados e Aprendizado de Máquina (Parte 14): aplicando mapas de Kohonen nos mercados

Ciência de Dados e Aprendizado de Máquina (Parte 14): aplicando mapas de Kohonen nos mercados

Deseja descobrir uma nova metodologia de negociação que facilite a orientação em mercados complexos e voláteis? Explore os mapas de Kohonen - uma versão inovadora de redes neurais artificiais, capazes de identificar regularidades e tendências ocultas nos dados do mercado. Neste texto, analisaremos a funcionalidade dos mapas de Kohonen e a forma de utilizá-los na elaboração de estratégias de negociação eficazes. Estou convencido de que esta abordagem inédita será do interesse de traders novatos e experientes.
preview
O modelo de movimento de preços e suas principais disposições (Parte 3): Cálculo dos parâmetros ótimos para negociação em bolsa

O modelo de movimento de preços e suas principais disposições (Parte 3): Cálculo dos parâmetros ótimos para negociação em bolsa

Dentro da abordagem de engenharia desenvolvida pelo autor, baseada na teoria da probabilidade, são determinadas as condições para abrir uma posição lucrativa e calculados os valores ótimos - maximizadores do lucro - para o take profit e o stop loss.
preview
Redes neurais de maneira fácil (Parte 34): Função quantil totalmente parametrizada

Redes neurais de maneira fácil (Parte 34): Função quantil totalmente parametrizada

Continuamos a estudar os algoritmos de aprendizado Q distribuído. Em artigos anteriores, já discutimos os algoritmos de aprendizado Q distribuído e de quantil. No primeiro, aprendemos as probabilidades de determinados intervalos de valores. No segundo, aprendemos intervalos com uma probabilidade específica. Em ambos os algoritmos, utilizamos o conhecimento prévio de uma distribuição e ensinamos a outra. Neste artigo, vamos examinar um algoritmo que permite que o modelo aprenda ambas as distribuições.
preview
Desenvolvendo um sistema de Replay - Simulação de mercado (Parte 24): FOREX (V)

Desenvolvendo um sistema de Replay - Simulação de mercado (Parte 24): FOREX (V)

Aqui estamos retirando o bloqueio de simulação baseada na plotagem LAST, e adicionando um ponto de entrada para este tipo de simulação. Agora prestem atenção ao fato de que todo o funcionamento, irá se basear no sistema do forex. Sendo que a única diferença, aqui nesta rotina, é o fato de que estaremos separando uma simulação BID, de uma LAST. Mas a questão de randomização do tempo e a sua correção para ser utilizado pela classe C_Replay, é a mesma em ambos modos de simulação. Isto é uma coisa boa, já que se modificarmos um dos modos, o outro irá se beneficiar, pelo menos no que rege a parte do tempo entre os tickets
preview
Rede neural na prática: Mínimos Quadrados

Rede neural na prática: Mínimos Quadrados

Aqui neste artigo, veremos algumas coisas, entre elas: Como muitas vezes fórmulas matemáticas parecem mais complicadas, quando a olhamos, do que quando a implementamos em código. Além deste fato, também será mostrado, como você pode ajustar o quadrante do gráfico, assim como uma coisa sinistra, que pode acontecer no seu código MQL5. Algo que sinceramente não sei como explicar, por não ter entendido. Apesar de mostrar como corrigir no código.
preview
Redes neurais de maneira fácil (Parte 15): Agrupamento de dados via MQL5

Redes neurais de maneira fácil (Parte 15): Agrupamento de dados via MQL5

Continuamos a estudar o método de agrupamento. Neste artigo, criaremos uma nova classe CKmeans para implementar um dos métodos de agrupamento k-médias mais comuns. Com base nos resultados dos testes, podemos concluir que o modelo é capaz de identificar cerca de 500 padrões.
preview
Desenvolvendo um sistema de Replay (Parte 31): Projeto Expert Advisor - Classe C_Mouse (V)

Desenvolvendo um sistema de Replay (Parte 31): Projeto Expert Advisor - Classe C_Mouse (V)

Desenvolver uma forma de colocar o cronometro, de modo que durante um replay / simulação, ele consiga nos dizer quanto tempo falta, pode parecer a principio uma tarefa simples e de rápida solução. Muitos iriam simplesmente tentar adaptar e usar o mesmo sistema que é usado quando temos o servidor de negociação ao nosso lado. Mas aqui mora um ponto que muitos talvez não se atentem ao pensar em tal solução. Quando você está fazendo um replay, e isto para não falar do fato da simulação, o relógio não funciona da mesma forma. Este tipo de coisa torna complexo construir tal sistema.
preview
Gráficos do índice do dólar e do índice do euro — exemplo de serviço no MetaTrader 5

Gráficos do índice do dólar e do índice do euro — exemplo de serviço no MetaTrader 5

Por meio de um programa-serviço como exemplo, analisaremos a criação e a atualização dos gráficos do índice do dólar (USDX) e do índice do euro (EURX). Ao iniciar o serviço, verificaremos se o instrumento sintético necessário está presente, criaremos caso ele não exista e o adicionaremos à janela "Observação do Mercado". Em seguida, será gerado o histórico do instrumento sintético — tanto o de minutos quanto o de ticks — e o gráfico do instrumento criado será aberto.
preview
Desenvolvimento de uma DLL experimental com suporte a multithreading em C++ para MetaTrader 5 no Linux

Desenvolvimento de uma DLL experimental com suporte a multithreading em C++ para MetaTrader 5 no Linux

Este artigo descreve o processo de desenvolvimento para a plataforma MetaTrader 5 exclusivamente em Linux. O produto final funciona tanto no Windows quanto no Linux sem nenhum problema. Veremos o Wine e o Mingw, ferramentas importantes para o desenvolvimento entre plataformas. O Mingw apresenta threads (POSIX e Win32), que você deve levar em conta ao escolher uma ferramenta adequada. Criaremos também uma DLL para testar o conceito e usá-la no código MQL5, comparando o desempenho das duas implementações de threading. O artigo tem como objetivo ser um ponto de partida para a realização de seus próprios experimentos. Depois de ler este artigo, você será capaz de criar ferramentas para o MetaTrader no Linux.
preview
Desenvolvendo um sistema de Replay (Parte 68): Acertando o tempo (I)

Desenvolvendo um sistema de Replay (Parte 68): Acertando o tempo (I)

Aqui vamos dar prosseguimento, ao trabalho de conseguir fazer com que o indicador de mouse, consiga nos informar o tempo restante da barra, quando em momentos de baixa liquidez. Apesar de a primeira vista parecer algo simples, você verá que esta tarefa é bem mais complicada do que parece. Isto por conta de alguns percalços que teremos de enfrentar. Então acompanhe esta primeira parte para entender as próximas.
preview
DoEasy. Controles (Parte 24): Objeto WinForms dica

DoEasy. Controles (Parte 24): Objeto WinForms dica

Neste artigo, vamos reformular a lógica de especificação dos objetos base e principal para todos os objetos WinForms da biblioteca. Vamos desenvolver também um novo objeto dica que será base e algumas classes herdeiras para indicar a possível direção do movimento da linha divisória.
preview
Desenvolvimento de um Cliente MQTT para o MetaTrader 5: Metodologia TDD

Desenvolvimento de um Cliente MQTT para o MetaTrader 5: Metodologia TDD

Este artigo apresenta a primeira tentativa de desenvolver um cliente MQTT nativo para o MQL5. MQTT é um protocolo de troca de dados no formato "publicador - assinante". Ele é leve, aberto, simples e projetado para ser facilmente implementado. Isso o torna aplicável em muitas situações.
Indicador CCI. Três etapas de transformação
Indicador CCI. Três etapas de transformação

Indicador CCI. Três etapas de transformação

Neste artigo, eu farei alterações adicionais no CCI afetando a própria lógica desse indicador. Além disso, nós poderemos vê-lo na janela principal do gráfico.
preview
Algoritmo de recompra: Simulação de negociação em várias moedas

Algoritmo de recompra: Simulação de negociação em várias moedas

Neste artigo, criaremos um modelo matemático para simular a precificação em várias moedas e concluiremos o estudo, que comecei no artigo anterior, sobre o princípio de diversificação como parte da busca por mecanismos para aumentar a eficiência da negociação.
preview
Redes neurais de maneira fácil (Parte 31): Algoritmos evolutivos

Redes neurais de maneira fácil (Parte 31): Algoritmos evolutivos

No último artigo, iniciamos a análise dos métodos de otimização sem gradiente, e nos familiarizamos com o algoritmo genético. Hoje, continuaremos a discutir o mesmo assunto e também examinaremos outra classe de algoritmos evolutivos.
preview
Modelos de regressão da biblioteca Scikit-learn e sua exportação para ONNX

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

Neste artigo, exploraremos a aplicação de modelos de regressão do pacote Scikit-learn, tentaremos convertê-los para o formato ONNX e usaremos os modelos resultantes em programas MQL5. Além disso, compararemos a precisão dos modelos originais com suas versões ONNX para ambas as precisões float e double. Além disso, examinaremos a representação ONNX dos modelos de regressão, com o objetivo de fornecer uma melhor compreensão de sua estrutura interna e princípios operacionais.
preview
Redes neurais de maneira fácil (Parte 38): Exploração auto-supervisionada via desacordo (Self-Supervised Exploration via Disagreement)

Redes neurais de maneira fácil (Parte 38): Exploração auto-supervisionada via desacordo (Self-Supervised Exploration via Disagreement)

Um dos principais desafios do aprendizado por reforço é a exploração do ambiente. Anteriormente, já nos iniciamos no método de exploração baseado na curiosidade interna. E hoje proponho considerar outro algoritmo, o de exploração por desacordo.
preview
Análise de Sentimento e Deep Learning para Trading com EA e Backtesting com Python

Análise de Sentimento e Deep Learning para Trading com EA e Backtesting com Python

Neste artigo, vamos introduzir a Análise de Sentimento e Modelos ONNX com Python para serem usados em um EA. Um script executa um modelo ONNX treinado do TensorFlow para previsões de deep learning, enquanto outro busca manchetes de notícias e quantifica o sentimento usando IA.
preview
Como escolher um Expert Advisor: Vinte caraterísticas de um robô de baixa qualidade

Como escolher um Expert Advisor: Vinte caraterísticas de um robô de baixa qualidade

Neste artigo, iremos responder à pergunta de como escolher o Expert Advisor correto. Quais são os mais adequados para o nosso portfólio e como podemos filtrar a maioria dos robôs de negociação disponíveis no mercado? Este artigo apresenta vinte caraterísticas evidentes de um EA de baixa qualidade. Ele ajudará você a tomar decisões mais informadas e criar uma coleção de EAs lucrativos.
DoEasy. Controles (Parte 32): "ScrollBar" horizontal, rolagem com a roda do mouse
DoEasy. Controles (Parte 32): "ScrollBar" horizontal, rolagem com a roda do mouse

DoEasy. Controles (Parte 32): "ScrollBar" horizontal, rolagem com a roda do mouse

Neste artigo, concluiremos o desenvolvimento do funcional do objeto de barra de rolagem horizontal. Vamos habilitar a capacidade de rolar o conteúdo do contêiner movendo o controle deslizante da barra de rolagem e girando a roda do mouse. Além disso, faremos adições à biblioteca para acomodar a nova política de execução de ordens e os novos códigos de erro de tempo de execução no MQL5.
preview
Desenvolvendo um sistema de Replay - Simulação de mercado ( Parte 21):  FOREX (II)

Desenvolvendo um sistema de Replay - Simulação de mercado ( Parte 21): FOREX (II)

Vamos continuar a montagem do sistema para cobrir o mercado de FOREX. Então para resolver este problema, precisaríamos primeiramente, declarar o carregamento dos tickets, antes de fazer o carregamento das barras previas. Isto resolve o problema, mas ao mesmo tempo força o usuário, a um tipo de modelagem do arquivo de configuração, que ao meu ver não faz muito sentido. O motivo é que, ao desenvolver a programação, responsável por analisar e executar o que esta no arquivo de configuração, podemos permitir ao usuário, declarar as coisas em qualquer ordem.
preview
Como desenvolver um sistema de negociação baseado no indicador DeMarker

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

Aqui está um novo artigo em nossa série sobre como desenvolver um sistema de negociação pelos indicadores técnicos mais populares. Neste artigo, nós apresentaremos como criar um sistema de negociação pelo indicador DeMarker.
preview
Experimentos com redes neurais (Parte 6): O perceptron como uma ferramenta de previsão de preços autossuficiente

Experimentos com redes neurais (Parte 6): O perceptron como uma ferramenta de previsão de preços autossuficiente

Veja um exemplo do uso do perceptron como um meio autossuficiente de previsão de preços. Esse artigo aborda conceitos gerais, apresenta um Expert Advisor simples e pronto para uso e os resultados de sua otimização.
preview
Redes neurais de maneira fácil (Parte 23): Criando uma ferramenta para transferência de aprendizado

Redes neurais de maneira fácil (Parte 23): Criando uma ferramenta para transferência de aprendizado

Nesta série de artigos, já mencionamos a transferência de aprendizado mais de uma vez. Mas até agora o assunto não foi além das menções. Sugiro preencher essa lacuna e dar uma olhada mais de perto na transferência de aprendizado.
preview
Gerenciador de riscos para trading algorítmico

Gerenciador de riscos para trading algorítmico

Os objetivos deste artigo são: demonstrar a necessidade obrigatória de um gerenciador de riscos, adaptar os princípios de controle de risco para trading algorítmico em uma classe específica, permitindo que todos possam comprovar, de forma independente, a eficácia da abordagem de normalização de risco no day trading e em investimentos nos mercados financeiros. Neste artigo, exploraremos em detalhes a criação de uma classe de gerenciador de riscos para trading algorítmico, continuando o tópico abordado no artigo anterior sobre o gerenciador de riscos para trading manual.
preview
Transformada Discreta de Hartley

Transformada Discreta de Hartley

Neste artigo, vamos nos familiarizar com um dos métodos de análise espectral e processamento de sinais - a transformada discreta de Hartley. Com ela, é possível filtrar sinais, analisar seus espectros e muito mais. As capacidades da DHT não são menores do que as da transformada discreta de Fourier. No entanto, ao contrário dela, a DHT utiliza apenas números reais, o que a torna mais conveniente para implementação na prática, e os resultados de sua aplicação mais visíveis.
preview
Negociação algorítmica com MetaTrader 5 e R para iniciantes

Negociação algorítmica com MetaTrader 5 e R para iniciantes

Neste artigo, vamos combinar análise financeira com negociação algorítmica, além de ver como integrar R e MetaTrader 5. Este artigo é um guia para unir a flexibilidade analítica do R com as enormes possibilidades de negociação do MetaTrader 5.
preview
Desenvolvendo um sistema de Replay (Parte 44): Projeto do Chart Trade (III)

Desenvolvendo um sistema de Replay (Parte 44): Projeto do Chart Trade (III)

No artigo anterior, expliquei como você pode manipular os dados do template a fim de usá-los em um OBJ_CHART. Mas lá apenas introduzi a questão, mas sem entrar em muitos detalhes, já que naquela versão o trabalho foi feito de uma maneira bem simplificada. No entanto, ela foi feita daquela forma, justamente para facilitar a explicação do conteúdo. Pois apesar de parecer simples fazer certas coisas, algumas não são tão evidentes, e sem compreender a parte mais simples e básica, você não irá de fato entender o que estou fazendo.