Criando um Painel Administrador de Trading em MQL5 (Parte IX): Organização de Código (II): Modularização
Criando um Painel Administrador de Trading em MQL5 (Parte IX): Organização de Código (II): Modularização
Nesta discussão, damos um passo adiante ao dividir nosso programa MQL5 em módulos menores e mais gerenciáveis. Esses componentes modulares serão então integrados ao programa principal, melhorando sua organização e capacidade de manutenção. Essa abordagem simplifica a estrutura do programa principal e torna os componentes individuais reutilizáveis em outros Expert Advisors (EAs) e no desenvolvimento de indicadores. Ao adotar esse design modular, criamos uma base sólida para melhorias futuras, beneficiando tanto nosso projeto quanto a comunidade mais ampla de desenvolvedores.
Testes de Robustez em Expert Advisors
Testes de Robustez em Expert Advisors
No desenvolvimento de estratégias, há muitos detalhes complexos a serem considerados, muitos dos quais não são destacados para traders iniciantes. Como resultado, muitos traders, eu incluído, tiveram de aprender essas lições da maneira mais difícil. Este artigo é baseado em minhas observações sobre armadilhas comuns que a maioria dos traders iniciantes encontra ao desenvolver estratégias em MQL5. Ele oferecerá uma variedade de dicas, truques e exemplos para ajudar a identificar a desqualificação de um EA e testar a robustez dos nossos próprios EAs de uma forma fácil de implementar. O objetivo é educar os leitores, ajudando-os a evitar futuros golpes ao comprar EAs, bem como a prevenir erros no desenvolvimento de suas próprias estratégias.
Do básico ao intermediário: Sub Janelas (II)
Do básico ao intermediário: Sub Janelas (II)
O artigo aprofunda o uso de sub janelas no MetaTrader 5, mostrando como a direção do cálculo em OnCalculate afeta buffers e a plotagem de médias. Explica na prática o encadeamento de indicadores com FIRST INDICATOR’S DATA e PREVIOUS INDICATOR’S DATA, o impacto na remoção em cadeia e o comportamento de indicatorseparatewindow. O leitor aprende a diagnosticar falhas de exibição e a estruturar indicadores que funcionam corretamente em sub janelas.
Desenvolvendo um EA multimoeda (Parte 27): Componente para exibição de texto multilinha
Desenvolvendo um EA multimoeda (Parte 27): Componente para exibição de texto multilinha
Quando surge a necessidade de exibir informações textuais no gráfico, podemos utilizar a função Comment(). Porém, suas possibilidades são bastante limitadas. Por isso, no âmbito deste artigo, criaremos nosso próprio componente, uma janela de diálogo em tela cheia, capaz de exibir texto multilinha com configurações flexíveis de fonte e suporte a rolagem.
Dominando Registros de Log (Parte 5): Otimizando o Handler com Cache e Rotação
Dominando Registros de Log (Parte 5): Otimizando o Handler com Cache e Rotação
Este artigo aprimora a biblioteca de logging adicionando formatadores nos handlers, a classe CIntervalWatcher para gerenciar ciclos de execução, otimização com cache e rotação de arquivos, testes de desempenho e exemplos práticos. Com essas melhorias, garantimos um sistema de logging eficiente, escalável e adaptável a diferentes cenários de desenvolvimento.
Criando um Painel de Administração de Trading em MQL5 (Parte IX): Organização de Código (I)
Criando um Painel de Administração de Trading em MQL5 (Parte IX): Organização de Código (I)
Esta discussão aprofunda-se nos desafios encontrados ao trabalhar com grandes bases de código. Vamos explorar as melhores práticas para organização de código em MQL5 e implementar uma abordagem prática para aprimorar a legibilidade e a escalabilidade do código-fonte do nosso Painel de Administração de Trading. Além disso, buscamos desenvolver componentes de código reutilizáveis que possam potencialmente beneficiar outros desenvolvedores no desenvolvimento de seus algoritmos. Continue lendo e participe da discussão.
Engenharia de Recursos com Python e MQL5 (Parte III): Ângulo do Preço (2) Coordenadas Polares
Engenharia de Recursos com Python e MQL5 (Parte III): Ângulo do Preço (2) Coordenadas Polares
Neste artigo, fazemos nossa segunda tentativa de converter as variações nos níveis de preço em qualquer mercado em uma variação correspondente de ângulo. Desta vez, selecionamos uma abordagem matematicamente mais sofisticada do que a escolhida em nossa primeira tentativa, e os resultados que obtivemos sugerem que a mudança de abordagem pode ter sido a decisão correta Junte-se a nós hoje, enquanto discutimos como podemos usar coordenadas polares para calcular o ângulo formado pelas variações nos níveis de preço, de forma significativa, independentemente de qual mercado você esteja analisando.
Construindo Expert Advisors Auto-Otimizáveis em MQL5 (Parte 5): Regras de Negociação Auto Adaptativas
Construindo Expert Advisors Auto-Otimizáveis em MQL5 (Parte 5): Regras de Negociação Auto Adaptativas
As melhores práticas, que definem como usar um indicador com segurança, nem sempre são fáceis de seguir. Condições de mercado calmas podem, surpreendentemente, produzir leituras no indicador que não se qualificam como um sinal de negociação, levando à perda de oportunidades para traders algorítmicos. Este artigo irá sugerir uma solução potencial para esse problema, à medida que discutimos como construir aplicações de negociação capazes de adaptar suas regras de negociação aos dados de mercado disponíveis.
Do básico ao intermediário: Sobrecarga de operadores (V)
Do básico ao intermediário: Sobrecarga de operadores (V)
Neste artigo iremos ver como podemos manipular um código a fim de implementar algo completamente diferente daquilo que muitos acreditam ser possível ser feito no MQL5. Uma observação importante: Para entender de maneira adequada o que será visto aqui, é necessário que os conceitos vistos nos artigos anteriores tenham sido devidamente compreendidos.
Mecanismos de gating em aprendizado por ensemble
Mecanismos de gating em aprendizado por ensemble
Neste artigo, continuamos nossa exploração de modelos ensemble discutindo o conceito de gates, especificamente como eles podem ser úteis na combinação das saídas dos modelos para aprimorar a precisão das previsões ou a generalização do modelo.
A Estratégia de Negociação do Inverse Fair Value Gap
A Estratégia de Negociação do Inverse Fair Value Gap
Um inverse fair value gap (IFVG) ocorre quando o preço retorna a um fair value gap previamente identificado e, em vez de apresentar a reação esperada de suporte ou resistência, falha em respeitá-lo. Essa falha pode sinalizar uma possível mudança na direção do mercado e oferecer uma vantagem contrária de negociação. Neste artigo, vou apresentar minha abordagem desenvolvida por mim para quantificar e utilizar o inverse fair value gap como uma estratégia para expert advisors do MetaTrader 5.
Dominando Registros de Log (Parte 4): Salvando logs em arquivos
Dominando Registros de Log (Parte 4): Salvando logs em arquivos
Neste artigo, ensinarei operações básicas com arquivos e como configurar um handler flexível para personalização. Atualizaremos a classe CLogifyHandlerFile para gravar logs diretamente no arquivo. Realizaremos um teste de desempenho simulando uma estratégia no EURUSD por uma semana, gerando logs a cada tick, com um tempo total de 5 minutos e 11 segundos. O resultado será comparado em um artigo futuro, onde implementaremos um sistema de cache para melhorar o desempenho.
Construindo Expert Advisors Auto-Otimizáveis em MQL5 (Parte 4): Dimensionamento Dinâmico de Posição
Construindo Expert Advisors Auto-Otimizáveis em MQL5 (Parte 4): Dimensionamento Dinâmico de Posição
Empregar com sucesso o trading algorítmico exige aprendizado contínuo e interdisciplinar. No entanto, a gama infinita de possibilidades pode consumir anos de esforço sem gerar resultados tangíveis. Para lidar com isso, propomos uma estrutura que introduz complexidade de forma gradual, permitindo que os traders refinem suas estratégias de maneira iterativa, em vez de dedicar tempo indefinido a resultados incertos.
Implementação do mecanismo de breakeven em MQL5 (Parte 1): Classe base e modo de breakeven por pontos fixos
Implementação do mecanismo de breakeven em MQL5 (Parte 1): Classe base e modo de breakeven por pontos fixos
Neste artigo, analisamos a aplicação do mecanismo de breakeven (ponto de equilíbrio) em estratégias automatizadas na linguagem MQL5. Começaremos com uma explicação simples do que é o modo de breakeven, como ele é implementado e quais são suas possíveis variações. Em seguida, essa funcionalidade será integrada ao EA Order Blocks, criado por nós no último artigo sobre gerenciamento de riscos. Para avaliar a eficácia, faremos dois backtests sob determinadas condições: um com a aplicação do mecanismo de breakeven e outro, sem.
Integração de APIs de Corretoras com Expert Advisors usando MQL5 e Python
Integração de APIs de Corretoras com Expert Advisors usando MQL5 e Python
Neste artigo, discutiremos a implementação do MQL5 em parceria com o Python para realizar operações relacionadas à corretora. Imagine ter um Expert Advisor (EA) em execução contínua hospedado em um VPS, executando negociações em seu nome. Em determinado momento, a capacidade do EA de gerenciar fundos torna-se fundamental. Isso inclui operações como adicionar fundos à sua conta de negociação e iniciar retiradas. Nesta discussão, iremos esclarecer as vantagens e a implementação prática desses recursos, garantindo a integração perfeita do gerenciamento de fundos à sua estratégia de negociação. Fique atento!
Algoritmo de otimização caótica — Chaos optimization algorithm (COA)
Algoritmo de otimização caótica — Chaos optimization algorithm (COA)
Algoritmo de otimização caótica (COA) aprimorado, que combina a influência do caos com mecanismos adaptativos de busca. O algoritmo utiliza diversos mapeamentos caóticos e componentes inerciais para explorar o espaço de busca. O artigo revela os fundamentos teóricos dos métodos caóticos de otimização financeira.
Do básico ao intermediário: Sobrecarga de operadores (III)
Do básico ao intermediário: Sobrecarga de operadores (III)
Neste artigo será demonstrado como podemos implementar a sobrecarga tanto de operadores lógicos como também de operadores relacionais. Fazer isto demanda um certo cuidado e uma boa dose de atenção. Já que um simples deslize durante a implementação do que será a sobrecarga de tais operadores, pode vir a pôr todo um código em condição de ser totalmente jogado no lixo. Já que se a sobrecarga vier a ter problemas. Toda uma base de dados criada em cima dos resultados gerados pelo seu código deverá ser completamente descartada, ou no mínimo totalmente revisada.
Desenvolvendo um Expert Advisor de Breakout Baseado em Eventos de Notícias do Calendário em MQL5
Desenvolvendo um Expert Advisor de Breakout Baseado em Eventos de Notícias do Calendário em MQL5
A volatilidade tende a atingir picos em torno de eventos de notícias de alto impacto, criando oportunidades significativas de breakout. Neste artigo, iremos delinear o processo de implementação de uma estratégia de breakout baseada em calendário. Abordaremos tudo, desde a criação de uma classe para interpretar e armazenar dados do calendário, o desenvolvimento de backtests realistas utilizando esses dados e, por fim, a implementação do código de execução para negociação ao vivo.
Desenvolvimento de um sistema de monitoramento de entradas de swing (EA)
Desenvolvimento de um sistema de monitoramento de entradas de swing (EA)
À medida que o ano se aproxima do fim, traders de longo prazo costumam refletir sobre o histórico do mercado para analisar seu comportamento e tendências, visando projetar potenciais movimentos futuros. Neste artigo, exploraremos o desenvolvimento de um Expert Advisor (EA) de monitoramento de entradas de longo prazo usando MQL5. O objetivo é abordar o desafio das oportunidades de negociação de longo prazo perdidas devido ao trading manual e à ausência de sistemas automatizados de monitoramento. Usaremos um dos pares mais negociados como exemplo para estruturar e desenvolver nossa solução de forma eficaz.
Reimaginando Estratégias Clássicas (Parte 13): Minimizando o Atraso em Cruzamentos de Médias Móveis
Reimaginando Estratégias Clássicas (Parte 13): Minimizando o Atraso em Cruzamentos de Médias Móveis
Os cruzamentos de médias móveis são amplamente conhecidos pelos traders em nossa comunidade, e ainda assim o núcleo da estratégia mudou muito pouco desde sua criação. Nesta discussão, apresentaremos um leve ajuste à estratégia original, que busca minimizar o atraso presente na estratégia de negociação. Todos os fãs da estratégia original podem considerar revisar a estratégia de acordo com os insights que discutiremos hoje. Ao usar 2 médias móveis com o mesmo período, reduzimos consideravelmente o atraso na estratégia de negociação, sem violar os princípios fundamentais da estratégia.
Gerenciamento de riscos (Parte 4): Conclusão dos métodos-chave da classe
Gerenciamento de riscos (Parte 4): Conclusão dos métodos-chave da classe
Este artigo é a quarta parte da nossa série sobre gerenciamento de riscos em MQL5, onde continuamos a explorar métodos avançados de proteção e otimização de estratégias de negociação. Após termos estabelecido as bases importantes nas partes anteriores, agora focaremos em finalizar todos os métodos que ficaram pendentes na terceira parte, incluindo as funções responsáveis por verificar o atingimento de determinados níveis de lucro ou prejuízo. Além disso, o artigo introduz novos eventos-chave que garantem um controle mais preciso e flexível.
Gerenciamento de riscos (Parte 1): Fundamentos da construção de uma classe de gerenciamento de riscos
Gerenciamento de riscos (Parte 1): Fundamentos da construção de uma classe de gerenciamento de riscos
Neste artigo, analisaremos os fundamentos do gerenciamento de riscos no trading e veremos como criar nossas primeiras funções para calcular o lote adequado para uma operação, assim como o stop loss. Além disso, examinaremos em detalhes como essas funções funcionam, explicando cada etapa. Nosso objetivo é fornecer uma compreensão clara de como aplicar esses conceitos na negociação automática. No final, aplicaremos tudo na prática, criando um script simples com o arquivo incluível que desenvolveremos.
Gerenciamento de riscos (Parte 2): Implementação do cálculo de lotes na interface gráfica
Gerenciamento de riscos (Parte 2): Implementação do cálculo de lotes na interface gráfica
Neste artigo, analisaremos como aprimorar e aplicar de forma mais eficiente os conceitos apresentados no artigo anterior, utilizando as poderosas bibliotecas de elementos gráficos de controle do MQL5. Conduzirei você passo a passo pelo processo de criação de uma interface gráfica totalmente funcional, explicando o plano de projeto subjacente, bem como o propósito e o princípio de funcionamento de cada método empregado. Além disso, ao final do artigo testaremos o painel criado, a fim de confirmar seu correto funcionamento e sua aderência aos objetivos estabelecidos.
Gerenciamento de riscos (Parte 3): Criação da classe principal de gerenciamento de riscos
Gerenciamento de riscos (Parte 3): Criação da classe principal de gerenciamento de riscos
Neste artigo começaremos a criação da classe principal de gerenciamento de riscos, que será o elemento chave para o controle de riscos no sistema. Vamos nos concentrar na construção das bases, na definição das principais estruturas, variáveis e funções. Além disso, implementaremos os métodos necessários para atribuir valores de lucro máximo e prejuízo máximo, estabelecendo assim o alicerce do gerenciamento de riscos.
Desenvolvimento de sistemas de trading avançados ICT: Implementação de sinais no indicador Order Blocks
Desenvolvimento de sistemas de trading avançados ICT: Implementação de sinais no indicador Order Blocks
Neste artigo você vai aprender como desenvolver um indicador Order Blocks baseado no volume do livro de ofertas (profundidade de mercado) e otimizá-lo usando buffers para melhorar a precisão. Com isso, concluímos a etapa atual do projeto e nos preparamos para as próximas, nas quais será implementada uma classe de gerenciamento de risco e um robô de negociação que utilizará os sinais gerados pelo indicador.
MQL5 Trading Toolkit (Parte 5): Expandindo a Biblioteca EX5 de Gerenciamento de Histórico com Funções de Posição
MQL5 Trading Toolkit (Parte 5): Expandindo a Biblioteca EX5 de Gerenciamento de Histórico com Funções de Posição
Descubra como criar funções exportáveis em EX5 para consultar e salvar de forma eficiente dados históricos de posições. Neste guia passo a passo, ampliaremos a biblioteca EX5 de gerenciamento de histórico desenvolvendo módulos que recuperam propriedades-chave da posição fechada mais recentemente. Isso inclui lucro líquido, duração da negociação, stop loss em pips, take profit, valores de lucro e vários outros detalhes importantes.
Construindo um Modelo de Restrição de Tendência com Candlestick (Parte 10): Golden Cross e Death Cross Estratégicos (EA)
Construindo um Modelo de Restrição de Tendência com Candlestick (Parte 10): Golden Cross e Death Cross Estratégicos (EA)
Você sabia que as estratégias Golden Cross e Death Cross, baseadas no cruzamento de médias móveis, são alguns dos indicadores mais confiáveis para identificar tendências de mercado de longo prazo? Um Golden Cross sinaliza uma tendência de alta quando uma média móvel mais curta cruza acima de uma média mais longa, enquanto o Death Cross indica uma tendência de baixa quando a média mais curta cruza abaixo. Apesar de sua simplicidade e eficácia, aplicar essas estratégias manualmente frequentemente leva a oportunidades perdidas ou negociações atrasadas.
Estratégia de trading "Captura de Liquidez" (Liquidity Grab)
Estratégia de trading "Captura de Liquidez" (Liquidity Grab)
A estratégia de captura de liquidez é um componente-chave do Smart Money Concepts (SMC), que visa identificar e aproveitar as ações dos participantes institucionais no mercado. Ela envolve mirar áreas de alta liquidez, como zonas de suporte ou resistência, onde ordens de grande volume podem provocar um movimento de preço antes que o mercado retome sua tendência. Este artigo explica em detalhes o conceito de captura de liquidez e descreve o processo de desenvolvimento de um EA para a estratégia de captura de liquidez em MQL5.
Desenvolvimento de ferramentas para análise do movimento de preços (Parte 7): Expert Advisor Signal Pulse
Desenvolvimento de ferramentas para análise do movimento de preços (Parte 7): Expert Advisor Signal Pulse
Libere o potencial da análise multitimeframe com o Signal Pulse, um EA em MQL5 que combina as Bandas de Bollinger e o Oscilador Estocástico para fornecer sinais de negociação precisos com alta probabilidade de ocorrência. Descubra como implementar essa estratégia e visualizar de forma eficiente oportunidades de compra e venda usando setas. O EA é ideal para traders que buscam aprimorar suas decisões por meio de análise automática em vários timeframes.
MQL5 Trading Toolkit (Parte 5): Expansão da biblioteca EX5 para gerenciamento do histórico com funções do último ordem pendente executada
MQL5 Trading Toolkit (Parte 5): Expansão da biblioteca EX5 para gerenciamento do histórico com funções do último ordem pendente executada
Aprenda a criar um módulo EX5 com funções exportáveis que permite consultar e armazenar facilmente os dados da última ordem pendente executada. Neste guia passo a passo, aprimoraremos a biblioteca EX5 de gerenciamento de histórico (History Management) desenvolvendo funções especializadas e independentes para extrair as principais propriedades da última ordem pendente executada. Entre essas propriedades estão o tipo de ordem, o horário de colocação, o horário de execução, o tipo de execução e outros dados importantes necessários para o gerenciamento e análise eficaz do histórico de operações com ordens pendentes.
Dominando registros de log (Parte 2): Formatação dos logs
Dominando registros de log (Parte 2): Formatação dos logs
Neste artigo, estudaremos a criação e aplicação de programas de formatação para bibliotecas de logs. Examinaremos todas as etapas, desde a estrutura básica de um programa de formatação até exemplos práticos de implementação. Ao final do artigo, você terá todo o conhecimento necessário para realizar a formatação de logs dentro de uma biblioteca e entenderá como tudo funciona nos bastidores.
Construa EAs auto-otimizáveis em MQL5 (Parte 3): Acompanhamento dinâmico de tendência e retorno à média
Construa EAs auto-otimizáveis em MQL5 (Parte 3): Acompanhamento dinâmico de tendência e retorno à média
Os mercados financeiros geralmente são classificados como estando em consolidação (movimento lateral) ou em tendência. Essa visão estática do mercado pode facilitar o trading no curto prazo. No entanto, ela está desconectada da realidade do mercado. Neste artigo, vamos tentar compreender melhor como exatamente os mercados financeiros transitam entre esses dois possíveis regimes e vamos tentar compreender melhor como exatamente os mercados financeiros transitam entre esses dois possíveis regimes e como podemos utilizar esse novo entendimento do comportamento do mercado para ganhar confiança em nossas estratégias de trading algorítmico.
Do básico ao intermediário: Filas, Listas e Árvores (VIII)
Do básico ao intermediário: Filas, Listas e Árvores (VIII)
Neste artigo veremos como implementar um algoritmo de balanceamento da árvore. O que será visto aqui, é a minha proposta para este tipo de mecanismo. Existem diversos outros mecanismos com o mesmo tipo de objetivo. Porém cada um tem seus problemas e suas vantagens. Depende de você, meu caro leitor, estudar e procurar encontrar o que melhor irá lhe atender.
Construa Expert Advisors Auto-Otimizáveis em MQL5 (Parte 2): Estratégia de Scalping USDJPY
Construa Expert Advisors Auto-Otimizáveis em MQL5 (Parte 2): Estratégia de Scalping USDJPY
Junte-se a nós hoje enquanto nos desafiamos a construir uma estratégia de trading para o par USDJPY. Vamos negociar padrões de candles que são formados no gráfico diário, pois eles potencialmente têm mais força por trás deles. Nossa estratégia inicial foi lucrativa, o que nos encorajou a continuar refinando a estratégia e adicionando camadas extras de segurança, para proteger o capital obtido.