
Indicadores alternativos de risco e rentabilidade em MQL5
Neste artigo, apresentaremos a implementação de vários indicadores de rentabilidade e risco, considerados alternativas ao índice de Sharpe, e exploraremos curvas de patrimônio líquido hipotéticas para analisar suas características.

O modelo de movimento de preços e suas principais disposições (Parte 2): Equação da evolução do campo probabilístico do preço e a ocorrência do passeio aleatório observado
O artigo considera a equação da evolução do campo probabilístico do preço e o critério do próximo salto do preço. Ela também revela a essência dos valores dos preços nos gráficos e o mecanismo para a ocorrência de um passeio aleatório desses valores.

Desenvolvendo um sistema de Replay - Simulação de mercado (Parte 08): Travando o Indicador
Aqui vou mostrar como travar um indicador, usando pura e simplesmente a linguagem MQL5, de uma forma muito interessante e surpreendente.

Ciência de Dados e Aprendizado de Máquina (Parte 13): Analisando o mercado financeiro usando a análise de componentes principais (PCA)
Vamos tentar melhorar qualitativamente nossa análise dos mercados financeiros usando a análise de componentes principais (PCA). Aprenderemos como essa técnica pode ajudar a identificar padrões ocultos nos dados, identificar tendências de mercado ocultas e otimizar estratégias de investimento. Neste artigo, veremos como o PCA oferece uma nova perspectiva para a análise de dados financeiros complexos, ajudando-nos a ver informações que não percebemos usando abordagens tradicionais. Veremos se sua aplicação aos dados do mercado financeiro proporciona uma vantagem sobre a concorrência e nos ajuda a ficar um passo à frente.


Outras classes na biblioteca DoEasy (Parte 69): classe-coleção de objetos-gráficos
Com este artigo, começaremos o desenvolvimento de uma classe-coleção de objetos-gráficos que armazenará uma lista-coleção de objetos-gráficos com suas subjanelas e indicadores, e tornará possível trabalhar com gráficos selecionados e suas subjanelas, ou com uma lista de vários gráficos ao mesmo tempo.

Previsão usando modelos ARIMA em MQL5
Neste artigo, continuamos a desenvolver a classe CArima para construir modelos ARIMA adicionando métodos de previsão intuitivos.

Combinatória e teoria da probabilidade para negociação (Parte V): análise de curva
Neste artigo, explorei as possibilidades de reduzir amostras multiestado complexas a amostras simples de estado duplo. O objetivo principal é obter uma análise e umas conclusões que possam ajudar no desenvolvimento de algoritmos de negociação escaláveis baseados na teoria da probabilidade. Naturalmente, a matemática também está envolvida, mas dada a experiência de artigos anteriores, vejo que informações mais gerais são muito mais úteis do que detalhes.

Força bruta para encontrar padrões (Parte V): uma nova perspectiva
Neste artigo, vou apresentar uma abordagem completamente diferente para o algorítmico de negociação, que levei um tempo considerável para desenvolver. Claro, tudo isso está relacionado ao meu programa de força bruta, que passou por várias mudanças, permitindo que ele resolva várias tarefas simultaneamente. No entanto, este artigo é mais geral e extremamente simples, sendo adequado até mesmo para aqueles que não têm conhecimento prévio ou apenas passaram por isso.

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.


Trabalhando com séries temporais na biblioteca DoEasy (Parte 48): indicadores multissímbolos multiperíodos num buffer de uma subjanela
Neste artigo consideraremos um exemplo que mostra como criar indicadores padrão multissímbolos e multiperíodos que usam um buffer de indicador e funcionam numa subjanela do gráfico principal. Prepararemos classes da biblioteca para trabalhar com indicadores padrão que funcionam na janela principal do programa, ou que tenham mais de um buffer para exibir seus dados.


Trabalhando com preços na biblioteca DoEasy (Parte 61): coleção de séries de ticks para símbolos
Visto que diferentes símbolos podem ser usados durante a operação do programa, é necessário criar uma lista própria para cada um deles. Hoje vamos combinar essas listas numa coleção de dados de ticks. Na verdade, irá tratar-se de uma lista normal baseada numa classe de array dinâmico de ponteiros para instâncias da classe CObject e seus herdeiros da Biblioteca Padrão.

