Algoritmo de busca circular — Circle Search Algorithm (CSA)
Este artigo apresenta um novo algoritmo metaheurístico de otimização, o CSA (Circle Search Algorithm), baseado nas propriedades geométricas do círculo. O algoritmo utiliza o princípio de movimentação de pontos ao longo das tangentes para encontrar a solução ideal, combinando fases de diversificação global e intensificação local.
Simulação de mercado: Position View (XI)
Neste artigo, mostrarei como você, meu caro e estimado leitor, pode sem muito esforço. Conseguir modificar o indicador de posição a fim de que ele venha a ser capaz de fazer bem mais coisas, do que originalmente era capaz de fazer. Veremos como incluir a capacidade de podermos mover tanto os preços, quanto também criar as linhas de preço. E isto diretamente no gráfico. Algo que muitos imaginariam ser extremamente complicado e de difícil solução. Porém você notará que faremos tudo isto, com muita facilidade e com um mínimo de esforço. Tudo que será preciso fazer é parar e pensar um pouco.
Simulação de mercado: Position View (XVIII)
Neste artigo, mostrei da forma o mais didática possível. Como você pode conseguir modificar e gerar um código que seja capaz de cumprir alguns objetivos. Isto modificando o mínimo possível um código já existente. Iremos adicionar um indicador de volume, ao mesmo tempo impedir que o usuário ou operador venha a remover objetos criados pelo indicador de posição.
Técnicas do MQL5 Wizard que você deve conhecer (Parte 54): Aprendizado por Reforço com SAC híbrido e Tensores
Soft Actor Critic é um algoritmo de Aprendizado por Reforço que analisamos em um artigo anterior, onde também introduzimos Python e ONNX nesta série como abordagens eficientes para treinar redes. Retomamos o algoritmo com o objetivo de explorar tensores, grafos computacionais que frequentemente são utilizados em Python.
Desenvolvendo um EA multimoeda (Parte 28): Adicionando um gerenciador de fechamento de posições
Ao executar muitas estratégias em paralelo, pode surgir a necessidade de, de tempos em tempos, fechar todas as posições abertas e reiniciar as estratégias. O código já escrito permite implementar esse comportamento apenas em conjunto com manipulações manuais. Vamos tentar automatizar essa parte.
Algoritmo de comportamento social adaptativo — Adaptive Social Behavior Optimization (ASBO): Método de Schwefel, Box-Muller
Este artigo apresenta uma imersão fascinante no mundo do comportamento social de organismos vivos e sua influência na criação de um novo modelo matemático — ASBO (Adaptive Social Behavior Optimization). Exploramos como os princípios de liderança, vizinhança e cooperação, observados em sociedades de seres vivos, inspiram o desenvolvimento de algoritmos de otimização inovadores.
Teoria dos grafos: Algoritmo de Dijkstra no trading
O algoritmo de Dijkstra é uma solução clássica para a busca do caminho mais curto na teoria dos grafos, permitindo otimizar estratégias de trading por meio da modelagem de redes de mercado. Traders podem utilizá-lo para encontrar as rotas mais eficientes nos dados de um gráfico de candles.
MetaTrader 5 Global Optimizer: Uma Estrutura Profissional para Otimizar EAs por Grupos, Subgrupos e Critérios de Robustez
Apresentamos uma metodologia para transformar a otimização de EAs no MetaTrader 5 em um fluxo organizado e auditável. A automação em Python cria .set e .ini, orquestra otimizações por grupos e subgrupos, compara cada etapa ao baseline e aplica rewind quando necessário. O leitor poderá escolher os melhores parâmetros considerando lucro, estabilidade, drawdown, trades, concentração de resultado e consistência em vários ativos.
Do iniciante ao especialista: criação de um EA animado para notícias em MQL5 (IV) - Análise de mercado com modelos hospedados localmente usando IA
Na discussão de hoje, veremos como hospedar localmente modelos de inteligência artificial de código aberto e usá-los para obter informações sobre o mercado. Isso faz parte dos nossos esforços contínuos para expandir o EA "Manchetes de Notícias" com a implementação da seção "Análise de inteligência artificial" (AI Insights), que transforma o EA em uma ferramenta auxiliar com múltiplas integrações. O EA atualizado foi projetado para informar os traders sobre eventos do calendário, as notícias financeiras mais recentes, indicadores técnicos e, agora, também sobre perspectivas de mercado geradas por inteligência artificial, oferecendo, assim, suporte oportuno, diversificado e inteligente à tomada de decisões de trading. Acompanhe esta conversa, na qual veremos estratégias práticas de integração e como o MQL5 pode interagir com recursos externos para criar um terminal de trading poderoso e inteligente.
Dominando JSON: Crie Seu Próprio Leitor JSON do Zero em MQL5
Experimente um guia passo a passo sobre como criar um parser JSON personalizado em MQL5, completo com manipulação de objetos e arrays, verificação de erros e serialização. Obtenha insights práticos para conectar sua lógica de trading e dados estruturados com esta solução flexível para lidar com JSON no MetaTrader 5.
Trading algorítmico de arbitragem com teoria dos grafos
Neste artigo, tratamos a arbitragem triangular como um problema de busca de ciclos em um grafo orientado, no qual os vértices representam moedas e as arestas representam pares de moedas com pesos correspondentes às taxas de câmbio. Um ciclo lucrativo ocorre quando o produto dos pesos é > 1. Os algoritmos Floyd-Warshall e DFS que desenvolvemos encontram os caminhos ideais de conversão de moedas com retorno ao ponto inicial e geração de lucro.
Assistente Connexus (Parte 5): Métodos HTTP e códigos de status
Neste artigo, vamos entender os métodos HTTP e os códigos de status, dois elementos muito importantes para a interação entre cliente e servidor na internet. Compreender o que cada método faz de fato permite criar requisições mais precisas, informando ao servidor qual ação deve ser executada e tornando a comunicação mais eficiente.
Simulação de mercado: A união faz a força (II)
Até o momento, a aplicação que estava sendo desenvolvida nesta sequência de artigos. Visava apenas e tão somente simular a parte gráfica. Mas para um sistema mais completo, onde temos a possibilidade de experimentar um Expert Advisor dentro do serviço de replay/simulador. Precisamos também fazer a simulação do servidor de negociação. Você notará, que a simulação usará o mínimo do mínimo possível. Mas se você, meu caro leitor, desejar, poderá completar as partes que faltam. Mas como isto não fará diferença para o que estou disposto a mostrar. Já temos mais do que o suficiente para desenvolver o que foi planejado.
Cliente no Connexus (Parte 7): Adicionando a camada de cliente
Neste artigo, continuamos o desenvolvimento da biblioteca Connexus. Neste capítulo, criamos a classe CHttpClient, responsável por enviar a requisição e receber a ordem. Também abordamos o conceito de mocks, separando a biblioteca da função WebRequest, o que garante maior flexibilidade para os usuários.
Implementação do modelo de tabela em MQL5: Aplicação do conto MVC
Neste artigo, analisaremos o desenvolvimento do modelo de tabela na linguagem MQL5, usando o conceito arquitetônico MVC (Model-View-Controller), que separa a lógica dos dados, a apresentação e o controle, o que ajuda a criar um código estruturado, flexível e escalável. Examinaremos a implementação das classes para construir o modelo de tabela, incluindo o uso de listas ligadas para armazenar dados.
Título no Connexus (Parte 3): dominando o uso de cabeçalhos HTTP em requisições
Continuamos o desenvolvimento da biblioteca Connexus. Neste capítulo, exploraremos o conceito de cabeçalhos no protocolo HTTP, explicando o que são, para que servem e como utilizá-los nas requisições. Analisaremos os principais cabeçalhos utilizados ao interagir com APIs e apresentaremos exemplos práticos de como configurá-los na biblioteca.
Integrando MQL5 com pacotes de processamento de dados (Parte 4): Manipulação de Big Data
Explorando técnicas avançadas para integrar o MQL5 com ferramentas poderosas de processamento de dados, esta parte se concentra no tratamento eficiente de big data para aprimorar a análise de negociação e a tomada de decisões.
Otimização por Comunidade de Cientistas - Community of Scientist Optimization (CoSO): Teoria
Os segredos da otimização eficiente de estratégias de trading em abordagens metaheurísticas. Community of Scientist Optimization é um novo algoritmo populacional inspirado nos mecanismos de funcionamento da comunidade de cientistas. Diferentemente das metáforas naturais tradicionais, o CoSO modela aspectos únicos da atividade científica humana: a publicação de resultados em periódicos, a competição por financiamentos de pesquisa e a formação de grupos de pesquisa.
Aplicando Seleção de Recursos Localizada em Python e MQL5
Este artigo explora um algoritmo de seleção de recursos introduzido no artigo 'Local Feature Selection for Data Classification' de Narges Armanfard et al. O algoritmo é implementado em Python para construir modelos de classificação binária que podem ser integrados com aplicativos MetaTrader 5 para inferência.
Corpo em Connexus (Parte 4): Adicionando suporte ao corpo de requisições HTTP
Neste artigo, abordamos o conceito de corpo nas requisições HTTP, que é necessário para o envio de dados como JSON e texto simples. Discutimos e explicamos como usá-lo corretamente junto com os cabeçalhos apropriados. Também introduzimos a classe ChttpBody, que faz parte da biblioteca Connexus e que irá simplificar o trabalho com o corpo das requisições.
Implementação do algoritmo criptográfico SHA-256 do zero em MQL5
Criar integrações com bolsas de criptomoedas sem arquivos DLL foi, por muito tempo, uma tarefa complexa, mas esta solução fornece uma base completa para conexão direta ao mercado.
Envio de mensagens de MQL5 para o Discord, criação de um bot Discord-MetaTrader 5
Assim como o Telegram, o Discord é capaz de receber informações e mensagens em formato JSON usando suas APIs de comunicação. Neste artigo, veremos como usar a API do Discord para enviar sinais de trading e atualizações do MetaTrader 5 para sua comunidade de trading no Discord.
Simplificando a negociação com base em notícias (Parte 6): Executando trades (III)
Neste artigo será implementada a ordenação de notícias para eventos econômicos individuais com base em seus identificadores. Além disso, as consultas SQL anteriores serão aprimoradas para fornecer informações adicionais ou reduzir o tempo de execução da consulta. O código criado nos artigos anteriores se tornará funcional.
WebSocket para MetaTrader 5: conexões assíncronas no lado do cliente usando a API do Windows
Neste artigo, descreve-se em detalhe o desenvolvimento de uma biblioteca DLL personalizada, destinada a simplificar conexões assíncronas no lado do cliente pelo protocolo WebSocket para programas MetaTrader.
Algoritmo de otimização do dingo - Dingo Optimization Algorithm (DOA)
O artigo apresenta um novo método metaheurístico baseado nas estratégias de caça dos dingos australianos: ataque em grupo, perseguição e busca de carniça. Vamos ver como o algoritmo de otimização do dingo (DOA) se sai em termos algorítmicos.
Busca oscilatória determinística — Deterministic Oscillatory Search (DOS)
O algoritmo Deterministic Oscillatory Search (DOS) é um método inovador de otimização global que combina as vantagens dos algoritmos de gradiente e dos algoritmos de enxame sem o uso de números aleatórios. O mecanismo de oscilações e de inclinações de fitness permite ao DOS explorar espaços de busca complexos por meio de um método determinístico.
Algoritmo de Otimização por Sonhos: Dream Optimization Algorithm (DOA)
Algoritmo populacional de otimização inspirado em um fenômeno controverso e pouco estudado: o mecanismo dos sonhos humanos. Grupos de agentes com diferentes níveis de "memória", modulação cossenoidal do movimento e uma distribuição incomum entre fases na proporção 99/1: descubra como essas características influenciam a eficiência da otimização das suas estratégias de trading.
Solicitação no Connexus (Parte 6): Criando uma Requisição e Resposta HTTP
Neste sexto artigo da série da biblioteca Connexus, focamos em uma requisição HTTP completa, cobrindo cada componente que compõe uma requisição. Criamos uma classe que representa a requisição como um todo, o que nos ajudou a reunir as classes criadas anteriormente.
Do iniciante ao especialista: criação de um EA animado para notícias em MQL5 (VI): Estratégia de trading pós-notícia
Durante o primeiro minuto após a divulgação de notícias econômicas importantes, o risco de erro de avaliação é extremamente alto. Nesse curto intervalo, o movimento do preço pode ser errático e volátil, frequentemente levando ao acionamento de ordens pendentes dos dois lados do mercado. Pouco depois da publicação, geralmente dentro de um minuto, o mercado tende a se estabilizar, retomando ou corrigindo a tendência predominante em patamares mais normais de volatilidade. Nesta seção, examinaremos uma abordagem alternativa para o trading baseado em notícias, a fim de avaliar sua eficácia como um complemento valioso ao conjunto de ferramentas do trader. Continue lendo para acompanhar mais detalhes desta discussão.
Técnicas do MQL5 Wizard que você deve conhecer (Parte 55): SAC com Prioritized Experience Replay
Buffers de replay em Aprendizado por Reforço são particularmente importantes com algoritmos off-policy como DQN ou SAC. Isso coloca em destaque o processo de amostragem desse buffer de memória. Enquanto as opções padrão com SAC, por exemplo, utilizam seleção aleatória desse buffer, o Prioritized Experience Replay ajusta esse processo ao realizar amostragem com base em um score TD. Revisamos a importância do Aprendizado por Reforço e, como sempre, examinamos apenas essa hipótese (não a validação cruzada) em um Expert Advisor montado com o wizard.
Do iniciante ao especialista: Criação de um EA de notícias animado em MQL5 (II)
Hoje damos mais um passo à frente, integrando uma API externa de notícias como fonte de manchetes para o nosso EA "Manchetes de notícias". Nesta etapa, vamos explorar diferentes fontes de notícias, tanto já existentes quanto novas, e aprender como usar suas APIs de forma eficiente. Também veremos métodos para fazer o parsing dos dados recebidos em um formato otimizado para exibição no nosso EA. Acompanhe a discussão enquanto analisamos as vantagens de usar manchetes de notícias e o calendário econômico diretamente no gráfico. Tudo isso em uma interface compacta e discreta.
Criando sistemas de trading com IA em MQL5 (Parte 3): Evoluindo para uma interface rolável voltada para um único chat
Neste artigo, aprimoramos o programa integrado ao ChatGPT em MQL5, adotando uma interface rolável voltada para um único chat e melhorando a exibição do histórico das conversas com marcas de tempo e rolagem dinâmica. O sistema utiliza parsing de JSON para gerenciar mensagens em conversas com múltiplos turnos e oferece modos configuráveis para a barra de rolagem, além de efeitos ao passar o mouse, melhorando a interação do usuário com o sistema.
Do iniciante ao especialista: criação de um EA animado para notícias em MQL5 (VI): estratégia de ordens pendentes para trading baseado em notícias
Neste artigo, vamos nos concentrar na integração da lógica de execução de ordens baseada em notícias, permitindo que o EA atue, e não apenas informe. Acompanhe-nos enquanto examinamos como implementar a execução automática de operações em MQL5 e transformar o EA "Manchetes de notícias" em um sistema de trading totalmente adaptativo. Os EAs oferecem vantagens significativas aos desenvolvedores de sistemas algorítmicos graças ao amplo conjunto de funções às quais dão suporte. Até agora, nos concentramos na criação de uma ferramenta para apresentar notícias e eventos do calendário, equipada com faixas analíticas integradas usando IA e indicadores técnicos.
Criando um Painel Administrativo de Negociação em MQL5 (Parte IX): Organização do Código (IV): Classe do Painel de Gerenciamento de Negociações
Esta discussão aborda o Painel de Gerenciamento de Negociações atualizado em nosso EA New_Admin_Panel. A atualização aprimora o painel utilizando classes integradas para oferecer uma interface intuitiva para gerenciamento de negociações. Ela inclui botões de negociação para abertura de posições e controles para gerenciamento de negociações existentes e ordens pendentes. Um recurso importante é o gerenciamento de risco integrado, que permite definir valores de stop loss e take profit diretamente na interface. Esta atualização melhora a organização do código para programas de grande porte e simplifica o acesso às ferramentas de gerenciamento de ordens, que frequentemente são complexas no terminal.
MQL5 Wizard: Técnicas que Você Deve Conhecer (Parte 57): Aprendizado Supervisionado com Média Móvel e Oscilador Estocástico
A Média Móvel e o Oscilador Estocástico são indicadores muito comuns que alguns traders podem não usar com frequência devido devido à sua natureza defasada. Em uma “minissérie” de 3 partes que considera as 3 principais formas de aprendizado de máquina, buscamos verificar se esse viés contra esses indicadores é justificado ou se eles podem estar mantendo alguma vantagem. Realizamos nossa análise em Expert Advisors montados pelo wizard.
Do iniciante ao especialista: Criando um EA animado de notícias em MQL5 (III): Análise de indicadores
Neste artigo, daremos continuidade à apresentação do EA "manchetes", apresentando uma faixa especial de "Análise de indicadores" (indicator insights): uma exibição compacta, no gráfico, dos principais sinais técnicos gerados por indicadores populares, como RSI, MACD, Stochastic e CCI. Essa abordagem elimina a necessidade de várias subjanelas de indicadores no terminal MetaTrader 5, mantendo sua área de trabalho limpa e eficiente. Usando a API MQL5 para acessar dados dos indicadores em segundo plano, podemos processar e visualizar informações de mercado em tempo real com lógica personalizada.
Transferência de dados de ticks do MetaTrader para Python via sockets usando serviços MQL5
Às vezes, nem tudo pode ser implementado em MQL5. Mesmo que seja possível converter bibliotecas modernas já disponíveis para MQL5, isso levará muito tempo. Neste artigo, tentaremos contornar a dependência do Windows com o uso de serviços MQL5, transmitindo dados de ticks (bid, ask e time) para uma aplicação Python por meio de sockets.
Do iniciante ao especialista: Reporting EA - Configuração do fluxo de trabalho
As corretoras frequentemente fornecem relatórios de contas de negociação em intervalos regulares, com base em uma programação predefinida. Essas empresas, por meio de suas APIs, têm acesso à atividade da sua conta e ao histórico de negociação, o que permite que elas criem relatórios de desempenho para você. De modo semelhante, o terminal MetaTrader 5 armazena registros detalhados da sua atividade de negociação, que podem ser aproveitados com MQL5 para criar relatórios totalmente personalizáveis e configurar formas de envio personalizadas.
Otimização por Comunidade de Cientistas - Community of Scientist Optimization (CoSO): Prática
Continuação do tema de otimização por comunidade científica. O CoSO não deve ser tratado como uma solução pronta, mas como uma plataforma de pesquisa promissora. Com o refinamento adequado, o CoSO pode encontrar seu nicho em tarefas em que a adaptabilidade e a robustez a mudanças sejam importantes, e quando o tempo de processamento não for crítico.
Criando um Painel Administrativo de Trading em MQL5 (Parte X): Interface baseada em recursos externos
Hoje, estamos aproveitando as capacidades do MQL5 para utilizar recursos externos — como imagens no formato BMP — a fim de criar uma interface inicial com estilo exclusivo para o Painel de Administração de Negociações. A estratégia apresentada aqui é especialmente útil quando precisamos agrupar diversos recursos, incluindo imagens, sons e outros elementos, facilitando sua distribuição. Ao longo deste artigo, veremos como implementar esses recursos para criar uma interface moderna e visualmente atraente para nosso EA New_Admin_Panel.