Modelos ocultos de Markov para previsão de volatilidade com consideração de tendência
Os modelos ocultos de Markov (HMM) são uma poderosa ferramenta estatística que permite identificar estados ocultos do mercado com base na análise de movimentos observáveis dos preços. No trading, os HMM permitem melhorar a previsão da volatilidade e são aplicados no desenvolvimento de estratégias de tendência, modelando as mudanças nos regimes de mercado. Neste artigo, apresentaremos um processo passo a passo para o desenvolvimento de uma estratégia de seguimento de tendência que utiliza HMM como filtro para previsão de volatilidade.
Simulação de mercado: Position View (IX)
Neste artigo, que será um artigo divisor de águas. Vamos começar a explorar de maneira um pouco mais profunda a interação entre as aplicações que estão sendo desenvolvidas para dar suporte total ao sistema de replay/simulação. Aqui vamos analisar um problema. Este tem de um lado, algo bastante chato, mas de outro algo muito interessante de explicar como resolver. E o problema é: Como fazer para adicionar as linhas de take profit e stop loss, depois que elas foram removidas? Isto sem usar o terminal, mas sim fazendo a operação direto no gráfico. Bem isto de fato é algo, a primeira vista simples. Porém existem alguns percalços a serem superados.
MQL5 Trading Toolkit (Parte 4): Desenvolvendo uma Biblioteca EX5 de Gerenciamento de Histórico
Aprenda a recuperar, processar, classificar, ordenar, analisar e gerenciar posições fechadas, ordens e históricos de negociações usando MQL5, criando uma ampla biblioteca EX5 de Gerenciamento de Histórico com um método detalhado passo a passo.
Algoritmo de otimização da sociedade anárquica — Anarchic society optimization (ASO)
No próximo artigo, conheceremos o algoritmo Anarchic Society Optimization (ASO) e discutiremos como um algoritmo baseado no comportamento irracional e aventureiro dos participantes de uma sociedade anárquica — um sistema anômalo de interação social, livre de autoridade centralizada e de qualquer tipo de hierarquia — é capaz de explorar o espaço de soluções e evitar armadilhas de ótimos locais. O artigo apresentará uma estrutura unificada do ASO, aplicável tanto a problemas contínuos quanto a problemas discretos.
Algoritmo de otimização de migração animal (AMO)
O artigo é dedicado ao algoritmo AMO, que modela o processo de migração sazonal dos animais em busca de condições ideais para sobrevivência e reprodução. As principais características do AMO incluem o uso da vizinhança topológica e um mecanismo probabilístico de atualização, tornando-o simples de implementar e flexível para diversas tarefas de otimização.
Seleção de características e redução de dimensionalidade com Análise de Componentes Principais (PCA)
O artigo analisa a implementação de um algoritmo modificado de análise de componentes de seleção direta, inspirado nas pesquisas apresentadas no livro de Luca Puggini e Sean McLoone "Análise de Componentes de Seleção Direta: algoritmos e aplicações".
Seleção de características passo a passo em MQL5
Neste artigo, apresentamos uma versão modificada da seleção de características passo a passo, implementada em MQL5. Essa abordagem é baseada nas técnicas descritas em Modern Data Mining Algorithms in C++ and CUDA C de Timothy Masters.
Trading por algoritmo: IA e seu caminho para os topos dourados
Neste artigo, é demonstrado um método de criação de estratégias de trading para o ouro usando aprendizado de máquina. Ao analisar o método proposto para a previsão de séries temporais sob diferentes ângulos, é possível identificar suas vantagens e desvantagens em comparação com outras formas de criação de sistemas de trading baseadas somente na análise e previsão de séries temporais financeiras.
Sistemas neurossimbólicos no algotrading: Unindo regras simbólicas e redes neurais
Este artigo fala sobre a experiência de desenvolver um sistema de negociação híbrido que combina análise técnica clássica com redes neurais. O autor destrincha a arquitetura do sistema, desde a análise básica de padrões e estrutura da rede neural até os mecanismos de tomada de decisão, compartilhando código real e observações práticas.
Algoritmo de otimização baseado em ecossistema artificial — Artificial Ecosystem-based Optimization (AEO)
O artigo aborda o algoritmo metaheurístico AEO, que modela as interações entre os componentes de um ecossistema, criando uma população inicial de soluções e aplicando estratégias adaptativas de atualização, e descreve detalhadamente as etapas do funcionamento do AEO, incluindo as fases de consumo e decomposição, bem como as diferentes estratégias de comportamento dos agentes. O artigo apresenta as características e vantagens do AEO.
Arbitragem Forex: painel de avaliação de correlações
Vamos analisar a criação de um painel de arbitragem na linguagem MQL5. Como obter taxas de câmbio justas no Forex de diferentes maneiras? Criaremos um indicador para medir os desvios dos preços de mercado em relação às taxas justas, bem como para avaliar o potencial de lucro em rotas de arbitragem entre moedas (como na arbitragem triangular).
De Iniciante a Especialista: Depuração Colaborativa em MQL5
A resolução de problemas pode estabelecer uma rotina concisa para dominar habilidades complexas, como programar em MQL5. Essa abordagem permite que você se concentre na resolução de problemas enquanto desenvolve suas habilidades ao mesmo tempo. Quanto mais problemas você resolver, mais conhecimento avançado será transferido para o seu cérebro. Pessoalmente, acredito que a depuração é a forma mais eficaz de dominar a programação. Hoje, vamos percorrer o processo de limpeza de código e discutir as melhores técnicas para transformar um programa desorganizado em um funcional e limpo. Leia este artigo e descubra insights valiosos.
Algoritmo de comportamento social adaptativo — Adaptive Social Behavior Optimization (ASBO): Evolução em duas fases
Este artigo dá continuidade ao tema do comportamento social dos organismos vivos e ao seu impacto no desenvolvimento de um novo modelo matemático, o ASBO (Adaptive Social Behavior Optimization). Exploraremos a evolução em duas fases, realizaremos testes no algoritmo e apresentaremos as conclusões. Assim como na natureza, onde grupos de organismos vivos se unem para sobreviver, o ASBO utiliza princípios de comportamento coletivo para resolver problemas complexos de otimização.
Funcionalidades do Assistente MQL5 que você precisa conhecer (Parte 29): Taxas de aprendizado e perceptrons multicamadas
Estamos concluindo a análise da sensibilidade da taxa de aprendizado ao desempenho do EA, estudando taxas de aprendizado adaptáveis Essas taxas devem ser ajustadas para cada parâmetro da camada durante o treinamento, por isso precisamos avaliar os potenciais benefícios em relação às perdas esperadas no desempenho.
Arbitragem no trading Forex: Análise dos movimentos de moedas sintéticas e seu retorno à média
Neste artigo, tentaremos analisar os movimentos das moedas sintéticas na integração Python + MQL5 e entender até que ponto a arbitragem ainda é viável no Forex atualmente. Além disso: apresentaremos um código pronto em Python para análise de moedas sintéticas e explicaremos em detalhes o que são essas moedas no mercado Forex.
Simulação de mercado: Position View (V)
Apesar do que foi visto no artigo anterior, se algo aparentemente simples. Ali, temos diversos problemas e muitas coisas a serem resolvidas e feita. Você caro leitor, pode imaginar que tudo é fácil e simples. E de maneira inocente, vai simplesmente aceitando o que lhe é apresentado. Isto é uma falha, na qual você, caro leitor, deverá tentar se livrar. Mas pior do que aceitar, é simplesmente, não entender e tentar usar algo sem de fato compreender o que está sendo usado. Não é raro, entre iniciantes, a fase de cópia e cola. Porém, caso você não queira ficar sempre nesta, é bom aprender como usar certas ferramentas. E uma das ferramentas mais utilizadas por programadores é a documentação. E a segunda ferramenta é os testes e arquivos de log. Aqui veremos como fazer isto.
Algoritmo do Campo Elétrico Artificial — Artificial Electric Field Algorithm (AEFA)
Este artigo apresenta o Algoritmo do Campo Elétrico Artificial (AEFA), inspirado na lei de Coulomb da força eletrostática. Por meio de partículas carregadas e suas interações, o algoritmo simula fenômenos elétricos para resolver tarefas complexas de otimização. O AEFA demonstra propriedades únicas em relação a outros algoritmos baseados em leis da natureza.
Métodos de conjunto para aprimorar previsões numéricas em MQL5
Neste artigo, apresentamos a implementação de vários métodos de aprendizagem de conjunto em MQL5 e examinamos sua eficácia em diferentes cenários.
Recursos do Assistente MQL5 que você precisa conhecer (Parte 49): Aprendizado por reforço e otimização proximal de política
A otimização proximal de política (Proximal Policy Optimization) é mais um algoritmo de aprendizado por reforço, que atualiza a política, muitas vezes em forma de rede, em passos muito pequenos para garantir a estabilidade do modelo. Como de costume, vamos analisar como esse algoritmo pode ser aplicado em um EA construído com a ajuda do Assistente.
Simulação de mercado: Position View (IV)
Aqui começaremos a unir diversas coisas, ou aplicações que antes estavam complemente isoladas entre si. Apesar de que o Chart Trade, o Indicador de Mouse e o Expert Advisor, já terem algum tipo de relacionamento. Não havia ainda uma forma de podermos observar, posições que estivessem abertas no servidor de negociação, isto diretamente no gráfico. Fazendo muitas das vezes uso de um sistema cross order. Mas a partir deste momento isto começa a se tornar possível. Abrindo diversas portas para novas ideias e implementações futuras. Se bem que estamos apenas começando a fazer as coisas acontecerem. Mas já teremos uma direção na qual seguir.
Métodos de William Gann (Parte III): A astrologia funciona?
A posição dos planetas e estrelas influencia os mercados financeiros? Vamos recorrer à estatística e aos big data para embarcar em uma jornada fascinante pelo mundo onde as estrelas e os gráficos do mercado se cruzam.
Desenvolvimento do Kit de Ferramentas de Análise de Price Action (Parte 1): Projetor de Gráficos
Este projeto tem como objetivo aproveitar o algoritmo MQL5 para desenvolver um conjunto abrangente de ferramentas de análise para o MetaTrader 5. Essas ferramentas — que vão desde scripts e indicadores até modelos de IA e expert advisors — irão automatizar o processo de análise de mercado. Em alguns momentos, esse desenvolvimento gerará ferramentas capazes de realizar análises avançadas sem intervenção humana e prever resultados em plataformas apropriadas. Nenhuma oportunidade será perdida. Junte-se a mim enquanto exploramos o processo de construção de um conjunto robusto de ferramentas personalizadas de análise de mercado. Começaremos desenvolvendo um programa simples em MQL5 que chamei de Projetor de Gráficos.
Análise angular dos movimentos de preço: um modelo híbrido de previsão dos mercados financeiros
O que é análise angular dos mercados financeiros? Como usar os ângulos de movimento de preço e o aprendizado de máquina para prever com precisão de 67? Como combinar um modelo de regressão e um modelo de classificação com características angulares e obter um algoritmo funcional? O que Gann tem a ver com isso? Por que os ângulos de movimento do preço são bons indicadores para o aprendizado de máquina?
Busca dialética — Dialectic Search (DA)
Apresentamos o Algoritmo Dialético (DA), um novo método de otimização global inspirado no conceito filosófico de dialética. O algoritmo utiliza uma divisão única da população em pensadores especulativos e práticos. Os testes mostram um desempenho impressionante de até 98% em tarefas de baixa dimensionalidade e uma eficácia geral de 57,95%. Este artigo explica esses números e apresenta uma descrição detalhada do algoritmo e os resultados dos experimentos em diferentes tipos de funções.
Simulação de mercado: Position View (XIII)
Neste artigo, mostrarei como você, pode sem muito esforço, conseguir implementar a indicação se uma posição, está lhe dando prejuízo ou mesmo lucro. Isto de maneira extremamente simples e eficaz. Usando este indicador que estou mostrando como desenvolver, você, mesmo sem muito conhecimento, conseguirá facilmente saber quando é hora de fechar uma posição. E ao fazê-lo, não virá a ter um resultado diferente do esperado. Isto por que, estamos efetuando o calculo de forma a termos a real situação de nossa posição.
Otimização por neuroboides — Neuroboids Optimization Algorithm (NOA)
Trata-se de uma nova metaheurística de otimização bioinspirada e autoral, denominada NOA (Neuroboids Optimization Algorithm), que combina princípios de inteligência coletiva e redes neurais. Ao contrário dos métodos clássicos, o algoritmo utiliza uma população de "neuroboides" autoaprendizes, cada um com sua própria rede neural, que adapta a estratégia de busca em tempo real. O artigo em questão apresenta a arquitetura do algoritmo, os mecanismos de autoaprendizado dos agentes e as perspectivas de aplicação dessa abordagem híbrida em tarefas complexas de otimização.
Simulação de mercado: Iniciando o SQL no MQL5 (II)
Apesar de muitos imaginarem que podemos usar tranquilamente códigos em SQL dentro de outros códigos. Isto normalmente não se aplica. Devido ao fato, de que um código SQL, será sempre colocado dentro de um executável, como sendo uma string. E este fato de colocar o código SQL como sendo uma string, apesar de não ser problemático, para pequenos trechos de código. Podem sim ser algo que nos causará muitos transtornos e uma baita de uma dor de cabeça.
Simulação de mercado: Position View (XIV)
O que vamos fazer agora, só é possível por que o MQL5, utiliza o mesmo princípio de funcionamento de uma programação baseada em eventos. Tal modelo de programação, é bastante usada na criação de DLL. Sei que no primeiro momento a coisa toda parecerá extremamente confusa e sem nenhuma lógica. Mas neste artigo, irei introduzir de maneira um pouco mais sólida tais conceitos, para que você iniciante consiga compreender adequadamente o que está acontecendo. Entender o que irei começar a explicar neste artigo é algo que poderá lhe ajudar muito na vida, como programador.
Otimização por herança sanguínea — Blood Inheritance Optimization (BIO)
Apresento a vocês meu novo algoritmo populacional de otimização BIO (Blood Inheritance Optimization), inspirado no sistema de herança dos tipos sanguíneos humanos. Neste algoritmo, cada solução possui seu próprio "tipo sanguíneo", que define a forma de sua evolução. Assim como na natureza, o tipo sanguíneo de uma criança é herdado segundo regras específicas, no BIO as novas soluções recebem suas características através de um sistema de herança e mutações.
Simulação de mercado: Position View (VIII)
No artigo anterior vimos como poderíamos implementar o indicador de posição, para que pudéssemos fechar uma posição aberta diretamente via gráfico. Isto interagindo com um objeto que estaria a nossa disposição no gráfico. Depois que o primeiro mecanismo estava concluído e funcionando. Começamos a fazer algumas modificações para que também fosse possível remover as linhas de take profit e stop loss. Isto de uma posição que estivesse aberta. Porém como as mudanças a serem feitas precisariam de uma explicação adequada. Naquele mesmo artigo, apenas mostrei as mudanças que deveriam ocorrer no âmbito do Expert Advisor. Sendo necessário mostrar ainda as mudanças que deveriam ocorrer no Indicador de posição.
Simulação de mercado: Position View (X)
Precisamos de fato, de algum meio para conseguir lidar com os objetos gráficos que serão criados. A proposta mostrada no artigo anterior, se encaixa perfeitamente bem, em alguns cenários. No entanto, aqui, precisamos de algo um pouco mais elaborado. Isto devido a natureza do problema com que estamos lidando. Assim sendo, não tentaremos de maneira alguma substituir os mecanismos que estão presentes no MetaTrader 5. Isto para conseguir lidar com o ZOrder, além é claro, verificar qual objeto está em primeiro plano ou encoberto por outro objeto. Vamos fazer algo completamente diferente. Aqui vou mostrar quais as modificações que precisam ser feitas no código a fim de conseguir, tirar de alguma forma, proveito do que o MetaTrader 5, já faz para nos.
Otimização de nuvens atmosféricas — Atmosphere Clouds Model Optimization (ACMO): Teoria
Este artigo é dedicado ao algoritmo meta-heurístico Atmosphere Clouds Model Optimization (ACMO), que modela o comportamento das nuvens para resolver problemas de otimização. O algoritmo utiliza os princípios de geração, movimento e dispersão de nuvens, adaptando-se às "condições climáticas" no espaço de soluções. O artigo explora como a simulação meteorológica do algoritmo encontra soluções ótimas em um espaço complexo de possibilidades e descreve detalhadamente as etapas do ACMO, incluindo a preparação do "céu", o nascimento das nuvens, seu deslocamento e a concentração de chuva.
Simulação de mercado (Parte 24): Iniciando o SQL (VII)
No artigo anterior terminamos de fazer as devidas apresentações sobre o SQL. Então o que eu havia me proposto a mostrar e explicar, sobre SQL, ao meu ver, foi devidamente explicado. Isto para que todos, que vierem a ver o sistema de replay / simulador, sendo construído. Consigam no mínimo terem alguma noção do que pode estar se passando ali. Devido ao fato, de que não faz sentido, programar diversas coisas, que podem ser perfeitamente cobertas pelo SQL.
Algoritmo do Restaurateur de Sucesso — Successful Restaurateur Algorithm (SRA)
O Algoritmo do Restaurateur de Sucesso (SRA) é um método inovador de otimização inspirado nos princípios de gestão de um restaurante. Ao contrário das abordagens tradicionais, o SRA não descarta as soluções mais fracas, mas as melhora, combinando-as com elementos das soluções de maior sucesso. O algoritmo apresenta resultados competitivos e traz uma nova perspectiva sobre como equilibrar a diversificação e a intensificação em problemas de otimização.
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.
Analisando o código binário dos preços no mercado (Parte II): Convertendo para BIP39 e criando um modelo GPT
Seguimos com as tentativas de decifrar os movimentos dos preços... Que tal uma análise linguística do "vocabulário do mercado", que obtemos ao converter o código binário do preço para BIP39? Neste artigo, vamos nos aprofundar em uma abordagem inovadora para a análise de dados de mercado e explorar como os métodos modernos de processamento de linguagem natural podem ser aplicados ao idioma do mercado.
Algoritmo de Otimização de Bilhar — Billiards Optimization Algorithm (BOA)
Inspirado no jogo clássico de bilhar, o método BOA modela o processo de busca por soluções ótimas como uma partida em que as bolas tentam cair nas caçapas, que simbolizam os melhores resultados. Neste artigo, analisaremos os fundamentos do funcionamento do BOA, seu modelo matemático e sua eficácia na resolução de diferentes problemas de otimização.
Análise da influência do clima nas moedas de países agrícolas usando Python
Como o clima está relacionado ao mercado cambial? Na teoria econômica clássica, por muito tempo não se reconheceu a influência de fatores como o clima no comportamento do mercado. Porém, tudo mudou. Vamos tentar estabelecer conexões entre o estado do tempo e a situação das moedas agrícolas no mercado.
Optimização por nuvens atmosféricas — Atmosphere Clouds Model Optimization (ACMO): Prática
Neste artigo, continuaremos a explorar a implementação do algoritmo ACMO (Atmospheric Cloud Model Optimization). Em particular, discutiremos dois aspectos-chave: o movimento das nuvens para regiões de baixa pressão e a modelagem do processo de chuva, incluindo a inicialização das gotas e sua distribuição entre as nuvens. Analisaremos também outros métodos importantes para a gestão do estado das nuvens e para garantir sua interação com o ambiente.
Consultor Especialista Auto-Otimizável com MQL5 e Python (Parte V): Modelos de Markov Profundos
Nesta discussão, aplicaremos uma Cadeia de Markov simples sobre um indicador RSI, para observar como o preço se comporta após o indicador atravessar níveis-chave. Concluímos que os sinais de compra e venda mais fortes no par NZDJPY são gerados quando o RSI está nas faixas de 11-20 e 71-80, respectivamente. Vamos demonstrar como você pode manipular seus dados para criar estratégias de trading ideais aprendidas diretamente a partir dos dados que possui. Além disso, mostraremos como treinar uma rede neural profunda para aprender a utilizar a matriz de transição de forma otimizada.