Teoria das Categorias em MQL5 (Parte 15): Funtores com grafos
Este artigo continua a série sobre a implementação da teoria de categorias no MQL5, ele aborda os funtores como uma ponte entre grafos e conjuntos. Nesse escopo, voltaremos a analisar os dados de calendário e, apesar de suas limitações no uso do testador de estratégias, justificaremos o uso de funtores na previsão de volatilidade mediante correlação.
ADAM Populacional (estimativa adaptativa de momentos)
Este artigo apresenta a transformação do conhecido e popular método de otimização por gradiente ADAM em um algoritmo populacional e sua modificação com a introdução de indivíduos híbridos. A nova abordagem permite criar agentes que combinam elementos de soluções bem-sucedidas usando uma distribuição probabilística. A principal inovação é a formação de indivíduos híbridos populacionais, que acumulam de forma adaptativa informações das soluções mais promissoras, aumentando a eficácia da busca em espaços multidimensionais complexos.
Algoritmos de otimização populacionais: algoritmo genético binário (Binary Genetic Algorithm, BGA). Parte II
Neste artigo, vamos considerar o algoritmo genético binário (BGA), que modela os processos naturais que ocorrem no material genético dos seres vivos na natureza.
Algoritmos de otimização populacionais: enxame de pássaros (Bird Swarm Algorithm, BSA)
O artigo explora o BSA, um algoritmo baseado no comportamento das aves, inspirado na interação coletiva das aves em bando na natureza. Diferentes estratégias de busca dos indivíduos no BSA, incluindo a alternância entre comportamento de voo, vigilância e procura de alimento, tornam esse algoritmo multifacetado. Ele utiliza os princípios de comportamento de bando, comunicação, adaptabilidade, liderança e acompanhamento das aves para a busca eficaz de soluções ótimas.
Algoritmos de otimização populacionais: Algoritmo de evolução da mente (Mind Evolutionary Computation, MEC)
Este artigo discute um algoritmo da família MEC, denominado algoritmo simples de evolução da mente (Simple MEC, SMEC). O algoritmo se destaca pela beleza da ideia subjacente e pela simplicidade de implementação.
Desenvolvendo um sistema de Replay (Parte 77): Um novo Chart Trade (IV)
Neste artigo, explicarei alguns detalhes e cuidados que você teve tomar quando for criar um protocolo de comunicação. São coisas bem básicas e simples. Não irei de fato pegar pesado neste artigo. Mas é preciso que você entenda o conteúdo deste artigo para entender o que acontecerá no receptor.
Teoria das Categorias em MQL5 (Parte 2)
A Teoria das Categorias é um ramo diverso da Matemática e em expansão, sendo uma área relativamente recente na comunidade MQL5. Esta série de artigos visa introduzir e examinar alguns de seus conceitos com o objetivo geral de estabelecer uma biblioteca aberta que atraia comentários e discussões enquanto esperamos promover o uso deste campo notável no desenvolvimento da estratégia dos traders.
Processos não estacionários e regressão espúria
O objetivo do artigo é demonstrar a ocorrência de falsa regressão quando se aplica a análise de regressão a processos não estacionários, utilizando simulação pelo método de Monte Carlo.
Agrupamento de séries temporais na inferência causal
Os algoritmos de agrupamento em aprendizado de máquina são ferramentas importantes de aprendizado não supervisionado que permitem dividir os dados brutos em grupos com características semelhantes. Com esses grupos, é possível, por exemplo, realizar análise de mercado para um cluster específico, identificar os clusters mais resilientes em novos conjuntos de dados e também realizar inferências causais. Este artigo apresenta um método original para o agrupamento de séries temporais, utilizando a linguagem Python.
EA autoaprendente com rede neural baseada em matriz de estados
EA autoaprendente com rede neural baseada em matriz de estados. Combinamos cadeias de Markov com uma rede neural multicamadas MLP, escrita com a biblioteca ALGLIB MQL5. Como cadeias de Markov e redes neurais podem ser combinadas para a previsão no Forex?
Simulação de mercado: Position View (III)
Nestes últimos artigos, tenho mencionado o fato de que precisamos em alguns momentos definir um valor para a propriedade ZOrder. Mas por que?!?! Já que muitos dos códigos, que adicionam objetos no gráfico, simplesmente não utilizam, ou melhor, não definem um valor para tal propriedade. Bem, não estou aqui, para dizer, o que cada programador, deve ou não fazer. Como ele deve ou não criar seus códigos. Estou aqui, a fim de mostrar, a você caro leitor, e interessado em realmente compreender como as coisas funcionam, por debaixo dos panos.
Busca de padrões arbitrários em pares de moedas no Python com o uso do MetaTrader 5
Existem padrões repetitivos e regularidades no mercado cambial? Decidi criar meu próprio sistema de análise de padrões usando Python e MetaTrader 5. Uma espécie de simbiose entre matemática e programação para conquistar o Forex.
Desenvolvendo um sistema de Replay (Parte 60): Dando play no serviço (I)
Já faz um bom tempo que estamos mexendo apenas no indicadores. Mas agora chegou a hora de fazer o serviço voltar a executar o seu trabalho, a fim de que possamos ver o gráfico sendo construído com os dados informados. Mas como nem tudo é tão simples, será preciso ver para entender o que nos espera.
Algoritmos de otimização populacional: sistema imune micro-artificial (Micro Artificial Immune System, Micro-AIS)
Este artigo fala sobre um método de otimização baseado nos princípios de funcionamento do sistema imunológico do organismo — Micro Artificial Immune System (Micro-AIS) — uma modificação do AIS. O Micro-AIS utiliza um modelo mais simples do sistema imunológico e operações mais simples de processamento de informações imunológicas. O artigo também aborda as vantagens e desvantagens do Micro-AIS em comparação com o AIS tradicional.
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).
Data Science e Machine Learning (Parte 22): Aproveitando Redes Neurais Autoencoders para Operações Mais Inteligentes, Movendo-se do Ruído para o Sinal
No mundo acelerado dos mercados financeiros, separar sinais significativos do ruído é crucial para o sucesso nas operações de trading. Ao empregar arquiteturas sofisticadas de redes neurais, os autoencoders se destacam ao descobrir padrões ocultos dentro dos dados de mercado, transformando entradas ruidosas em insights acionáveis. Neste artigo, exploramos como os autoencoders estão revolucionando as práticas de trading, oferecendo aos traders uma ferramenta poderosa para melhorar a tomada de decisões e ganhar uma vantagem competitiva nos mercados dinâmicos de hoje.
Arbitragem de swap no Forex: Montando uma carteira sintética e criando um fluxo estável de swaps
Quer saber como lucrar com a diferença entre taxas de juros? Neste artigo, veremos como usar a arbitragem de swap no Forex para obter uma renda estável todas as noites, criando uma carteira resistente às oscilações do mercado.
Fatorando Matrizes — Uma modelagem mais prática
Muito provavelmente você não tenha se dado conta, que a modelagem das matrizes estava um tanto quanto estranha. Já que não havia a indicação de linhas e colunas, mas apenas indicações de colunas. O que é muito estranho, quando se está lendo um código, que faz fatorações de matrizes. E se você estava esperando ver linhas e colunas sendo indicadas. Pode acabar ficando bastante confuso, no momento de tentar implementar a fatoração. Além do mais, aquela forma de modelar as matrizes, não é nem de longe a melhor maneira. Isto por que, quando modelamos matrizes daquela maneira, passamos a ter uma certa limitação, que nos obriga a usar outras técnicas, ou funções, que não seriam de fato necessárias. Isto quando a modelagem é feita de uma maneira um pouco mais adequada.
Funcionalidades do assistente MQL5 que você precisa conhecer (Parte 09): Combinação de agrupamento k-médias com ondas fractais
O agrupamento k-médias é uma abordagem para agrupar pontos de dados em um processo que inicialmente se concentra na representação macro do conjunto de dados, onde são aplicados centroides de cluster criados aleatoriamente. Com o tempo, esses centroides são ajustados e escalonados para representar melhor o conjunto de dados. Este artigo examina essa abordagem de agrupamento e algumas de suas aplicações.
Um algoritmo de seleção de características usando aprendizado baseado em energia em MQL5 puro
Neste artigo, apresentamos a implementação de um algoritmo de seleção de características descrito em um artigo acadêmico intitulado "FREL: Um algoritmo estável de seleção de características", chamado de Ponderação de Características como Aprendizado Baseado em Energia Regularizada.
Carregamento de dados do Fundo Monetário Internacional em Python
Carregamento de dados do Fundo Monetário Internacional em Python: extraindo dados do FMI para aplicação em estratégias cambiais macroeconômicas. Como a macroeconomia pode ajudar o trader e o algotrader?
Simplificando a negociação com base em notícias (Parte 2): Gerenciando riscos
Neste artigo, adicionaremos herança ao código anterior e ao novo. Implementaremos uma nova estrutura de banco de dados para garantir um bom desempenho. Além disso, criaremos uma classe de gerenciamento de risco para calcular volumes.
Redes neurais de maneira fácil (Parte 39): Go-Explore - uma abordagem diferente para exploração
Continuamos com o tema da exploração do ambiente no aprendizado por reforço. Neste artigo, abordaremos mais um algoritmo, o Go-Explore, que permite explorar eficazmente o ambiente durante a fase de treinamento do modelo.
Técnicas do MQL5 Wizard que você deve conhecer (Parte 24): Médias Móveis
Médias Móveis são um indicador muito comum, usado e compreendido pela maioria dos traders. Exploramos possíveis casos de uso que podem não ser tão comuns dentro dos Expert Advisors montados no MQL5 Wizard.
Simulação de mercado (Parte 07): Sockets (I)
Soquetes. Você sabe para que eles servem, ou como fazer uso deles no MetaTrader 5? Se a resposta for não, vamos começar aprendendo um pouco sobre eles. Este artigo aqui envolve o básico do básico. Mas como existem diversas maneiras de se fazer a mesma coisa, e o que nos interessa realmente é sempre o resultado. Queria mostrar que sim, existe uma forma simples, de passar dados do MetaTrader 5 para dentro de outros programas, como por exemplo o Excel. Porém, a principal ideia, não é transferir dados do MetaTrader 5, para o Excel. E sim fazer o contrário. Ou seja, transferir dados do Excel, ou de qualquer outro programa, para dentro do MetaTrader 5.
Algoritmos de otimização populacionais: algoritmo genético binário (Binary Genetic Algorithm, BGA). Parte I
Neste artigo, vamos realizar um estudo sobre vários métodos aplicados em algoritmos genéticos binários e outros algoritmos populacionais. Vamos examinar os componentes principais do algoritmo, como seleção, crossover e mutação, bem como seu impacto no processo de otimização. Além disso, vamos explorar as formas de representação de informações e seu impacto nos resultados de otimização.
Algoritmo de Fechadura Codificada (Code Lock Algorithm, CLA)
Neste artigo, vamos repensar as fechaduras codificadas, transformando-as de mecanismos de proteção em ferramentas para resolver tarefas complexas de otimização. Descubra o mundo das fechaduras codificadas, não como simples dispositivos de segurança, mas como inspiração para uma nova abordagem à otimização. Vamos criar uma população inteira de "fechaduras", onde cada uma representa uma solução única para um problema. Em seguida, desenvolveremos um algoritmo que "destrancará" essas fechaduras e encontrará soluções ideais em várias áreas, desde o aprendizado de máquina até o desenvolvimento de sistemas de trading.
Simulação de mercado (Parte 21): Iniciando o SQL (IV)
Muitos de vocês, caros leitores, podem ter um nível de experiência muito superior ao meu, no que rege trabalhar com bancos de dados. Tendo assim uma visão diferente da minha. Porém, como era preciso definir, e desenvolver alguma forma de explicar o motivo pelo qual os bancos de dados, são criados da forma como são criados. Explicar o por que o SQL tem o formato que tem. Mas principalmente, por que as chaves primárias e chaves estrangeiras vieram a surgir. Foi preciso deixar as coisas um pouco abstratas.
Desenvolvimento do Kit de Ferramentas de Análise de Price Action (Parte 9): Fluxo Externo
Este artigo explora uma nova dimensão de análise utilizando bibliotecas externas especificamente projetadas para análises avançadas. Essas bibliotecas, como o pandas, fornecem ferramentas poderosas para processar e interpretar dados complexos, permitindo que os traders obtenham percepções mais profundas sobre a dinâmica do mercado. Ao integrar essas tecnologias, podemos reduzir a lacuna entre dados brutos e estratégias acionáveis. Junte-se a nós enquanto estabelecemos as bases dessa abordagem inovadora e desbloqueamos o potencial de combinar tecnologia com expertise em trading.
Algoritmos de otimização populacional: simulação de têmpera isotrópica (Simulated Isotropic Annealing, SIA). Parte II
A primeira parte do artigo foi dedicada ao conhecido e popular algoritmo de têmpera simulada, onde foram analisadas suas vantagens e descritos detalhadamente os pontos fracos. A segunda parte do artigo é dedicada a uma transformação radical do algoritmo, seu renascimento em um novo algoritmo de otimização, a simulação de têmpera isotrópica, SIA.
Dados de mercado sem intermediários: conectando MetaTrader 5 à MOEX via ISS API
Este artigo propõe uma solução para integrar o MetaTrader 5 com o serviço web ISS da MOEX. São fornecidas utilidades para geração automática de códigos-fonte com base no diretório da API e no índice dos principais elementos do serviço.
Determinação de taxas de câmbio justas com base na PPC usando dados do FMI
Criação, em Python, de um sistema de análise de taxas de câmbio baseado na paridade do poder de compra (PPC). O autor desenvolveu um algoritmo com 5 métodos de cálculo de taxas justas, utilizando dados do FMI. Trata-se de um guia prático de análise fundamentalista de moedas, processamento de dados econômicos e integração com sistemas de trading. Código completo de fonte aberta.
Ciência de dados e aprendizado de máquina (Parte 28): Previsão de múltiplos valores futuros para EURUSD
Muitos modelos de inteligência artificial são projetados para prever um único valor futuro. Neste artigo, veremos como utilizar modelos de aprendizado de máquina para prever múltiplos valores futuros. Essa abordagem, chamada de previsão multietapa, permite não apenas prever o preço de fechamento de amanhã, mas também o de depois de amanhã e assim por diante. A previsão multietapa oferece uma vantagem inegável para traders e analistas de dados, pois amplia o espectro de informações para oportunidades de planejamento estratégico.
Teoria das Categorias em MQL5 (Parte 19): Indução do quadrado de naturalidade
Continuamos a análise das transformações naturais, examinando a indução do quadrado de naturalidade. Por causa das limitações na implementação de várias moedas para os Expert Advisors desenvolvidos com o assistente MQL5, temos de buscar soluções criativas e eficientes para a classificação de dados usando scripts. As principais áreas de aplicação consideradas são a classificação de variações de preço e, consequentemente, sua previsão.
Simplificando a negociação com base em notícias (Parte 1): Criando um Banco de Dados
A negociação de notícias pode ser complicada e esmagadora. Neste artigo, passaremos pelos passos para obter dados de notícias. Além disso, aprenderemos sobre o Calendário Econômico do MQL5 e o que ele tem a oferecer.
Otimização de Portfólio em Python e MQL5
Este artigo explora técnicas avançadas de otimização de portfólio usando Python e MQL5 com o MetaTrader 5. Ele demonstra como desenvolver algoritmos para análise de dados, alocação de ativos e geração de sinais de negociação, enfatizando a importância da tomada de decisões orientada por dados na gestão financeira moderna e na mitigação de riscos.
Indicador de previsão de volatilidade usando Python
Vamos prever a volatilidade extrema futura com ajuda da classificação binária. Criamos um indicador de previsão de volatilidade extrema com uso de aprendizado de máquina.
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.
Simulação de mercado (Parte 15): Sockets (IX)
Neste artigo daqui, explicarei uma das soluções possíveis para o que venho tentando mostrar. Ou seja, como permitir que um usuário no Excel, consiga fazer algo no MetaTrader 5. Isto sem que ele de fato, envie ordens, abra ou feche uma posição usando o MetaTrader 5. A ideia, é que o usuário faça uso do Excel a fim de ter um estudo fundamentalista de algum ativo. E fazendo uso, apenas e somente do Excel, ele consiga dizer a um Expert Advisor, que esteja executando no MetaTrader 5, que é para abrir ou fechar uma dada posição.
Teoria das Categorias em MQL5 (Parte 18): Quadrado de naturalidade
Este artigo dá continuidade à série sobre a teoria das categorias, abordando as transformações naturais, que são um elemento fundamental da teoria. Vamos examinar a definição que parece complexa à primeira vista, depois mergulhar em exemplos e formas de aplicar as transformações na previsão de volatilidade.