Implementando um algoritmo de treinamento ARIMA em MQL5
Neste artigo, implementaremos um algoritmo que aplica o modelo integrado de autorregressão com média móvel (modelo Box-Jenkins) usando o método de minimização de função de Powell. Box e Jenkins afirmaram que a maioria das séries temporais pode ser modelada usando uma ou ambas das duas estruturas.
Combine Estratégias de Análise Fundamental e Técnica no MQL5 Para Iniciantes
Neste artigo, discutiremos como integrar princípios de seguimento de tendência e análise fundamental em um único Expert Advisor para construir uma estratégia mais robusta. Este artigo demonstrará como qualquer pessoa pode facilmente começar a construir algoritmos de trading personalizados usando MQL5.
DoEasy. Controles (Parte 14): Novo algoritmo para nomear elementos gráficos. Continuando o trabalho no objeto WinForms TabControl
Neste artigo, elaboraremos um novo algoritmo para nomear todos os elementos gráficos que permitem criar gráficos personalizados, e continuaremos desenvolvendo o objeto WinForms TabControl.
Desenvolvendo um sistema de Replay (Parte 34): Sistema de Ordens (III)
Vamos neste artigo concluir a primeira fase da construção. Será algo relativamente rápido, mas explicarei detalhes que podem não ter sido comentados no passado. Mas ainda assim aqui explicarei algumas coisas que muitos não entender por que são como são. Um destes casos é o Mouse. Você sabe o motivo de ter que pressionar a tecla Shift ou Ctrl no teclado ?!?!
Aprendendo MQL5 do iniciante ao profissional (Parte III): Tipos de dados complexos e arquivos inclusos
O artigo é o terceiro de uma série sobre os aspectos fundamentais da programação em MQL5. Aqui são descritos tipos de dados complexos que não foram abordados no artigo anterior, incluindo estruturas, uniões, classes e o tipo de dado "função". Também é explicado como adicionar modularidade ao programa utilizando a diretiva de pré-processador #include.
DoEasy. Controles (Parte 16): Objeto WinForms TabControl - múltiplas fileiras de cabeçalhos de guias, modo esticamento de cabeçalhos consoante o tamanho do contêiner
Neste artigo vamos continuar o desenvolvimento do controle TabControl, e trataremos da localização dos cabeçalhos das guias nos quatro lados do controle para todos os modos de tamanho de cabeçalho: "Normal", "Fixed" e "Fill To Right".
Do básico ao intermediário: Diretiva Include
Neste artigo, vamos falar de uma diretiva de compilação, muito utilizada nos mais diversos códigos que você poderá ver em MQL5. Apesar desta diretiva de compilação ser explicada aqui de maneira bem básica e superficial. É importante que comecemos a entender como usar ela. Já que em breve ela será indispensável para continuarmos em direção a um nível de programação maior. 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.
DoEasy. Controles (Parte 26): Apurando o objeto WinForms "ToolTip" e desenvolvendo o "ProgressBar".
Neste artigo vamos completar o desenvolvimento do controle ToolTip e começar a desenvolver o objeto WinForms ProgressBar. Ao trabalharmos nesses objetos, desenvolveremos uma funcionalidade versátil para animar os controles e seus componentes.
Permutação das barras de preços no MQL5
Neste artigo, apresentamos um algoritmo de permutação das barras de preços e detalhamos como os testes de permutação podem ser usados para identificar casos em que o desempenho de uma estratégia é inventado com o objetivo de enganar potenciais compradores de Expert Advisors.
Estratégia de Bill Williams com e sem outros indicadores e previsões
Neste artigo, vamos dar uma olhada em uma das estratégias famosas de Bill Williams, discuti-la e tentar melhorá-la com outros indicadores e previsões.
DoEasy. Controles (Parte 22): SplitContainer. Alterando as propriedades do objeto criado
Neste artigo, implementamos a alteração das propriedades e da aparência do controle SplitContainer após sua criação.
Algoritmo de Busca Orbital Atômica — Atomic Orbital Search (AOS)
O artigo aborda o algoritmo AOS (Atomic Orbital Search), que utiliza conceitos do modelo orbital atômico para simular a busca por soluções. O algoritmo se baseia em distribuições probabilísticas e na dinâmica das interações dentro de um átomo. O artigo discute detalhadamente os aspectos matemáticos do AOS, incluindo a atualização das posições dos candidatos a soluções e os mecanismos de absorção e emissão de energia. O AOS abre novos caminhos para a aplicação de princípios quânticos em tarefas computacionais, oferecendo uma abordagem inovadora para a otimização.
Como criar um Consultor Especializado Multi-Moedas simples usando MQL5 (Parte 7): ZigZag com Sinais dos Indicadores Awesome Oscillator
O consultor especializado multi-moedas neste artigo é um consultor especializado ou negociação automatizada que usa o indicador ZigZag, filtrado com o Awesome Oscillator ou que filtram os sinais um do outro.
Teoria das Categorias em MQL5 (Parte 10): Grupos monoides
Esse artigo é uma continuação da série sobre como implementar a teoria das categorias em MQL5. Nele, consideramos os grupos monoides como um meio de normalizar os conjuntos monoides e permitir uma comparação mais precisa em um espectro mais amplo de conjuntos monoides e tipos de dados.
Desenvolvendo um agente de Aprendizado por Reforço em MQL5 com Integração RestAPI (Parte 4): Organizando Funções em Classes no MQL5
Este artigo examina a transição da codificação procedural para a Programação Orientada a Objetos (POO) no MQL5, com foco na integração com REST APIs. Discutimos como organizar funções de requisições HTTP (GET e POST) em classes, ressaltando vantagens como encapsulamento, modularidade e facilidade de manutenção. A refatoração de código é detalhada, mostrando a substituição de funções isoladas por métodos de classes. O artigo inclui exemplos práticos e testes.
Como Implementar Otimização Automática em Expert Advisors MQL5
Guia passo a passo para otimização automática em MQL5 para Expert Advisors. Vamos abordar uma lógica de otimização robusta, boas práticas para seleção de parâmetros e como reconstruir estratégias com backtesting. Além disso, métodos mais avançados como a otimização walk-forward serão discutidos para aprimorar sua abordagem de trading.
DoEasy. Controles (Parte 21): O controle SplitContainer. Separador de painéis
Neste artigo, criaremos uma classe do objeto separador de painéis auxiliar para o controle SplitContainer.
Desenvolvendo um sistema de Replay (Parte 71): Acertando o tempo (IV)
Aqui neste artigo, mostrarei como implementar o que foi visto no artigo passado, dentro do serviço de replay/simulação. Mas como tudo nesta vida, costuma dar algum tipo de problema. Aqui não foi uma exceção. Então acompanhe o artigo e veja o que será tema para o próximo artigo desta serie. 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.
Expert Advisor Auto-otimizável com MQL5 e Python (Parte IV): Empilhamento de Modelos
Hoje, vamos demonstrar como você pode construir aplicações de trading com IA capazes de aprender com os próprios erros. Vamos demonstrar uma técnica conhecida como stacking (empilhamento), na qual usamos 2 modelos para fazer 1 previsão. O primeiro modelo é tipicamente um aprendiz mais fraco, e o segundo modelo normalmente é um modelo mais poderoso que aprende com os resíduos do nosso aprendiz mais fraco. Nosso objetivo é criar um conjunto de modelos (ensemble), na esperança de alcançar maior acurácia.
Exemplo de novo Indicador e LSTM Condicional
Este artigo explora o desenvolvimento de um Expert Advisor (EA) para trading automatizado que combina análise técnica com previsões de deep learning.
Algoritmos de otimização populacionais: Algoritmo semelhante ao eletromagnetismo (EM)
O artigo descreve os princípios, os métodos e as possibilidades de aplicação do EM a diferentes problemas de otimização. Ele uma ferramenta de otimização eficiente, capaz de lidar com grandes quantidades de dados e funções multidimensionais.
Algoritmos de otimização populacionais: algoritmo de otimização de forrageamento bacteriano (BFO)
A base da estratégia de forrageamento de E. coli (E. coli) inspirou cientistas a desenvolverem o algoritmo de otimização BFO. Esse algoritmo apresenta ideias originais e abordagens promissoras para otimização e merece um estudo mais aprofundado.
Desenvolvendo um sistema de Replay (Parte 39): Pavimentando o Terreno (III)
Antes de começarmos a segunda fase de desenvolvimento, é preciso reforçar algumas ideias. Então você sabe como forçar o MQL5 a fazer o que é preciso ser feito ?!?! Já tentou ir além do que a documentação informar ?!?! Se não. Se prepare. Pois irei começar a fazer coisas muito além do que grande parte faz normalmente.
Desenvolvendo um sistema de Replay (Parte 56): Adequando os Módulos
Apesar dos módulos estarem se comunicando de maneira adequada, existe uma falha quando é tentado usar o indicador de mouse no serviço de replay. Precisamos corrigir isto agora, antes de dar o próximo passo. Além disto, havia uma falha que finalmente foi devidamente corrigida no código do indicador de mouse. Então esta versão finalmente se tornou estável, e devidamente finalizada.
Algoritmos de otimização populacionais: algoritmo de baleias (Whale Optimization Algorithm, WOA)
O algoritmo de otimização de baleias (WOA) é um algoritmo metaheurístico inspirado pelo comportamento e pelas estratégias de caça das baleias-jubarte. A ideia principal do WOA é imitar o chamado método de alimentação "rede de bolhas", em que as baleias criam bolhas ao redor de suas presas para depois atacá-las em um movimento espiral.
Desenvolvendo um sistema de Replay (Parte 47): Projeto do Chart Trade (VI)
Finalmente o Indicador Chart Trade passa a se comunicar com algum Expert Advisor, podendo lançar as informações de modo interativo. Então neste artigo iremos finalizar, o indicador Chart Trade, o tornando funcional a ponto de podermos usá-lo em conjunto com algum Expert Advisor. O que iremos fazer, irá nos permitir, acessar e trabalhar com o indicador, como se ele estivesse de fato ligado ao Expert Advisor. Mas vamos fazer isto de uma maneira, bem mais interessante do que foi feito lá no passado.
DoEasy. Controles (Parte 3): Criando controles vinculados
Neste artigo, analisaremos a criação de controles subordinados, vinculados ao elemento que serve de base, criados diretamente por meio da funcionalidade do controle base. Além da tarefa definida acima, trabalharemos um pouco no objeto sombra do elemento gráfico, pois ainda persistem alguns erros de lógica ao aplicá-lo a qualquer um dos objetos que permitem ter sombra.
Desenvolvendo um sistema de Replay (Parte 59): Um novo futuro
O correto entendimento das coisas, nos permite fazer mais e com menos esforço. Neste artigo irei explicar por que temos que temporizar a colocação do template, antes do serviço realmente começar a mexer no gráfico. Além disto, que tal melhorar o indicador de mouse, para podermos fazer mais coisas com ele.
Do básico ao intermediário: Operadores
Neste artigo vamos ver um pouco sobre os operadores básicos. Apesar de ser um assunto bem fácil de ser compreendido. Existem alguns pequenos detalhes, que fazem muita diferença na hora de colocar expressões matemáticas em formato de código. Sem entender de maneira adequada tais detalhes. Muitos programadores com quase nenhuma experiência, acabam desistindo de tentar criar suas próprias soluções.
Do básico ao intermediário: Variáveis (I)
Muitos programadores em inicio tem muitas dificuldades em compreender, por que seus códigos não funcionam como eles esperam. Existem muitos detalhes que torna um código de fato funcional. Não é somente digitar toda uma série de funções e operação que faz um código funciona. Então que tão aprender da maneira correta, como se cria um código real. Ao invés de ficar copiando e colando partes de código encontrados aqui e ali? 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.
Do básico ao intermediário: Estruturas (IV)
Neste artigo, veremos como produzir o chamado código estrutural. Onde colocamos dentro de uma estrutura, todo o contexto e formas de manipular variáveis e informações, a fim de gerar um contexto adequado para implementação de um código qualquer. Veremos a necessidade de se fazer uso da clausula private, a fim de separar o que é ou não público. Fazendo assim com que a regra do encapsulamento seja respeitada e que o contexto pelo qual uma estrutura de dados tenha sido criada seja mantido.
Do básico ao intermediário: Variáveis (III)
Aqui iremos ver como usar variáveis e constantes predefinidas pela linguagem MQL5. Além disto iremos dar uma rápida pincelada em um outro tipo especial de variável, que são as funções. Existem diversas situações em que saber como trabalhar da forma correta com tais variáveis, pode ser a diferença entre uma aplicação que funciona e uma que não funciona. O requisito para entender o que será visto aqui, é ter compreendido o que foi visto nos artigos anteriores.
Gráficos na biblioteca DoEasy (Parte 97): Processando o movimento dos objetos-forma independentemente
No artigo de hoje, veremos como gerar o movimento independente de qualquer objeto-forma por meio do mouse, além disso, complementaremos a biblioteca com mensagens de erro e com as novas propriedades de negócios que foram introduzidas anteriormente no terminal e em MQL5.
Do básico ao intermediário: Comando SWITCH
Neste artigo iremos aprender como utilizar o comando SWITCH em sua forma mais simples e básica. 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.
Redes neurais e m trading: Aumento da eficiência do Transformer por meio da redução da nitidez (Conclusão)
O SAMformer propõe uma solução para os principais problemas do Transformer na previsão de séries temporais de longo prazo, incluindo a complexidade do treinamento e a fraca capacidade de generalização em amostras pequenas. Sua arquitetura rasa e a otimização com consideração da nitidez garantem o desvio de mínimos locais ruins. Neste artigo, continuaremos a implementação das abordagens utilizando MQL5 e avaliaremos seu valor prático.
DoEasy. Controles (Parte 31): Rolando o conteúdo do controle "ScrollBar"
Neste artigo, criaremos a funcionalidade para rolar o conteúdo do contêiner usando os botões da barra de rolagem horizontal.
Algoritmos de otimização populacionais: Algoritmo de pesquisa gravitacional (GSA)
O GSA é um algoritmo populacional inspirado na natureza inanimada. Sua capacidade de modelar com alta precisão a interação entre corpos físicos, através da lei da gravidade de Newton incorporada no algoritmo, permite contemplar um espetáculo fascinante de dança entre sistemas planetários e aglomerados galácticos, representado de forma impressionante em animações. Hoje vamos discutir um dos algoritmos de otimização mais interessantes e originais. Um simulador de movimento de objetos espaciais está incluído.
Algoritmos de otimização populacionais: Algoritmo de mudas, semeadura e crescimento (SSG)
O algoritmo de “mudas, semeadura e crescimento” (Saplings Sowing and Growing up, SSG) é inspirado em um dos organismos mais resistentes do planeta, um exemplo notável de sobrevivência em inúmeras condições.
Ganhe Uma Vantagem Sobre Qualquer Mercado
Aprenda como você pode se destacar em qualquer mercado que deseja negociar, independentemente do seu nível atual de habilidade.
Paradigmas de programação (Parte 1): Abordagem procedural para desenvolvimento de Expert Advisors com base na dinâmica de preços
Aprenda sobre paradigmas de programação e suas aplicações no código MQL5. Neste artigo, exploramos as características da programação procedural, além de oferecer exemplos práticos. Você aprenderá como desenvolver um Expert Advisor baseado na dinâmica de preços (Price Action), utilizando o indicador EMA e dados de velas. Além disso, o artigo apresenta o paradigma da programação funcional.