Testes de permutação de Monte Carlo no MetaTrader 5
Este artigo explora o uso de testes de permutação, aplicando-os a qualquer Expert Advisor através da reorganização de dados de ticks, recorrendo exclusivamente aos recursos disponíveis no MetaTrader 5.


Trabalhando com preços na biblioteca DoEasy (Parte 60): lista-série de dados de dados de tick do símbolo
Neste artigo, criaremos uma lista para armazenar dados de tick de um símbolo e verificaremos tal criação e respectiva recepção de dados a partir dela no EA. Essas listas de dados de tick - separadamente para cada símbolo usado - formarão uma coleção de dados de tick.

Desenvolvendo um sistema de Replay - Simulação de mercado (Parte 25): Preparação para a próxima etapa
Aqui neste artigo iremos finalizar a primeira etapa do desenvolvimento do sistema de replay / simulador. Ao finalizar esta etapa, estou dizendo a você, caro leitor, que o sistema já estará em um estágio avançado o suficiente para que novas funcionalidades possam de fato serem implementadas. Isto a fim de tornar o sistema ainda mais elaborado e mais útil para efetuar estudos e desenvolver conceitos de analise de mercado.

Desenvolvendo um sistema de Replay - Simulação de mercado (Parte 07): Primeiras melhorias (II)
No artigo anterior fizemos a correção de alguns pontos, e adicionamos alguns testes no nosso sistema de replay, estes tentam garantir a maior estabilidade quanto for possível obter, ao mesmo tempo iniciamos a criação e o uso de um arquivo de configuração para o sistema de replay.

Simulação de mercado (Parte 02): Cross Order (II)
Diferente do que foi visto no artigo anterior, aqui vamos fazer o controle de seleção no Expert Advisor. Porém, esta não é uma solução ainda definitiva. Mas irá nos atender por hora. Então acompanhe o artigo para entender como implementar uma das soluções possíveis.

O modelo de movimento dos preços e suas principais disposições (Parte 1): A versão do modelo mais simples e suas aplicações
O artigo fornece os fundamentos de um movimento de preços matematicamente rigoroso e a teoria do funcionamento do mercado. Até o presente, nós não tivemos nenhuma teoria de movimento de preços matematicamente rigorosa. Em vez disso, nós tivemos que lidar com as suposições baseadas na experiência, afirmando que o preço se move de uma certa maneira após um determinado padrão. É claro que essas suposições não foram apoiadas nem pela estatística e nem pela teoria.

Funcionalidades do assistente MQL5 que você precisa conhecer (Parte 05): cadeias de Markov
As cadeias de Markov são uma poderosa ferramenta matemática que pode ser usada para modelar e prever dados de séries temporais em vários campos, incluindo finanças. Na modelagem e previsão de séries temporais financeiras, as cadeias de Markov são frequentemente usadas para modelar a evolução de ativos financeiros ao longo do tempo, ativo esses como preços de ações ou pares de moedas. Uma das principais vantagens dos modelos das cadeias de Markov é sua simplicidade e facilidade de uso.

Implementando o fator Janus em MQL5
Gary Anderson desenvolveu um método de análise de mercado baseado em uma teoria que chamou de fator Janus. Essa teoria descreve um conjunto de indicadores que podem ser usados para identificar tendências e avaliar o risco de mercado. Neste artigo, vamos implementar essas ferramentas no MQL5.


Trabalhando com séries temporais na biblioteca DoEasy (Parte 59): objeto para armazenar dados de um tick
Com este artigo, vamos começar a criar a funcionalidade de biblioteca para trabalhar com dados de preços. Hoje vamos criar uma classe de objeto que armazenará todos os dados de preços recebidos no tick a seguir.

