Do básico ao intermediário: Filas, Listas e Árvores (V)
Neste artigo começamos a trabalhar com a implementação do mecanismo de árvore. Como sei que este mecanismo pode ser extremamente complicado de ser compreendido e assimilado, no começo do aprendizado. Iremos implementar as coisas com calma e devagar. Assim todos irão conseguir entender como uma árvore funciona e qual o melhor momento para utiliza-la.
Do básico ao intermediário: Filas, Listas e Árvores (IV)
Neste artigo iremos finalizar a parte referente a implementação e explicação sobre o que seria uma lista encadeada. Porém a implementação mostrada aqui, não irá mostrar um certo detalhe que podemos fazer dentro de uma lista encadeada. Isto será visto futuramente em um outro artigo.
Do iniciante ao especialista: criação de um EA animado para notícias em MQL5 (IV) - Análise de mercado com modelos hospedados localmente usando IA
Na discussão de hoje, veremos como hospedar localmente modelos de inteligência artificial de código aberto e usá-los para obter informações sobre o mercado. Isso faz parte dos nossos esforços contínuos para expandir o EA "Manchetes de Notícias" com a implementação da seção "Análise de inteligência artificial" (AI Insights), que transforma o EA em uma ferramenta auxiliar com múltiplas integrações. O EA atualizado foi projetado para informar os traders sobre eventos do calendário, as notícias financeiras mais recentes, indicadores técnicos e, agora, também sobre perspectivas de mercado geradas por inteligência artificial, oferecendo, assim, suporte oportuno, diversificado e inteligente à tomada de decisões de trading. Acompanhe esta conversa, na qual veremos estratégias práticas de integração e como o MQL5 pode interagir com recursos externos para criar um terminal de trading poderoso e inteligente.
Do básico ao intermediário: Sub Janelas (II)
O artigo aprofunda o uso de sub janelas no MetaTrader 5, mostrando como a direção do cálculo em OnCalculate afeta buffers e a plotagem de médias. Explica na prática o encadeamento de indicadores com FIRST INDICATOR’S DATA e PREVIOUS INDICATOR’S DATA, o impacto na remoção em cadeia e o comportamento de indicatorseparatewindow. O leitor aprende a diagnosticar falhas de exibição e a estruturar indicadores que funcionam corretamente em sub janelas.
Reimaginando Estratégias Clássicas (Parte IX): Análise de Múltiplos Time-Frames (II)
Na discussão de hoje, examinamos a estratégia de análise de múltiplos time-frames para descobrir em qual time-frame nosso modelo de IA apresenta melhor desempenho. Nossa análise nos levou a concluir que os time-frames Mensal e de 1 Hora produzem modelos com taxas de erro relativamente baixas no par EURUSD. Usamos isso a nosso favor e criamos um algoritmo de negociação que faz previsões de IA no time-frame Mensal e executa suas negociações no time-frame de 1 Hora.
Assistente Connexus (Parte 5): Métodos HTTP e códigos de status
Neste artigo, vamos entender os métodos HTTP e os códigos de status, dois elementos muito importantes para a interação entre cliente e servidor na internet. Compreender o que cada método faz de fato permite criar requisições mais precisas, informando ao servidor qual ação deve ser executada e tornando a comunicação mais eficiente.
Cliente no Connexus (Parte 7): Adicionando a camada de cliente
Neste artigo, continuamos o desenvolvimento da biblioteca Connexus. Neste capítulo, criamos a classe CHttpClient, responsável por enviar a requisição e receber a ordem. Também abordamos o conceito de mocks, separando a biblioteca da função WebRequest, o que garante maior flexibilidade para os usuários.
Do básico ao intermediário: Indicadores técnicos (I)
Neste artigo veremos o básico sobre como utilizar indicadores técnicos que estão presentes e são mantidos pelo próprio MetaTrader 5. Saber, entender e conhecer este tipo de indicador pode vir a tornar seu trabalho de implementar algo, em uma tarefa muito mais simples, rápida e eficiente. Visto que você não precisa se preocupar com a parte referente aos cálculos a serem efetuados. A própria plataforma se encarrega de fazer isto para nós.
Implementação do modelo de tabela em MQL5: Aplicação do conto MVC
Neste artigo, analisaremos o desenvolvimento do modelo de tabela na linguagem MQL5, usando o conceito arquitetônico MVC (Model-View-Controller), que separa a lógica dos dados, a apresentação e o controle, o que ajuda a criar um código estruturado, flexível e escalável. Examinaremos a implementação das classes para construir o modelo de tabela, incluindo o uso de listas ligadas para armazenar dados.
Análise espectral singular em MQL5
Este artigo serve como guia para quem ainda não conhece o conceito de análise espectral singular e deseja adquirir conhecimento suficiente para aplicar as ferramentas integradas disponíveis em MQL5.
Ganhe Vantagem em Qualquer Mercado (Parte V): Dados Alternativos FRED EURUSD
Na discussão de hoje, utilizamos dados alternativos diários do Federal Reserve de St. Louis sobre o Índice Amplo do Dólar dos EUA e um conjunto de outros indicadores macroeconômicos para prever a taxa de câmbio futura do EURUSD. Infelizmente, embora os dados aparentem ter uma correlação quase perfeita, não conseguimos obter ganhos materiais em nossa acurácia de modelo, o que pode nos indicar que os investidores talvez estejam melhores usando apenas as cotações normais do mercado.
Título no Connexus (Parte 3): dominando o uso de cabeçalhos HTTP em requisições
Continuamos o desenvolvimento da biblioteca Connexus. Neste capítulo, exploraremos o conceito de cabeçalhos no protocolo HTTP, explicando o que são, para que servem e como utilizá-los nas requisições. Analisaremos os principais cabeçalhos utilizados ao interagir com APIs e apresentaremos exemplos práticos de como configurá-los na biblioteca.
Classes de tabela e cabeçalho baseadas no modelo de tabela em MQL5: Aplicação do conceito MVC
Esta é a segunda parte do artigo dedicada à implementação de um modelo de tabela em MQL5, utilizando o paradigma arquitetural MVC (Model-View-Controller). O artigo aborda o desenvolvimento das classes da tabela e de seu cabeçalho, com base no modelo de tabela criado anteriormente. As classes desenvolvidas servirão como base para a futura implementação dos componentes de visualização (View) e controle (Controller), que serão abordados nos próximos artigos.
Do básico ao intermediário: Sub Janelas (I)
Aqui iremos começar a ver como trabalhar com sub janelas no MetaTrader 5. Usando para isto o MQL5. Porém, como este é um assunto bem longo e com diversas coisas mais ou menos complicadas, devido a algumas questões práticas. Sendo assim faremos apenas uma breve a rápida introdução ao assunto. No entanto, apesar disto, é necessário que você entenda o que será mostrado neste artigo, meu caro leitor. Pois isto poderá fazer uma enorme diferença no seu futuro.
MetaTrader 5 Global Optimizer II - Validação por Walk-Forward Efficiency
Apresentamos a integração do Walk-Forward Efficiency ao fluxo do MetaTrader 5 Global Optimizer. A matéria cobre a configuração pelo wizard (janelas ISS/OSS, passo, candidatos), a marcação de parâmetros no .mq5 e a seleção a partir dos TOP sets. O resultado é um processo auditável de validação fora da amostra, com WFE%, métricas consolidadas e relatórios que ajudam a medir robustez e generalização.
Do iniciante ao especialista: Sistema de análise autogeométrica
Os padrões geométricos oferecem aos traders uma forma concisa de interpretar o movimento dos preços. Muitos analistas desenham linhas de tendência, retângulos e outras figuras manualmente e, em seguida, baseiam suas decisões de negociação nas formações que enxergam. Neste artigo, examinaremos uma alternativa automatizada: o uso de MQL5 para detectar e analisar os padrões geométricos mais populares. Vamos detalhar a metodologia, discutir os detalhes da implementação e mostrar como o reconhecimento automático de padrões pode aprimorar a compreensão do mercado pelo trader.
Integrando MQL5 com pacotes de processamento de dados (Parte 4): Manipulação de Big Data
Explorando técnicas avançadas para integrar o MQL5 com ferramentas poderosas de processamento de dados, esta parte se concentra no tratamento eficiente de big data para aprimorar a análise de negociação e a tomada de decisões.
Construindo Expert Advisors Auto-Otimizáveis em MQL5 (Parte 5): Regras de Negociação Auto Adaptativas
As melhores práticas, que definem como usar um indicador com segurança, nem sempre são fáceis de seguir. Condições de mercado calmas podem, surpreendentemente, produzir leituras no indicador que não se qualificam como um sinal de negociação, levando à perda de oportunidades para traders algorítmicos. Este artigo irá sugerir uma solução potencial para esse problema, à medida que discutimos como construir aplicações de negociação capazes de adaptar suas regras de negociação aos dados de mercado disponíveis.
Corpo em Connexus (Parte 4): Adicionando suporte ao corpo de requisições HTTP
Neste artigo, abordamos o conceito de corpo nas requisições HTTP, que é necessário para o envio de dados como JSON e texto simples. Discutimos e explicamos como usá-lo corretamente junto com os cabeçalhos apropriados. Também introduzimos a classe ChttpBody, que faz parte da biblioteca Connexus e que irá simplificar o trabalho com o corpo das requisições.
Do básico ao intermediário: Sobrecarga de operadores (I)
Neste artigo começaremos a ver como seria a implementação da chamada sobrecarga de operadores. Iremos começar vendo a motivação por detrás de tal implementação. Assim como também veremos que nem sempre as coisas são tão complicadas como parecem.
Aplicando Seleção de Recursos Localizada em Python e MQL5
Este artigo explora um algoritmo de seleção de recursos introduzido no artigo 'Local Feature Selection for Data Classification' de Narges Armanfard et al. O algoritmo é implementado em Python para construir modelos de classificação binária que podem ser integrados com aplicativos MetaTrader 5 para inferência.
Do básico ao intermediário: Sobrecarga de operadores (IV)
Neste artigo faremos uma primeira abordagem a fim de trabalhar e demonstrar como podemos implementar a sobrecarga do operador subscrito e também do operador de atribuição. Tentando com isto trazer uma abordagem prática e que fosse interessante para todos. Porém o que será visto aqui, é apenas uma parte daquilo que pretendo ainda mostrar e que está diretamente ligado a sobrecarga de tais operadores.
Implementação do algoritmo criptográfico SHA-256 do zero em MQL5
Criar integrações com bolsas de criptomoedas sem arquivos DLL foi, por muito tempo, uma tarefa complexa, mas esta solução fornece uma base completa para conexão direta ao mercado.
Codificação ordinal de variáveis nominais
Neste artigo, discutiremos e demonstraremos como transformar variáveis nominais em formatos numéricos adequados para algoritmos de aprendizado de máquina, utilizando tanto Python quanto MQL5.
Do básico ao intermediário: Sobrecarga de operadores (VI)
Aqui iremos implementar a exclusão via sobrecarga de operador. E este com toda a certeza será um artigo, no qual muitos precisaram estudar por um longo período. Isto a fim de conseguir assimilar tudo o que será mostrado aqui. Mas quero lembrar a você, que o que veremos aqui, será apenas uma pequena e insignificante parte de tudo aquilo que é chamado programação.
Componentes View e Controller para tabelas no paradigma MVC em MQL5: Elementos de controle simples
No artigo são analisados elementos de controle simples como partes constituintes de elementos gráficos mais complexos do componente View no contexto da implementação de tabelas no paradigma MVC (Model-View-Controller). Foi implementado o funcional básico do componente Controller para a interação interativa dos elementos com o usuário e entre si. Este é o segundo artigo dedicado ao componente View e o quarto da série de artigos sobre a criação de tabelas para o terminal cliente MetaTrader 5.
Introdução às curvas ROC (Receiver Operating Characteristic)
As curvas ROC são representações gráficas utilizadas para avaliar o desempenho de classificadores. Apesar de os gráficos ROC serem relativamente simples, existem equívocos e armadilhas comuns ao utilizá-los na prática. Este artigo tem como objetivo fornecer uma introdução aos gráficos ROC como uma ferramenta para profissionais que buscam compreender a avaliação de desempenho de classificadores.
Reimaginando Estratégias Clássicas em MQL5 (Parte III): Previsão do FTSE 100
Nesta série de artigos, vamos revisitar estratégias de negociação já conhecidas para investigar se podemos aprimorá-las utilizando IA. No artigo de hoje, exploraremos o FTSE 100 e tentaremos prever o índice utilizando uma parte das ações individuais que compõem esse índice.
Do básico ao intermediário: Objetos e sub janelas (I)
O artigo detalha a criação e o posicionamento do objeto OBJ_CHART dentro de sub janelas, destacando nuances entre janela principal e subjanelas. Mostra como integrar indicadores com recursos (#resource, ChartIndicatorAdd) e identificar a sub janela correta por meio do nome curto do indicador. O resultado é um código mais estável, portátil e fácil de reutilizar.
Criando um Painel de Administração de Trading em MQL5 (Parte IX): Organização de Código (III): Módulo de Comunicação
Junte-se a nós para uma discussão aprofundada sobre os mais recentes avanços no design de interfaces em MQL5 enquanto apresentamos o Painel de Comunicações redesenhado e continuamos nossa série sobre a construção do Novo Painel de Administração utilizando princípios de modularização. Desenvolveremos a classe CommunicationsDialog passo a passo, explicando detalhadamente como herdá-la da classe Dialog. Além disso, utilizaremos arrays e a classe ListView em nosso desenvolvimento. Obtenha insights práticos para elevar suas habilidades em desenvolvimento MQL5 — leia o artigo e participe da discussão na seção de comentários!
WebSocket para MetaTrader 5: conexões assíncronas no lado do cliente usando a API do Windows
Neste artigo, descreve-se em detalhe o desenvolvimento de uma biblioteca DLL personalizada, destinada a simplificar conexões assíncronas no lado do cliente pelo protocolo WebSocket para programas MetaTrader.
Componente View para tabelas no paradigma MVC em MQL5: elemento gráfico básico
O artigo analisa o processo de desenvolvimento de um elemento gráfico básico para o componente View no contexto da implementação de tabelas no paradigma MVC (Model-View-Controller) na linguagem MQL5. Este é o primeiro artigo dedicado ao componente View e o terceiro da série de artigos sobre a criação de tabelas para o terminal cliente MetaTrader 5.
Solicitação no Connexus (Parte 6): Criando uma Requisição e Resposta HTTP
Neste sexto artigo da série da biblioteca Connexus, focamos em uma requisição HTTP completa, cobrindo cada componente que compõe uma requisição. Criamos uma classe que representa a requisição como um todo, o que nos ajudou a reunir as classes criadas anteriormente.
Do básico ao intermediário: Filas, Listas e Árvores (VIII)
Neste artigo veremos como implementar um algoritmo de balanceamento da árvore. O que será visto aqui, é a minha proposta para este tipo de mecanismo. Existem diversos outros mecanismos com o mesmo tipo de objetivo. Porém cada um tem seus problemas e suas vantagens. Depende de você, meu caro leitor, estudar e procurar encontrar o que melhor irá lhe atender.
Do básico ao intermediário: Sobrecarga de operadores (V)
Neste artigo iremos ver como podemos manipular um código a fim de implementar algo completamente diferente daquilo que muitos acreditam ser possível ser feito no MQL5. Uma observação importante: Para entender de maneira adequada o que será visto aqui, é necessário que os conceitos vistos nos artigos anteriores tenham sido devidamente compreendidos.
Do iniciante ao especialista: criação de um EA animado para notícias em MQL5 (VI): Estratégia de trading pós-notícia
Durante o primeiro minuto após a divulgação de notícias econômicas importantes, o risco de erro de avaliação é extremamente alto. Nesse curto intervalo, o movimento do preço pode ser errático e volátil, frequentemente levando ao acionamento de ordens pendentes dos dois lados do mercado. Pouco depois da publicação, geralmente dentro de um minuto, o mercado tende a se estabilizar, retomando ou corrigindo a tendência predominante em patamares mais normais de volatilidade. Nesta seção, examinaremos uma abordagem alternativa para o trading baseado em notícias, a fim de avaliar sua eficácia como um complemento valioso ao conjunto de ferramentas do trader. Continue lendo para acompanhar mais detalhes desta discussão.
Tabelas no paradigma MVC em MQL5: Integramos o componente Model ao componente View
Neste artigo, criaremos a primeira versão do elemento de controle TableControl (TableView). Será uma tabela estática simples, criada com base nos dados de entrada definidos por dois arrays: um array de dados e um array de cabeçalhos de coluna.
Do básico ao intermediário: Sobrecarga de operadores (II)
Este será um artigo que a principio irá parecer bem confuso devido ao que será mostrado nele. Porém tentei deixar as coisas o mais simples e didáticas quanto foi possível ser feito. Espero que você consiga compreender o que estará sendo demonstrando neste artigo. E que isto venha a lhe ser útil em algum momento.
Dominando registros de log (Parte 2): Formatação dos logs
Neste artigo, estudaremos a criação e aplicação de programas de formatação para bibliotecas de logs. Examinaremos todas as etapas, desde a estrutura básica de um programa de formatação até exemplos práticos de implementação. Ao final do artigo, você terá todo o conhecimento necessário para realizar a formatação de logs dentro de uma biblioteca e entenderá como tudo funciona nos bastidores.
Do iniciante ao especialista: Criação de um EA de notícias animado em MQL5 (II)
Hoje damos mais um passo à frente, integrando uma API externa de notícias como fonte de manchetes para o nosso EA "Manchetes de notícias". Nesta etapa, vamos explorar diferentes fontes de notícias, tanto já existentes quanto novas, e aprender como usar suas APIs de forma eficiente. Também veremos métodos para fazer o parsing dos dados recebidos em um formato otimizado para exibição no nosso EA. Acompanhe a discussão enquanto analisamos as vantagens de usar manchetes de notícias e o calendário econômico diretamente no gráfico. Tudo isso em uma interface compacta e discreta.