
Desenvolvendo um sistema de Replay (Parte 36): Ajeitando as coisas (II)
Uma das coisas que mais pode complicar a nossa vida como programadores é o fato de supor as coisas. Neste artigo mostrarei o perigo de fazer suposições. Tanto na parte da programação em MQL5, onde você supõem que um tipo terá um dado tamanho. Assim como no uso do MetaTrader 5, onde você supõem que servidores diferentes funcionam da mesma forma.

Adicionando um LLM personalizado a um robô investidor (Parte 1): Implantação de equipamentos e ambiente
Os modelos de linguagem são uma parte importante da inteligência artificial que evolui rapidamente, por isso devemos pensar em como integrar LLMs poderosos em nossa negociação algorítmica. Para a maioria das pessoas, é desafiador configurar esses poderosos modelos de acordo com suas necessidades, implementá-los localmente e, em seguida, aplicá-los à negociação algorítmica. Esta série de artigos explorará uma abordagem passo a passo para alcançar esse objetivo.

Algoritmos populacionais de otimização: Evolução diferencial (Differential Evolution, DE)
Neste artigo, falaremos sobre o algoritmo que apresenta os resultados mais contraditórios de todos os examinados anteriormente, o de evolução diferencial (DE).

Redes neurais de maneira fácil (Parte 18): Regras de associação
Como continuação desta série, gostaria de apresentar a vocês outro tipo de tarefa dos métodos de aprendizado não supervisionado, em particular a busca de regras de associação. Este tipo de tarefa foi usado pela primeira vez no varejo para analisar cestas de compras. Neste artigo falaremos sobre as possibilidades de utilização de tais algoritmos no trading.


Gráficos na biblioteca DoEasy (Parte 90): eventos de objetos gráficos padrão Funcionalidade básica
No artigo de hoje criaremos a funcionalidade base para rastrear eventos de eventos de objetos gráficos padrão. Vamos começar com o clique duplo do mouse sobre o objeto gráfico.

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.

Trabalhando com séries temporais na biblioteca DoEasy (Parte 49): indicadores padrão multiperíodos multissímbolos multibuffer
Neste artigo, modificaremos as classes da biblioteca para permitir a criação de indicadores padrão multissímbolos e multiperíodos que requerem vários buffers de indicador para exibir seus dados.

Desenvolvendo um sistema de Replay (Parte 28): Projeto Expert Advisor — Classe C_Mouse (II)
Quanto de fato os primeiros sistema capazes de fatorar alguma coisa, começaram a ser produzidos. Tudo tinha que ser feito por engenheiros com grande conhecimento, no que estava sendo projetado. Isto nos primórdios da computação, onde se quer existia algum tipo de terminal, para que fosse possível programar algo. Conforme ia se desenvolvendo, e o interesse de que mais pessoas também conseguisse criar algo, começou surgir novas ideias e meios, de programar aquelas máquinas, que antes era feito mudando a posição dos conectores. Assim começamos a ter os primeiros terminais.

DoEasy. Controles (Parte 2): Continuamos trabalhando na classe CPanel
Neste artigo, vamos nos livrar de alguns erros ao trabalhar com elementos gráficos e continuar desenvolvendo o controle CPanel. Isto último irá se tratar de métodos para definir os parâmetros da fonte, que é usada por padrão para todos os objetos de texto do painel, objetos esses que, por sua vez, podem ser localizados nele no futuro.

Desenvolvendo um sistema de Replay - Simulação de mercado (Parte 06): Primeiras melhorias (I)
Neste artigo vamos começar a estabilizar todo o sistema. Pois sem que o sistema esteja de fato estabilizado, podemos correr risco de não conseguir cumprir os próximos passos.

Como desenvolver um sistema de negociação baseado no indicador Oscilador de Chaikin
Bem-vindo ao nosso novo artigo da série sobre como desenvolver um sistema de negociação com base nos indicadores técnico mais populares. Através deste novo artigo, nós aprenderemos como desenvolver um sistema de negociação pelo indicador Oscilador de Chaikin.

Desenvolvendo um sistema de Replay — Simulação de mercado (Parte 05): Adicionando Previas
Conseguimos desenvolver, uma forma de fazer com que o replay de mercado, fosse executado dentro de um tempo bastante realista e aceitável. Vamos continuar nosso projeto. Agora iremos adicionar dados de forma a ter um comportamento melhor do replay.

