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
preview
Indicadores não-lineares

Indicadores não-lineares

Neste artigo, vamos considerar algumas formas de construir indicadores não-lineares e seu uso na negociação. Existem alguns indicadores disponíveis na plataforma de negociação MetaTrader que utilizam abordagens não-lineares.
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.
Transferência de um Código Indicador para um Código Expert Advisor. Conclusão
Transferência de um Código Indicador para um Código Expert Advisor. Conclusão

Transferência de um Código Indicador para um Código Expert Advisor. Conclusão

Este é o artigo final, dedicado à Transferência de um Código Indicador para um Código Expert Advisor. Aqui o autor transforma em um determinado exemplo um código de um Expert Advisor para que esta área seja apresentada em um único arquivo sem chamar indicadores personalizados.
Expert Advisor MetaTrader 4 para Intercâmbio de Informações com o Mundo Exterior
Expert Advisor MetaTrader 4 para Intercâmbio de Informações com o Mundo Exterior

Expert Advisor MetaTrader 4 para Intercâmbio de Informações com o Mundo Exterior

Uma solução simples, universal e confiável de intercâmbio de informações entre um Expert Advisor МetaТrader 4 e o mundo exterior. Fornecedores e consumidores de informações podem estar localizados em diferentes computadores, a conexão é realizada através dos endereços IPs globais.
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.
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.
preview
Multibot no MetaTrader: lançando vários robôs a partir de um único gráfico

Multibot no MetaTrader: lançando vários robôs a partir de um único gráfico

Neste artigo, veremos um modelo simples para a criação de um robô universal no MetaTrader que pode ser usado em vários gráficos, mas que é fixado em apenas um gráfico, sem a necessidade de configurar cada instância do robô em cada gráfico individual.
Kit do Trader: Biblioteca Drag Trade
Kit do Trader: Biblioteca Drag Trade

Kit do Trader: Biblioteca Drag Trade

O artigo descreve a Biblioteca Drag Trade que fornece uma funcionalidade à negociação visual. A biblioteca pode ser facilmente integrado praticamente em qualquer Expert Advisor. Seu Expert Advisor pode ser transformado de semi-automático num sistema de negociação e de informação automatizado quase sem esforço, apenas adicionando algumas linhas de código.
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
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 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.
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
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
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.
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
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.
Indicador de linhas de tendências considerando a abordagem de T. Demark
Indicador de linhas de tendências considerando a abordagem de T. Demark

Indicador de linhas de tendências considerando a abordagem de T. Demark

O indicador mostra linhas de tendência exibindo os eventos recentes no mercado. O indicador é desenvolvido considerando as recomendações e a abordagem de Thomas Demark, com relação à análise técnica. O indicador exibe ambas a última direção da tendência e a penúltima direção oposta da tendência.
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.
Diagramas tridimensionais - uma ferramenta profissional de análise de mercado
Diagramas tridimensionais - uma ferramenta profissional de análise de mercado

Diagramas tridimensionais - uma ferramenta profissional de análise de mercado

Neste artigo escreveremos uma biblioteca simples para a construção de diagramas 3D e sua exibição posterior no Microsoft Excel. Usaremos as opções padrão do MQL4 para preparar e exportar os dados ao arquivo *.csv.
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.
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.
Interação entre o MetaTrader 4 e o Matlab através de arquivos CSV
Interação entre o MetaTrader 4 e o Matlab através de arquivos CSV

Interação entre o MetaTrader 4 e o Matlab através de arquivos CSV

Instruções detalhadas de como organizar o intercâmbio de dados das matrizes entre o MetaTrader 4 e o Matlab através de arquivos CSV.
preview
Usando o AutoIt com MQL5

Usando o AutoIt com MQL5

Este artigo descreve como criar scripts para o terminal MetraTrader 5, integrando MQL5 com AutoIt. Vou mostrar como automatizar várias tarefas usando a interface do usuário do terminal e apresentar uma classe que usa a biblioteca AutoItX.
Gráficos "sem buracos"
Gráficos "sem buracos"

Gráficos "sem buracos"

