Algoritmo de otimização baseado em brainstorming — Brain Storm Optimization (Parte I): Clusterização
Algoritmo de otimização baseado em brainstorming — Brain Storm Optimization (Parte I): Clusterização
Neste artigo, discutimos um método inovador de otimização chamado BSO (Brain Storm Optimization), inspirado na tempestade de ideias (brainstorming). Também abordamos um novo enfoque para resolver problemas de otimização multimodal que utiliza o BSO, permitindo encontrar várias soluções ótimas sem a necessidade de definir previamente o número de subpopulações. Além disso, analisamos os métodos de clusterização K-Means e K-Means++.
Desenvolvendo um cliente MQTT para MetaTrader 5: uma abordagem TDD — Final
Desenvolvendo um cliente MQTT para MetaTrader 5: uma abordagem TDD — Final
Este artigo é a última parte de uma série que descreve nossas etapas de desenvolvimento de um cliente MQL5 nativo para o protocolo MQTT 5.0. Embora a biblioteca ainda não esteja pronta para produção, nesta parte, usaremos nosso cliente para atualizar um símbolo personalizado com ticks (ou taxas) obtidos de outro corretor. Por favor, veja o final deste artigo para mais informações sobre o status atual da biblioteca, o que falta para que ela esteja totalmente em conformidade com o protocolo MQTT 5.0, um possível roadmap, e como acompanhar e contribuir para seu desenvolvimento.
Agrupamento de séries temporais na inferência causal
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.
Algoritmos de otimização populacionais: enxame de pássaros (Bird Swarm Algorithm, BSA)
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.
O escore de propensão na inferência causalidade
O escore de propensão na inferência causalidade
O artigo examina o tema de pareamento na inferência causal. O pareamento é utilizado para comparar observações semelhantes em um conjunto de dados. Isso é necessário para determinar corretamente os efeitos causais e eliminar o viés. O autor explica como isso ajuda na construção de sistemas de negociação baseados em aprendizado de máquina, que se tornam mais estáveis em novos dados nos quais não foram treinados. O escore de propensão desempenha um papel central e é amplamente utilizado na inferência causal.
Algoritmos de otimização populacional: Resistência a ficar preso em extremos locais (Parte I)
Algoritmos de otimização populacional: Resistência a ficar preso em extremos locais (Parte I)
Este artigo apresenta um experimento único que visa examinar o comportamento dos algoritmos de otimização populacional no contexto de sua capacidade de escapar eficientemente de mínimos locais quando a diversidade populacional é baixa e alcançar máximos globais. Trabalhar nessa direção fornecerá uma visão mais aprofundada sobre quais algoritmos específicos podem continuar sua busca com sucesso usando coordenadas definidas pelo usuário como ponto de partida e quais fatores influenciam seu sucesso.
EA de grid-hedge modificado em MQL5 (Parte III): Otimização de uma estratégia de cobertura simples (I)
EA de grid-hedge modificado em MQL5 (Parte III): Otimização de uma estratégia de cobertura simples (I)
Na terceira parte, retornamos aos EAs Simple Hedge e Simple Grid, desenvolvidos anteriormente. Agora, vamos melhorar o Simple Hedge EA por meio de análise matemática e abordagem de força bruta (brute force) com o objetivo de otimizar o uso da estratégia. Este artigo se aprofunda na otimização matemática da estratégia, estabelecendo a base para a futura pesquisa de otimização baseada em código nas partes seguintes.
Desenvolvendo um cliente MQTT para Metatrader 5: uma abordagem TDD — Parte 6
Desenvolvendo um cliente MQTT para Metatrader 5: uma abordagem TDD — Parte 6
Este artigo é a sexta parte de uma série que descreve nossas etapas de desenvolvimento de um cliente MQL5 nativo para o protocolo MQTT 5.0. Nesta parte, comentamos as principais mudanças em nosso primeiro refatoramento, como chegamos a um modelo viável para nossas classes de construção de pacotes, como estamos construindo pacotes PUBLISH e PUBACK, e a semântica por trás dos Códigos de Motivo PUBACK.
Classe base de algoritmos populacionais como alicerce para otimização eficiente
Classe base de algoritmos populacionais como alicerce para otimização eficiente
Uma tentativa única de pesquisa para combinar uma série de algoritmos populacionais em uma única classe com o objetivo de simplificar a aplicação dos métodos de otimização. Essa abordagem não apenas abre possibilidades para o desenvolvimento de novos algoritmos, incluindo variantes híbridas, mas também estabelece um banco de testes básico universal. Este banco se torna uma ferramenta chave para a escolha do algoritmo ideal, dependendo da tarefa específica em questão.
Trabalho com modelos ONNX nos formatos float16 e float8
Trabalho com modelos ONNX nos formatos float16 e float8
Os formatos de dados utilizados para representar modelos de aprendizado de máquina desempenham um papel fundamental em sua eficiência. Nos últimos anos, surgiram vários novos tipos de dados desenvolvidos especificamente para trabalhar com modelos de aprendizado profundo. Neste artigo, vamos focar em dois novos formatos de dados que se tornaram amplamente utilizados nos modelos modernos.
Inferência causal em problemas de classificação de séries temporais
Inferência causal em problemas de classificação de séries temporais
Neste artigo, examinaremos a teoria da inferência causal usando aprendizado de máquina, bem como a implementação de uma abordagem personalizada em Python. A inferência causal e o pensamento causal têm suas raízes na filosofia e psicologia e desempenham um papel importante na nossa compreensão da realidade.
Modelos de regressão da biblioteca Scikit-learn e sua exportação para ONNX
Modelos de regressão da biblioteca Scikit-learn e sua exportação para ONNX
Neste artigo, exploraremos a aplicação de modelos de regressão do pacote Scikit-learn, tentaremos convertê-los para o formato ONNX e usaremos os modelos resultantes em programas MQL5. Além disso, compararemos a precisão dos modelos originais com suas versões ONNX para ambas as precisões float e double. Além disso, examinaremos a representação ONNX dos modelos de regressão, com o objetivo de fornecer uma melhor compreensão de sua estrutura interna e princípios operacionais.
Desenvolvendo um EA multimoeda (Parte 1): várias estratégias de trading trabalhando juntas
Desenvolvendo um EA multimoeda (Parte 1): várias estratégias de trading trabalhando juntas
Existem várias estratégias de trading. Do ponto de vista da diversificação de riscos e do aumento da estabilidade dos resultados de trading, pode ser útil usar várias estratégias em paralelo. Mas se cada estratégia for implementada como um EA separado, gerenciar o trabalho conjunto delas em uma conta de trading se torna muito mais complicado. Para resolver esse problema, é um boa idea implementar o trabalho de diferentes estratégias de trading em um único EA.
Negociação algorítmica com MetaTrader 5 e R para iniciantes
Negociação algorítmica com MetaTrader 5 e R para iniciantes
Neste artigo, vamos combinar análise financeira com negociação algorítmica, além de ver como integrar R e MetaTrader 5. Este artigo é um guia para unir a flexibilidade analítica do R com as enormes possibilidades de negociação do MetaTrader 5.
Desenvolvimento de um Cliente MQTT para o MetaTrader 5: Metodologia TDD (Parte 5)
Desenvolvimento de um Cliente MQTT para o MetaTrader 5: Metodologia TDD (Parte 5)
Este artigo é a quinta parte de uma série que descreve as etapas de desenvolvimento de um cliente MQL5 nativo para o protocolo MQTT 5.0. Nesta parte, vamos detalhar a estrutura dos pacotes PUBLISH, configuraremos seus flags de publicação, codificaremos os nomes dos tópicos e estabeleceremos identificadores de pacotes quando necessário.
Algoritmos de otimização populacional: Mudamos a forma e deslocamos as distribuições de probabilidade e testamos com o "Cabeçudinho Inteligente" (Smart Cephalopod, SC)
Algoritmos de otimização populacional: Mudamos a forma e deslocamos as distribuições de probabilidade e testamos com o "Cabeçudinho Inteligente" (Smart Cephalopod, SC)
Com este artigo investigaremos como a mudança de forma das distribuições de probabilidade afetam o desempenho dos algoritmos de otimização. Realizaremos experimentos baseados no algoritmo de teste "cabeçudinho inteligente" (Smart Cephalopod, SC) para avaliar o desempenho de diferentes distribuições de probabilidade no contexto de tarefas de otimização.
Validação cruzada combinatoriamente simétrica no MQL5
Validação cruzada combinatoriamente simétrica no MQL5
Neste artigo veremos como implementar a verificação cruzada combinatoriamente simétrica no MQL5 puro para medir o grau de ajuste após a otimização de uma estratégia usando o algoritmo completo e lento do testador de estratégias.
Desenvolvimento de um Cliente MQTT para o MetaTrader 5: Metodologia TDD (Parte 4)
Desenvolvimento de um Cliente MQTT para o MetaTrader 5: Metodologia TDD (Parte 4)
Este artigo é a quarta parte de uma série que descreve as etapas do desenvolvimento de um cliente MQL5 nativo para o protocolo MQTT. Nesta parte, examinamos as propriedades do MQTT v5.0, sua semântica, como lemos algumas delas e também fornecemos um breve exemplo de como as propriedades podem ser usadas para expandir o protocolo.
Dominando o ONNX: Ponto de virada para traders MQL5
Dominando o ONNX: Ponto de virada para traders MQL5
Mergulhe no mundo do ONNX, um poderoso formato aberto para compartilhar modelos de aprendizado de máquina. Descubra como o uso do ONNX pode revolucionar a negociação algorítmica em MQL5, permitindo que os traders integrem sem obstáculos modelos avançados de inteligência artificial e elevem suas estratégias a um novo patamar. Desvende os segredos da compatibilidade entre plataformas e aprenda a desbloquear todo o potencial do ONNX em sua negociação no MQL5. Melhore sua negociação com este guia detalhado sobre ONNX.
Desenvolvimento de um Cliente MQTT para o MetaTrader 5: metodologia TDD (Parte 3)
Desenvolvimento de um Cliente MQTT para o MetaTrader 5: metodologia TDD (Parte 3)
Este artigo faz parte de uma série que descreve as etapas do desenvolvimento de um cliente MQL5 nativo para o protocolo MQTT. Nesta parte, descrevemos em detalhes como aplicar o princípio do desenvolvimento orientado por testes para implementar a troca de pacotes CONNECT/CONNACK. Ao final desta etapa, nosso cliente DEVE ser capaz de agir apropriadamente ao trabalhar com todos os possíveis resultados do servidor ao tentar se conectar.
Linguagem de programação visual DRAKON — ferramenta de comunicação Desenvolvedor/Cliente MQL
Linguagem de programação visual DRAKON — ferramenta de comunicação Desenvolvedor/Cliente MQL
DRAKON é uma linguagem de programação visual especialmente desenvolvida para facilitar a interação entre especialistas de diferentes áreas (biólogos, físicos, engenheiros...) com programadores em projetos espaciais russos (por exemplo, na criação do complexo "Buran"). Neste artigo, vou falar sobre como o DRAKON torna a criação de algoritmos acessível e intuitivamente compreensível, mesmo para quem nunca teve contato com código, e também como é mais fácil quer seja para o cliente explicar suas ideias ao encomendar robôs de negociação quer seja para o programador cometer menos erros em funções complexas.
Desenvolvimento de um Cliente MQTT para o MetaTrader 5: Metodologia TDD (Parte 2)
Desenvolvimento de um Cliente MQTT para o MetaTrader 5: Metodologia TDD (Parte 2)
Este artigo faz parte de uma série que descreve as etapas do desenvolvimento de um cliente MQL5 nativo para o protocolo MQTT. Nesta parte, descrevemos como está organizando nosso código, os primeiros arquivos de cabeçalho e classes, e como escrever testes. Este artigo também inclui notas breves sobre o desenvolvimento orientado por testes (Test-Driven Development) e sua aplicação neste projeto.