Desenvolvendo um sistema de Replay (Parte 43): Projeto do Chart Trade (II)
Grande parte das pessoas que querem, ou desejam aprender a programar, não fazem de fato ideia, do que estão fazendo. O que elas fazem é tentar criar as coisas de uma determinada maneira. No entanto, quando programamos não estamos de fato tentando criar um solução. Se você tentar fazer isto, desta forma irá gerar mais problemas do que realmente uma solução. Aqui iremos fazer algo um pouco mais avançado, e por consequência diferente.

Ciência de dados e aprendizado de máquina (Parte 11): Classificador Naive Bayes e teoria da probabilidade na negociação
A negociação com base em probabilidades pode ser comparada a caminhar sobre uma corda bamba - ela requer precisão, equilíbrio e uma compreensão clara do risco envolvido. No mundo do trading, a probabilidade é fundamental. É ela que determina o resultado: sucesso ou fracasso, lucro ou prejuízo. Ao aproveitar as possibilidades da probabilidade, os traders podem tomar decisões mais fundamentadas, gerenciar os riscos de maneira mais eficiente e alcançar seus objetivos financeiros. Não importa se você é um investidor experiente ou um trader iniciante, entender a probabilidade pode ser a chave para desbloquear seu potencial de negociação. Neste artigo, exploraremos o fascinante mundo do trading baseado em probabilidades e mostraremos como levar seu modo de negociar a um nível superior.

Desenvolvendo um sistema de Replay - Simulação de mercado (Parte 24): FOREX (V)
Aqui estamos retirando o bloqueio de simulação baseada na plotagem LAST, e adicionando um ponto de entrada para este tipo de simulação. Agora prestem atenção ao fato de que todo o funcionamento, irá se basear no sistema do forex. Sendo que a única diferença, aqui nesta rotina, é o fato de que estaremos separando uma simulação BID, de uma LAST. Mas a questão de randomização do tempo e a sua correção para ser utilizado pela classe C_Replay, é a mesma em ambos modos de simulação. Isto é uma coisa boa, já que se modificarmos um dos modos, o outro irá se beneficiar, pelo menos no que rege a parte do tempo entre os tickets

DoEasy. Controles (Parte 24): Objeto WinForms dica
Neste artigo, vamos reformular a lógica de especificação dos objetos base e principal para todos os objetos WinForms da biblioteca. Vamos desenvolver também um novo objeto dica que será base e algumas classes herdeiras para indicar a possível direção do movimento da linha divisória.

Desenvolvendo um sistema de Replay (Parte 55): Módulo de controle
Neste artigo iremos implementar o indicador de controle de forma que ele possa o sistema de mensagens que está sendo implementado. Apesar de não ser algo muito complexo de ser feito, você precisa entender alguns detalhes referentes a como fazer a inicialização deste módulo. O conteúdo exposto aqui, visa e tem como objetivo, pura e simplesmente a didática. De modo algum deve ser encarado como sendo, uma aplicação cuja finalidade não venha a ser o aprendizado e estudo dos conceitos mostrados.

Ganhe uma Vantagem sobre Qualquer Mercado (Parte II): Previsão de Indicadores Técnicos
Você sabia que podemos obter mais precisão ao prever certos indicadores técnicos do que ao prever o preço subjacente de um símbolo negociado? Junte-se a nós para explorar como aproveitar essa percepção para melhores estratégias de negociação

Desenvolvendo um sistema de Replay (Parte 31): Projeto Expert Advisor - Classe C_Mouse (V)
Desenvolver uma forma de colocar o cronometro, de modo que durante um replay / simulação, ele consiga nos dizer quanto tempo falta, pode parecer a principio uma tarefa simples e de rápida solução. Muitos iriam simplesmente tentar adaptar e usar o mesmo sistema que é usado quando temos o servidor de negociação ao nosso lado. Mas aqui mora um ponto que muitos talvez não se atentem ao pensar em tal solução. Quando você está fazendo um replay, e isto para não falar do fato da simulação, o relógio não funciona da mesma forma. Este tipo de coisa torna complexo construir tal sistema.