Redes neurais de maneira fácil (Parte 26): aprendizado por reforço
Continuamos a estudar métodos de aprendizado de máquina. Com este artigo, começamos outro grande tópico chamado aprendizado por reforço. Essa abordagem permite que os modelos estabeleçam certas estratégias para resolver as tarefas. E esperamos que essa propriedade inerente ao aprendizado de reforço abra novos horizontes para a construção de estratégias de negociação.

Conselhos de um programador profissional (Parte III): Registro de Logs. Conectando-se ao sistema Seq de coleta e análise de logs
Implementação da classe Logger para unificar e estruturar as mensagens que são impressas no log da guia Experts na caixa de ferramentas. Conexão com o sistema Seq de coleta e análise de logs. Monitoramento de mensagens de log online.

Desenvolvimento de robô em Python e MQL5 (Parte 1): Pré-processamento de dados
Esse será um guia detalhado sobre como desenvolver um robô de trading baseado em aprendizado de máquina. Realizaremos a coleta e preparação de dados e características. Para a execução do projeto, utilizaremos a linguagem de programação Python e bibliotecas, bem como a plataforma MetaTrader 5.

Redes neurais de maneira fácil (Parte 17): Redução de dimensionalidade
Continuamos a estudar modelos de inteligência artificial, em particular, algoritmos de aprendizado não supervisionados. Já nos encontramos com um dos algoritmos de agrupamento. E neste artigo quero compartilhar com vocês outra maneira de resolver os problemas de redução de dimensionalidade.

Fatorando Matrizes — O Básico
Como o intuito aqui é ser didático. Vou manter a coisa no seu padrão mais simples. Ou seja, iremos implementar apenas e somente o que será preciso. A multiplicação de matrizes. E você verá que isto será o suficiente para simular a multiplicação de uma matriz por um escalar. A grande dificuldade que muita gente tem em implementar um código usando fatoração de matrizes, é que diferente de uma fatoração escalar, onde em quase todos os casos a ordem dos fatores não altera o resultado. Quando se usa matrizes, a coisa não é bem assim.

Ciência de dados e Aprendizado de Máquina (parte 09): O algoritmo K-vizinhos mais próximos (KNN)
Este é um algoritmo preguiçoso que não aprende com o conjunto de dados de treinamento, ele armazena o conjunto de dados e age imediatamente quando ele recebe uma nova amostra. Por mais simples que ele seja, ele é usado em uma variedade de aplicações do mundo real

Desenvolvendo um sistema de Replay - Simulação de mercado (Parte 15): Nascimento do SIMULADOR (V) - RANDOM WALK
Neste artigo iremos finalizar a fase, onde estamos desenvolvendo o simulador para o nosso sistema. O principal proposito aqui será ajustar o algoritmo visto no artigo anterior. Tal algoritmo tem como finalidade criar o movimento de RANDOM WALK. Por conta disto, o entendimento do conteúdo dos artigos anteriores, é primordial para acompanhar o que será explicado aqui. Se você não acompanhou o desenvolvimento do simulador, aconselho você a ver esta sequência desde o inicio. Caso contrário, poderá ficar perdido no que será explicado aqui.

Desenvolvendo um sistema de Replay (Parte 66): Dando play no serviço (VII)
Aqui neste artigo, vamos implementar uma primeira solução, para que possamos saber o momento em que uma nova barra poderá vim a surgir no gráfico. Esta solução se adequa a diversas situações. Porém entender como a mesma foi desenvolvida pode lhe ajudar a entender diversas questões. 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.

Desenvolvendo um sistema de Replay - Simulação de mercado (Parte 14): Nascimento do SIMULADOR (IV)
Neste artigo continuaremos a fase de desenvolvimento do simulador. Mas agora, vamos ver como criar de fato um movimento do tipo RANDOM WALK. Este tipo de movimentação é muito interessante, pois tudo envolvido no mercado de capitais tem como base este tipo de movimentação. Além do mais você vai começar a entender alguns conceitos importantes para quem faz estáticas de mercado.

