Do básico ao intermediário: União (II)
Este será um artigo muito divertido e bastante curioso em diversos aspectos. Ele abordará a união para resolver um problema discutido anteriormente. Além disso, exploraremos algumas situações inusitadas que podem surgir ao usar uma união em aplicativos. O conteúdo exposto aqui visa pura e simplesmente a didática. De modo algum deve ser encarado como uma aplicação cuja finalidade não seja o aprendizado e estudo dos conceitos mostrados.
Do básico ao intermediário: Eventos (I)
Com base em tudo que já foi mostrado e visto até este ponto. Acredito que já podemos começar a implementar algum tipo de aplicação para ser executada diretamente no gráfico de algum ativo. Mas antes mesmo de podermos fazer isto, precisamos falar de uma coisa que para iniciantes é bastante confusa. Que é justamente o fato de que o aplicações desenvolvidas em MQL5, e voltadas para serem vistas em um gráfico, não são criadas da mesma forma que vimos até este momento. Neste artigo começaremos a entender um pouco melhor sobre isto.
Criando um Painel Administrativo de Negociação em MQL5 (Parte II): Aprimorando a Responsividade e Mensagens Rápidas
Neste artigo, vamos aprimorar a responsividade do Painel Administrativo que criamos anteriormente. Além disso, vamos explorar a importância das mensagens rápidas no contexto de sinais de negociação.
Desenvolvendo um sistema de Replay (Parte 57): Dissecando o serviço de testagem
Neste artigo iremos dissecar o serviço de teste que foi visto no artigo anterior. Mas por conta que lá já havia muita informação, e não queria complicar a coisa toda com mais informações. Vamos fazer isto neste artigo daqui. Então se você não tem ideia de como o serviço que foi visto no artigo anterior, permitia que as coisas funcionassem daquela forma. Venha comigo neste artigo para compreender o que será base para os próximos artigos.
Redes neurais de maneira fácil (Parte 91): previsão na área de frequência (FreDF)
Continuamos a explorar a análise e previsão de séries temporais na área de frequência. E nesta matéria, apresentaremos um novo método de previsão nessa área, que pode ser adicionado a muitos dos algoritmos que já estudamos anteriormente.
Formulando um EA Dinâmico de Múltiplos Pares (Parte 1): Correlação e Correlação Inversa entre Moedas
O Expert Advisor dinâmico de múltiplos pares utiliza estratégias de correlação e correlação inversa para otimizar o desempenho nas negociações. Ao analisar dados de mercado em tempo real, ele identifica e explora as relações entre os pares de moedas.
Do básico ao intermediário: Indicador (III)
Neste artigo iremos ver como declarar diversos indicadores de plotagem, como DRAW_COLOR_LINE e DRAW_FILLING. Além é claro, aprender como plotar indicadores múltiplos de uma forma muito simples, prática e pouco trabalhosa. Agora que realmente pode mudar a sua forma de enxergar o MetaTrader 5 e o mercado em geral.
Otimização e ajuste fino do código-fonte para melhorar os resultados do backtesting
Melhore seu código MQL5 otimizando a lógica, aprimorando os cálculos e reduzindo o tempo de execução para aumentar a precisão do backtesting. Ajuste finamente os parâmetros, otimize loops e elimine ineficiências para melhorar o resultado.
Gerenciamento de riscos (Parte 5): Integração do sistema de gerenciamento de riscos ao EA
Neste artigo, implementaremos o sistema de gerenciamento de risco desenvolvido em publicações anteriores e adicionaremos o indicador Order Blocks apresentado em outros artigos. Além disso, será realizado um backtest para comparar os resultados com a aplicação do sistema de gerenciamento de risco e para avaliar o impacto do risco dinâmico.
Simulação de mercado (Parte 14): Sockets (VIII)
Muitos poderiam sugerir, que deveríamos abandonar o Excel, e usar o Python pura e simplesmente. Fazendo uso de alguns pacotes que permitiriam ao Python criar um arquivo de Excel, para que pudéssemos analisar os resultados depois. Mas como foi dito no artigo anterior, apesar desta solução ser a mais simples, pelo ponto de vista de muitos programadores. Ela de fato, não será bem vista, pelos olhos de alguns usuários. E nesta história toda, o usuário tem sempre razão. Você como programador deve, encontrar alguma forma ou alguma maneira de fazer as coisas funcionarem.
Criando um painel de administração de trading em MQL5 (Parte VII): Usuário confiável, recuperação e criptografia
Alertas de segurança, como aqueles que aparecem sempre que o gráfico é atualizado, uma nova par é adicionada ao chat do painel administrativo do EA ou o terminal é reiniciado, podem se tornar cansativos. Nesta discussão, vamos analisar e implementar uma função que rastreia o número de tentativas de login para identificar um usuário confiável. Após um determinado número de tentativas malsucedidas, o aplicativo passará para um procedimento avançado de login, que também facilita a recuperação de senha para usuários que possam tê-la esquecido. Além disso, veremos como é possível integrar de forma eficiente a criptografia no painel administrativo para aumentar a segurança.
Desenvolvendo um sistema de Replay (Parte 52): Complicando as coisas (IV)
Neste artigo vamos fazer uma mudança no indicador de mouse a fim de poder efetuar a interação com o indicador de controle, já que a interação está sendo feita de forma errática.
MQL5 Trading Toolkit (Parte 4): Desenvolvendo uma Biblioteca EX5 de Gerenciamento de Histórico
Aprenda a recuperar, processar, classificar, ordenar, analisar e gerenciar posições fechadas, ordens e históricos de negociações usando MQL5, criando uma ampla biblioteca EX5 de Gerenciamento de Histórico com um método detalhado passo a passo.
Algoritmo da viagem evolutiva no tempo — Time Evolution Travel Algorithm (TETA)
Meu algoritmo original. Neste artigo é apresentado o Algoritmo da Viagem Evolutiva no Tempo (TETA), inspirado no conceito de universos paralelos e fluxos temporais. A ideia central do algoritmo é que, embora a viagem no tempo no sentido convencional seja impossível, podemos escolher uma sequência de eventos que leva a diferentes realidades.
Simulação de mercado (Parte 04): Iniciando a classe C_Orders (I)
Neste artigo vamos começar a montar a classe C_Orders, para poder enviar pedidos ao servidor de negociação. Vamos fazer isto aos pouco. Já que o intuito será explicar o mais detalhadamente possível como isto será feito, via sistema de mensagens.
Do básico ao intermediário: Template e Typename (II)
Neste artigo será mostrado como lidar com uma das situações mais chatas e complicadas em termos de programação, que você poderá vir a enfrentar. O uso de tipos diferentes em um mesmo template de função ou procedimento. Apesar de aqui termos focado quase o tempo todo apenas em funções. Tudo que foi visto aqui, serve e pode ser aplicado a procedimentos.
Gerenciamento de riscos (Parte 2): Implementação do cálculo de lotes na interface gráfica
Neste artigo, analisaremos como aprimorar e aplicar de forma mais eficiente os conceitos apresentados no artigo anterior, utilizando as poderosas bibliotecas de elementos gráficos de controle do MQL5. Conduzirei você passo a passo pelo processo de criação de uma interface gráfica totalmente funcional, explicando o plano de projeto subjacente, bem como o propósito e o princípio de funcionamento de cada método empregado. Além disso, ao final do artigo testaremos o painel criado, a fim de confirmar seu correto funcionamento e sua aderência aos objetivos estabelecidos.
Mecanismos de gating em aprendizado por ensemble
Neste artigo, continuamos nossa exploração de modelos ensemble discutindo o conceito de gates, especificamente como eles podem ser úteis na combinação das saídas dos modelos para aprimorar a precisão das previsões ou a generalização do modelo.
Desenvolvendo um sistema de Replay (Parte 62): Dando play no serviço (III)
Neste artigo começaremos a resolver, o detalhe sobre o excesso de ticks, que pode acometer a aplicação, quando usamos dados reais. Tal excesso faz com que o serviço muitas das vezes dificulta a correta temporização a fim de conseguir construir a barra de um minuto dentro da janela adequada.
Simulação de mercado (Parte 03): Uma questão de performance
Muitas vezes somos obrigados a dar um passo para trás para logo depois dar alguns passos a frente. Neste artigo irei mostrar todas as mudanças que foram necessárias serem feitas para que os indicadores de Mouse e Chart Trade não viessem a ter a sua performance comprometidas. Como bônus irei já apresentar outras mudanças que ocorreram em outros arquivos de cabeçalho, que serão muito usados no futuro.
Reconhecimento de Padrões Usando Dynamic Time Warping em MQL5
Neste artigo, discutimos o conceito de dynamic time warping como uma forma de identificar padrões preditivos em séries temporais financeiras. Veremos como ele funciona e também apresentaremos sua implementação em MQL5 puro.
DoEasy. Controles (Parte 25): Objeto WinForms Tooltip
Neste artigo, começaremos a desenvolver o controle Tooltip (dica de ferramenta) e começaremos a criar novas primitivas gráficas para a biblioteca. Naturalmente, nem todo elemento tem uma dica de ferramenta, mas todo objeto gráfico pode ter uma.
Algoritmo de Busca Cooperativa Artificial (Artificial Cooperative Search, ACS)
Apresentamos o algoritmo Artificial Cooperative Search (ACS). Este método inovador utiliza uma matriz binária e várias populações dinâmicas, baseadas em relações mutualísticas e cooperação, para encontrar rapidamente e com precisão soluções ótimas. A abordagem única do ACS em relação a "predadores" e "presas" permite alcançar excelentes resultados em problemas de otimização numérica.
Do básico ao intermediário: Struct (II)
Neste artigo iremos entender por que estrutura foram criadas em linguagens de programação como o MQL5. Assim como também por que alguns momentos, estruturas formas ideais de transferir valores entre funções e procedimentos. Enquanto em outros momentos, elas podem não ser a melhor forma de se fazer isto.
Algoritmo de otimização baseado em brainstorming — Brain Storm Optimization (Parte II): Multimodalidade
Na segunda parte do artigo, vamos para a implementação prática do algoritmo BSO, realizaremos testes com funções de teste e compararemos a eficiência do BSO com outros métodos de otimização.
Do básico ao intermediário: Array (III)
Neste artigo iremos ver como trabalhar com arrays no MQL5, a ponto de transferir informações entre funções e procedimentos, utilizando arrays para isto. O objetivo aqui é lhe preparar para o que será visto e explicado em artigos futuros. No entanto, é extremamente recomendado que você estude muito bem o que será mostrado neste artigo. O conteúdo exposto aqui, visa e tem como objetivo, pura e simplesmente a didática. De modo algum deve ser encarado como uma aplicação final, onde o objetivo não seja o estudo dos conceitos aqui mostrados.
Do básico ao intermediário: Objetos (II)
Neste artigo veremos como controlar de forma simples via código algumas propriedades de objetos. Vermos como podemos colocar mais de um objeto em um mesmo gráfico, usando para isto uma aplicação. E além disto, começaremos a ver a importância de definir um nome curto, para todo e qualquer indicador que venhamos a implementar.
Do iniciante ao especialista: Criação de um EA animado para notícias em MQL5 (VIII): botões de negociação rápida para trading de notícias
Enquanto os sistemas algorítmicos de trading gerenciam operações automatizadas, muitos traders de notícias e scalpers preferem manter controle ativo durante eventos importantes de notícias e condições de mercado que mudam rapidamente, exigindo execução e gestão rápidas das ordens. Isso evidencia a necessidade de ferramentas de interface intuitivas que integrem feeds de notícias em tempo real, dados do calendário econômico, leituras dos indicadores, análises baseadas em IA e gestão adaptativa do trading.
Do básico ao intermediário: Sub Janelas (III)
Este texto detalha o uso de sub janelas em indicadores MQL5: criação básica, detecção de instâncias e prevenção de duplicações. Aborda INDICATOR_SHORTNAME, consulta de janelas/indicadores do gráfico e a diferença entre exibição no gráfico principal e em janela separada. Mostra ainda como definir altura e limites da sub janela para padronizar a interface e facilitar a disposição de objetos.
Do básico ao intermediário: Array (IV)
Neste artigo iremos ver como podemos fazer algo muito parecido com o encontrado em linguagens como C, C++ e Java. Onde podemos enviar um número quase infinito de parâmetros para dentro de uma função ou procedimento. Apesar de aparentemente ser um tópico avançado. Na minha visão, o que será visto aqui, pode muito bem ser implementado por qualquer iniciante. Desde que ele tenha compreendido os conceitos vistos arteriormente. 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 Vantagem em Qualquer Mercado (Parte IV): Índices de Volatilidade do Euro e do Ouro da CBOE
Vamos analisar dados alternativos selecionados pela Chicago Board Of Options Exchange (CBOE) para melhorar a precisão de nossas redes neurais profundas ao prever o símbolo XAUEUR.
Do básico ao intermediário: Eventos em Objetos (I)
Neste artigo irei ver três dos seis eventos que podem ser disparado pelo MetaTrader 5, quando algo acontece a um objeto presente no gráfico. Estes evento são muito uteis quando o assunto é interação com o usuário. Isto por que sem entender estes eventos, você irá ter muito mais trabalho para manter uma certa configuração no gráfico. Tentando controlar objetos com finalidades específicas.
Desenvolvendo um sistema de Replay (Parte 54): O nascimento do primeiro módulo
Neste artigo, iremos ver como construir o primeiro dos módulos, realmente funcional a fim de ser utilizado no sistema de replay / simulador. Além de ter como proposito geral servir para outras coisas também. O módulo que será construído aqui será o do indicador de mouse.
Do básico ao intermediário: Precedência de operadores
Este é com toda a certeza, o assunto mais complicado de explicar somente utilizando a parte teórica do mesmo. Sendo assim, aconselho a você, meu caro leitor, procurar praticar o que será mostrado aqui. Mesmo quando tudo parece simples a principio, esta questão sobre operadores, de fato, somente será bem compreendida com a pratica aliada ao estudo constante. 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.
Exemplo de CNA (Análise de Rede de Causalidade), SMOC (Controle Otimizado com Modelo Estocástico) e Teoria dos Jogos de Nash com Aprendizado Profundo
Adicionaremos Aprendizado Profundo a esses três exemplos que foram publicados em artigos anteriores e compararemos os resultados com os anteriores. O objetivo é aprender como adicionar Deep Learning a outros EAs.
Criação de um painel de administração de trading em MQL5 (Parte V): Autenticação de dois fatores (2FA)
Este artigo aborda o aumento da segurança do painel de administração de trading, atualmente em desenvolvimento. Vamos explorar como integrar o MQL5 a uma nova estratégia de segurança, utilizando a API do Telegram para autenticação de dois fatores (2FA). O artigo traz informações valiosas sobre a aplicação de MQL5 para reforçar medidas de segurança. Além disso, veremos a função MathRand, focando em sua funcionalidade e na forma como pode ser usada de forma eficiente em nosso sistema de segurança.
Desenvolvimento do Toolkit de Análise de Price Action (Parte 15): Introduzindo a Teoria dos Quartos (I) — Script Quarters Drawer
Pontos de suporte e resistência são níveis críticos que sinalizam possíveis reversões e continuações de tendência. Embora identificar esses níveis possa ser desafiador, uma vez que você os localiza, estará bem preparado para navegar no mercado. Para obter ajuda adicional, confira a ferramenta Quarters Drawer apresentada neste artigo; ela ajudará você a identificar tanto níveis primários quanto secundários de suporte e resistência.
Desenvolvendo um sistema de Replay (Parte 58): Voltando a trabalhar no serviço
Depois de ter dado um tempo no desenvolvimento e aperfeiçoamento do serviço usado no replay / simulação. Iremos voltar a trabalhar nele. Mas como já não iremos mais usar alguns recursos, como as variáveis globais de terminal, se torna necessário uma completa reestruturação de algumas partes do mesmo. Mas não fiquem aflitos, tal processo será adequadamente explicado, para que todos consigam de fato acompanhar o desenrolar do desenvolvimento do serviço.
Do básico ao intermediário: Array e String (III)
Neste artigo iremos ver duas coisas. A primeira é como a biblioteca padrão consegue transformar valores binários em outras formas de representação, como octal, decimal e hexadecimal. A segunda coisa será a de como poderíamos com o conhecimento mostrado até aqui, definir uma largura para nossa senha, baseada em uma frase secreta. 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: Array (II)
Neste artigo vamos ver o que seria um array dinâmico e um array estático. Existe diferença em usar um ou outro? Ou ambos são sempre a mesma coisa? Quando devo usar um e quando usar o outro? E os arrays constantes? Por que eles existem e qual o risco que estou correndo, quando não inicializo todos os valores de um array? Pressupondo que eles serão iguais a zero. O conteúdo exposto aqui, visa e tem como objetivo, pura e simplesmente a didática. De modo algum deve ser encarado como uma aplicação final, onde o objetivo não seja o estudo dos conceitos aqui mostrados.