Redes neurais de maneira fácil (Parte 34): Função quantil totalmente parametrizada
Continuamos a estudar os algoritmos de aprendizado Q distribuído. Em artigos anteriores, já discutimos os algoritmos de aprendizado Q distribuído e de quantil. No primeiro, aprendemos as probabilidades de determinados intervalos de valores. No segundo, aprendemos intervalos com uma probabilidade específica. Em ambos os algoritmos, utilizamos o conhecimento prévio de uma distribuição e ensinamos a outra. Neste artigo, vamos examinar um algoritmo que permite que o modelo aprenda ambas as distribuições.

Como conectar o MetaTrader 5 ao PostgreSQL
Esse artigo descreve quatro métodos de conexão do código MQL5 ao banco de dados Postgres e apresenta um guia passo a passo para configurar um ambiente de desenvolvimento para um deles, a API REST, por meio do Windows Subsystem for Linux (WSL). Além disso, mostra-se um aplicativo de demonstração para a API com o código MQL5 necessário para inserir dados e consultar as respectivas tabelas, bem como um EA de demonstração para usar esses dados.

Redes neurais de maneira fácil (Parte 27): Aprendizado Q profundo (DQN)
Continuamos nosso estudo sobre aprendizado por reforço. E, neste artigo, vamos nos familiarizar com o método de aprendizado Q profundo. Com esse método, a equipe do DeepMind criou um modelo que pode superar um humano ao jogar jogos do Atari. Acho que será útil avaliar as possibilidades de tal tecnologia para resolver problemas de negociação.

Ciência de Dados e Aprendizado de Máquina (Parte 14): aplicando mapas de Kohonen nos mercados
Deseja descobrir uma nova metodologia de negociação que facilite a orientação em mercados complexos e voláteis? Explore os mapas de Kohonen - uma versão inovadora de redes neurais artificiais, capazes de identificar regularidades e tendências ocultas nos dados do mercado. Neste texto, analisaremos a funcionalidade dos mapas de Kohonen e a forma de utilizá-los na elaboração de estratégias de negociação eficazes. Estou convencido de que esta abordagem inédita será do interesse de traders novatos e experientes.

O modelo de movimento de preços e suas principais disposições (Parte 3): Cálculo dos parâmetros ótimos para negociação em bolsa
Dentro da abordagem de engenharia desenvolvida pelo autor, baseada na teoria da probabilidade, são determinadas as condições para abrir uma posição lucrativa e calculados os valores ótimos - maximizadores do lucro - para o take profit e o stop loss.

Medindo o valor informativo do Indicador
O aprendizado de máquina se tornou uma técnica popular de desenvolvimento de estratégias. Na negociação, tradicionalmente, mais atenção é dada à maximização da lucratividade e à precisão das previsões. Enquanto isso, o processamento de dados usado para construir modelos preditivos permanece na periferia. Neste artigo, discutimos o uso do conceito de entropia para avaliar a adequação de indicadores na construção de modelos preditivos, conforme descrito no livro Testing and Tuning Market Trading Systems escrito por Timothy Masters.

Funcionalidades do assistente MQL5 que você precisa conhecer (Parte 6): transformada de Fourier
A transformada de Fourier é um método de decompor uma onda de pontos de dados em possíveis partes constituintes que foi introduzida por Joseph Fourier. Esse recurso pode ser útil para os traders, e é isso que abordaremos neste artigo.

Redes neurais de maneira fácil (Parte 15): Agrupamento de dados via MQL5
Continuamos a estudar o método de agrupamento. Neste artigo, criaremos uma nova classe CKmeans para implementar um dos métodos de agrupamento k-médias mais comuns. Com base nos resultados dos testes, podemos concluir que o modelo é capaz de identificar cerca de 500 padrões.

Desenvolvendo um sistema de Replay - Simulação de mercado (Parte 20): FOREX (I)
intenção inicial deste artigo, não será cobrir todas as características do FOREX. Mas sim e apenas, adequar o sistema, de forma que você possa fazer no mínimo, um replay de mercado. Já a simulação, ficará para um outro momento. No entanto, caso você não os tenha os ticks, e tenha apenas as barras. Pode com algum trabalho, simular possíveis transações, que possam ter ocorrido no FOREX. Isto até que eu mostre como adaptar o simulador. O fato de se tentar trabalhar com dados vindos do FOREX, dentro do sistema, sem que ele seja modificado. Faz com que ocorra erros de range.