Trabalhando com séries temporais na biblioteca DoEasy (Parte 54): classes herdeiras do indicador base abstrato
Neste artigo, analisaremos a criação de classes de objetos herdeiros do indicador base abstrato. Esses objetos nos darão acesso à capacidade de criar EAs de indicador, coletar e receber estatísticas sobre valores de dados de diferentes indicadores e preços. Também criaremos uma coleção de objetos-indicadores a partir da qual será possível acessar as propriedades e dados de cada indicador criado no programa.

Desenvolvendo um sistema de Replay — Simulação de mercado (Parte 03): Ajustando as coisas (I)
Vamos dar uma ajeitada nas coisas, pois este começo não está sendo um dos melhores. Se não fizermos isto agora, vamos ter problemas logo, logo.

Desenvolvendo um sistema de Replay - Simulação de mercado (Parte 13): Nascimento do SIMULADOR (III)
Aqui iremos dar uma leve otimizada nas coisas. Isto para facilitar o que iremos fazer no próximo artigo. Mas também irei explicar como você pode visualizar o que o simulador está gerando em termos de aleatoriedade.

Força bruta para encontrar padrões (Parte VI): otimização cíclica
Neste artigo, mostrarei a primeira parte das melhorias que me permitiram não apenas fechar todo o ciclo de automação para negociação no MetaTrader 4 e 5, mas também fazer algo muito mais interessante. A partir de agora, esta solução me permite automatizar completamente tanto o processo de criação de EAs quanto o processo de otimização, além de minimizar o esforço necessário para encontrar configurações de negociação eficazes.

Desenvolvendo um sistema de Replay (Parte 65): Dando play no serviço (VI)
Aqui neste artigo mostrarei como faremos para conseguir implementar o avanço rápido, assim como também resolveremos o problema do indicador de mouse, quando este está sendo usando junto com a aplicação de replay / simulação. 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.

Algoritmos de otimização populacionais: Otimização de colônia de formigas (ACO)
Desta vez, vamos dar uma olhada no algoritmo de otimização de colônia de formigas ("Ant Colony optimization algorithm", em inglês). O algoritmo é muito interessante e ambíguo. Trata-se de uma tentativa de criar um novo tipo de ACO.

Matrix Utils, estendendo as matrizes e a funcionalidade da biblioteca padrão de vetores
As matrizes servem como base para os algoritmos de aprendizado de máquina e computação em geral devido à sua capacidade de lidar efetivamente com grandes operações matemáticas. A biblioteca padrão tem tudo o que é necessário, mas vamos ver como podemos estendê-la introduzindo várias funções no arquivo utils, ainda não disponível na biblioteca

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.

Desenvolvendo um sistema de Replay - Simulação de mercado (Parte 16): Um novo sistema de classes
Precisamos nos organizar melhor. O código está crescendo e se não o organizarmos agora, será impossível fazer isto depois. Então agora vamos dividir para conquistar. O fato de que o MQL5, nos permite usar classes, nos ajudará nesta tarefa. Mas para fazer isto é preciso que você tenha algum conhecimento sobre algumas coisas envolvidas nas classes. E talvez a que mais deixe, aspirantes e iniciantes perdidos seja a herança. Então neste artigo, irei de forma prática e simples como fazer uso de tais mecanismos.

Algoritmos de otimização populacionais: salto de sapo embaralhado
O artigo apresenta uma descrição detalhada do algoritmo salto de sapo embaralhado (Shuffled Frog Leaping Algorithm, SFL) e suas capacidades na solução de problemas de otimização. O algoritmo SFL é inspirado no comportamento dos sapos em seu ambiente natural e oferece uma nova abordagem para a otimização de funções. O algoritmo SFL é uma ferramenta eficaz e flexível, capaz de lidar com diversos tipos de dados e alcançar soluções ótimas.

Ciência de Dados e Aprendizado de Máquina — Redes Neurais (Parte 02): Arquitetura das Redes Neurais Feed Forward
Há detalhes a serem abordadas na rede neural feed-forward antes de finalizarmos este assunto, a arquitetura é uma delas. Vamos ver como nós podemos construir e desenvolver uma rede neural flexível para as nossas entradas, o número de camadas ocultas e os nós para cada rede.