O artigo trata da realização de gráficos sem barras puladas.
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.
Falácias, Parte 2. A estatística é uma pseudociência ou uma crônica sobre a queda de uma fatia de pão com manteiga
Falácias, Parte 2. A estatística é uma pseudociência ou uma crônica sobre a queda de uma fatia de pão com manteiga

Falácias, Parte 2. A estatística é uma pseudociência ou uma crônica sobre a queda de uma fatia de pão com manteiga

Inúmeras tentativas de aplicar métodos estatísticos à realidade objetiva, ou seja, séries financeiras, falham quando encontramos processos não estacionários, "mentiras" sobre acompanhar a distribuição de probabilidade e volume insuficiente de dados financeiros. Nesta publicação, tentarei me referir não às séries financeiras como tal, mas sim as suas apresentações subjetivas - nesse caso, à forma que um trader tenta prender as séries, ou seja, ao sistema de trading. O ensino das regularidades estatísticas do processo de resultados de trading é uma tarefa atraente. Em alguns casos, conclusões bastante verdadeiras sobre o modelo desse processo podem ser feitas e elas podem ser aplicadas ao sistema de trading.
Otimização Visual de Indicador e Sinal de Rentabilidade
Otimização Visual de Indicador e Sinal de Rentabilidade

Otimização Visual de Indicador e Sinal de Rentabilidade

Este artigo é uma continuação e desenvolvimento de meu artigo anterior "Testes Visuais de Rentabilidade dos Indicadores e Alertas". Tendo acrescentado alguma interatividade com o processo de mudança de parâmetro e reformulado os objetivos do estudo, além de obter uma nova ferramenta que mostra os potenciais resultados com base nos sinais utilizados, também permite que você obtenha imediatamente um layout de operações, gráfico do saldo e o resultado final da negociação, movendo controles deslizantes virtuais que funcionam como controladores para os valores dos parâmetros do sinal no gráfico principal.
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.
Usando o Skype para enviar mensagens de um Expert Advisor
Usando o Skype para enviar mensagens de um Expert Advisor

Usando o Skype para enviar mensagens de um Expert Advisor

O artigo trata de como enviar mensagens internas e SMS do Expert Advisor para celulares utilizando o Skype.
Segredos do terminal do cliente MetaTrader 4: Biblioteca de arquivos no MetaEditor
Segredos do terminal do cliente MetaTrader 4: Biblioteca de arquivos no MetaEditor

Segredos do terminal do cliente MetaTrader 4: Biblioteca de arquivos no MetaEditor

Durante a criação de programas personalizados, o editor de código possui grande importância. Quanto mais funções estiverem disponíveis no editor, mais rápida e conveniente será a criação do programa. Muitos programas são criados com base em um código pré-existente. Você usa um indicador ou um script que não é completamente adequado aos seus objetivos? Faça o download do código deste programa no nosso website e personalize-o para os seus fins.
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.
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.
Controle Gráfico dos Parâmetros Externos dos Indicadores
Controle Gráfico dos Parâmetros Externos dos Indicadores

Controle Gráfico dos Parâmetros Externos dos Indicadores

Variáveis externas de indicadores são controladas usando uma janela especial, onde os parâmetros podem ser alterados e então o indicador é executado novamente. O inconveniente óbvio destas manipulações deu origem à necessidade de exibir os parâmetros na tela e controlar o indicador graficamente.
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 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.
Múltiplas recontagens de barra nula em alguns indicadores
Múltiplas recontagens de barra nula em alguns indicadores

Múltiplas recontagens de barra nula em alguns indicadores

O artigo trata do problema de se recontar o valor do indicador no terminal do cliente MetaTrader 4 quando a barra nula muda. Nele, é delineada a ideia geral de como adicionar ao código do indicador alguns programas extras que permitem restaurar o código do programa salvo antes de recontagens múltiplas.
Pontos de interrupção no verificador: É possível!
Pontos de interrupção no verificador: É possível!

Pontos de interrupção no verificador: É possível!

O artigo trata da emulação do ponto de interrupção quando passa pelo verificador, informações de depuração estão sendo exibidas.
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.
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.