Redes neurais de maneira fácil (Parte 38): Exploração auto-supervisionada via desacordo (Self-Supervised Exploration via Disagreement)
Um dos principais desafios do aprendizado por reforço é a exploração do ambiente. Anteriormente, já nos iniciamos no método de exploração baseado na curiosidade interna. E hoje proponho considerar outro algoritmo, o de exploração por desacordo.

Algoritmos de otimização populacionais: Busca por cardume de peixes (FSS - Fish School Search)
O FSS (Fish School Search) é um algoritmo avançado de otimização inspirado no comportamento dos peixes que nadam em cardumes. Aproximadamente 80% desses peixes nadam em comunidades organizadas de parentes, o que tem sido comprovado como uma estratégia importante para melhorar a eficiência de procura por alimento e proteção contra predadores.

Data Science e Machine Learning (Parte 23): Por que o LightGBM e o XGBoost superam muitos modelos de IA?
Essas técnicas avançadas de árvores de decisão com boosting de gradiente oferecem desempenho superior e flexibilidade, tornando-as ideais para modelagem financeira e trading algorítmico. Aprenda como aproveitar essas ferramentas para otimizar suas estratégias de trading, melhorar a precisão preditiva e ganhar uma vantagem competitiva nos mercados financeiros.

Algoritmos de otimização populacionais: Algoritmo do morcego
Hoje estudaremos o algoritmo do morcego (Bat algorithm, BA), que possui convergência incrível em funções suaves.

Algoritmos de otimização populacional: busca por difusão estocástica (Stochastic Diffusion Search, SDS)
O artigo aborda a busca por difusão estocástica, SDS, um algoritmo de otimização muito poderoso e prático, baseado nos princípios de passeio aleatório. O algoritmo permite encontrar soluções ótimas em espaços multidimensionais complexos, possuindo uma alta velocidade de convergência e a capacidade de evitar extremos locais.

Desenvolvendo um sistema de Replay - Simulação de mercado ( Parte 21): FOREX (II)
Vamos continuar a montagem do sistema para cobrir o mercado de FOREX. Então para resolver este problema, precisaríamos primeiramente, declarar o carregamento dos tickets, antes de fazer o carregamento das barras previas. Isto resolve o problema, mas ao mesmo tempo força o usuário, a um tipo de modelagem do arquivo de configuração, que ao meu ver não faz muito sentido. O motivo é que, ao desenvolver a programação, responsável por analisar e executar o que esta no arquivo de configuração, podemos permitir ao usuário, declarar as coisas em qualquer ordem.

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
Este artigo apresenta a primeira tentativa de desenvolver um cliente MQTT nativo para o MQL5. MQTT é um protocolo de troca de dados no formato "publicador - assinante". Ele é leve, aberto, simples e projetado para ser facilmente implementado. Isso o torna aplicável em muitas situações.

Desenvolvendo um sistema de Replay (Parte 44): Projeto do Chart Trade (III)
No artigo anterior, expliquei como você pode manipular os dados do template a fim de usá-los em um OBJ_CHART. Mas lá apenas introduzi a questão, mas sem entrar em muitos detalhes, já que naquela versão o trabalho foi feito de uma maneira bem simplificada. No entanto, ela foi feita daquela forma, justamente para facilitar a explicação do conteúdo. Pois apesar de parecer simples fazer certas coisas, algumas não são tão evidentes, e sem compreender a parte mais simples e básica, você não irá de fato entender o que estou fazendo.

Análise quantitativa no MQL5: implementando um algoritmo promissor
Vamos explorar o que é a análise quantitativa, como os grandes players a utilizam e criar um dos algoritmos de análise quantitativa na linguagem MQL5.


Indicador CCI. Três etapas de transformação
Neste artigo, eu farei alterações adicionais no CCI afetando a própria lógica desse indicador. Além disso, nós poderemos vê-lo na janela principal do gráfico.

Introdução ao MQL5 (Parte 3): Estudando os elementos básicos do MQL5
Neste artigo, continuamos a estudar os fundamentos da programação em MQL5. Vamos abordar arrays, funções personalizadas, pré-processadores e manipulação de eventos. Para maior clareza, cada passo de todas as explicações será acompanhado por código. Esta série de artigos estabelece a base para o estudo do MQL5, com ênfase na explicação de cada linha de código.