Gerenciando otimizações (Parte 2): Cirando a lógica do aplicativo e objetos chave
Este artigo é uma continuação da publicação anterior sobre a criação de uma interface gráfica para gerenciar otimizações. Nele, abordaremos a lógica do robô para o complemento a ser criado. Criaremos um wrapper que permitirá iniciar o terminal MetaTrader 5 como um processo gerenciado através do C#. Também consideraremos o trabalho com arquivos de configuração. Dividiremos a lógica do programa em duas partes, a primeira descreverá os métodos chamados após pressionar uma tecla específica e a segunda, a parte da inicialização e do gerenciamento de otimizações.
Teoria das probabilidades e estatística matemática com exemplos (Parte I): fundamentos e teoria elementar
Fazer trading é sempre sobre como tomar decisões diante da incerteza. Isso significa que os resultados das decisões tomadas não são muito óbvios no momento em que são tomadas. Por isso, são importantes as abordagens teóricas para a construção de modelos matemáticos que possibilitem descrever tais situações de maneira significativa.
Visualização dos resultados de otimização pelo critério selecionado
No artigo, continuamos a desenvolver o aplicativo MQL para trabalhar com resultados de otimização que foi iniciado em artigos anteriores. Desta vez, veremos um exemplo em que podemos gerar uma tabela de melhores resultados após a otimização de parâmetros, especificando através da interface gráfica outro critério.
Modelo de regressão universal para predição do preço do mercado
O preço de mercado é formado pelo estável equilíbrio entre demanda e fornecimento que, por sua vez, depende de uma variedade de fatores econômicos, políticos e psicológicos. As diferenças na natureza também como causas de influência destes fatores dificultam considerar diretamente todos os componentes. Este artigo estabelece uma tentativa de prever o preço de mercado, com base em um modelo de regressão elaborada.
Análise das principais características da série temporal
Este artigo introduz uma classe projetada para dar uma rápida estimativa preliminar das características de várias séries de tempo. Conforme isso ocorre, os parâmetros estatísticos e a função de autocorrelação são estimados. Uma estimativa espectral das séries de tempo é realizada e um histograma é construído.
Trabalhemos com os resultados da otimização através da interface gráfica do usuário
Continuamos a desenvolver o tópico sobre o processamento e análise de resultados de otimização. Desta vez, a tarefa é selecionar os 100 melhores resultados de otimização e exibi-los na tabela da GUI. Vamos fazer com que o usuário, selecionando uma série na tabela de resultados de otimização, receba um gráfico multissímbolo de saldo e rebaixamento, em gráficos separados.
Visualizando a otimização de uma estratégia de negociação na MetaTrader 5
O artigo implementa um aplicativo MQL com uma interface gráfica para a visualização estendida do processo de otimização. A interface gráfica utiliza a última versão da biblioteca EasyAndFast. Muitos usuários podem questionar-se sobre a necessidade de utilizar interfaces gráficas em aplicativos MQL. Este artigo demonstra um dos vários casos em que eles podem ser úteis para os traders.
Biblioteca para desenvolvimento fácil e rápido de programas para a MetaTrader (parte V): Classes e coleções de eventos de negociação, envio de eventos para o programa
Nos artigos anteriores, nós começamos a criar uma grande biblioteca multi-plataforma, simplificando o desenvolvimento de programas para as plataformas MetaTrader 5 e MetaTrader 4. Na quarta parte, nós testamos o monitoramento de eventos de negociação na conta. Neste artigo, nós vamos desenvolver classes de eventos de negociação e colocá-los nas coleções de eventos. A partir daí, eles serão enviados ao objeto base da biblioteca Engine e ao gráfico do programa de controle.
Analisando o spread para preços de Bid e Ask no MetaTrader 5
Neste artigo falo de uma ferramenta capaz de ver os spreads, isto é, as diferenças entre os valores Bid e Ask da sua corretora. Os dados de ticks presentes no MetaTrader 5 possibilitam analisar quais valores históricos de spreads existiam de fato entre os valores Bid e Ask. Contudo, não há razão para procurar o valor atual do spread, pois ele pode ser obtido por meio da visualização das linhas Bid e Ask.
Modelo de continuação de movimento - estatísticas de desempenho e pesquisa em gráficos
Nesse artigo, quero descrever como funciona um dos modelos de continuação de movimento. O trabalho é baseado na definição de duas ondas — uma principal e outra corretiva. Como extremos serão usados fractais e, como eu os chamo, potenciais fractais - extremos que ainda não se formaram como fractais.
Biblioteca para desenvolvimento fácil e rápido de programas para a MetaTrader (parte XII): Implementação da classe de objeto "Conta" e da coleção de objetos da conta
No artigo anterior, nós definimos os eventos de encerramento de posição para a MQL4 na biblioteca e nos livramos das propriedades de ordem não utilizadas. Aqui, nós vamos considerar a criação do objeto Conta, desenvolver a coleção de objetos da conta e preparar a funcionalidade para monitorar os eventos da conta.
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XIX): classe de mensagens de biblioteca
No artigo, veremos uma classe para exibir mensagens de texto. Agora, vamos supor que temos suficientes mensagens de texto e devemos pensar em comoarmazená-las, exibi-las, editá-las em outro idioma e adicionar novos idiomas à biblioteca e alterná-los rapidamente.
Uso Prático das Redes Neurais de Kohonen na Negociação Algorítmica. Parte I. Ferramentas
O presente artigo desenvolve a ideia de usar os Mapas de Kohonen na MetaTrader 5, abordado em algumas publicações anteriores. As classes avançadas e aprimoradas fornecem ferramentas para solucionar as tarefas da aplicação.
Aplicando a teoria da probabilidade na negociação de gaps
Neste artigo, nós aplicaremos a teoria da probabilidade e métodos da estatística matemática para criar e testar estratégias de negociação. Nós também veremos o risco de negociação ótimo usando as diferenças entre o preço e o passeio aleatório. Está provado que, se os preços se comportarem como um passeio aleatório de deslocamento de zero (sem tendência direcional), então a negociação com lucro é impossível.
Métodos de Análise Técnica e Previsão do Mercado
O artigo demonstra as possibilidades e potencialidades de um método matemático bem conhecido juntamente com o pensamento visual e perspectivas de mercado "fora da caixa". Por um lado, serve para atrair a atenção de um grande público, pois incentiva as mentes criativas a reconsiderarem o paradigma da negociação como tal. Por outro, pode dar origem a desenvolvimentos de alternativas e implementações de códigos a respeito de uma ampla gama de ferramentas de análise e previsão.
Avaliação de risco numa sequência de operações com um ativo
Este artigo descreve como usar os métodos da teoria da probabilidade e estatística matemática na análise de sistemas de negociação.
Matemática na negociação: indices de Sharpe e de Sortino
A rentabilidade é a medida mais óbvia que investidores e operadores novatos utilizam para analisar o desempenho da negociação. Já os traders profissionais empregam ferramentas mais robustas para analisar estratégias, entre elas os índices de Sharpe e de Sortino.
950 sites transmitindo o calendário econômico da MetaQuotes
A adição do widget fornece os sites com um cronograma detalhado de 500 indicadores das maiores economias do mundo. Assim, além do conteúdo principal do site, os traders recebem rapidamente informações atualizadas sobre todos os eventos importantes com explicações e gráficos.
Modelando séries temporais usando símbolos personalizados de acordo com as leis de distribuição especificadas
O artigo fornece uma visão geral das capacidades do terminal para criar e trabalhar com símbolos personalizados, oferece opções para modelar um histórico de negociação usando símbolos personalizados, tendências e vários padrões gráficos.
Visualização do histórico de negociação multimoeda em relatórios em HTML e CSV
Como é sabido, desde seu lançamento, o MetaTrader 5 vem oferecendo testes multimoedas. Essa função é procurada pela maioria dos traders, mas, infelizmente, não é tão universal quanto gostaríamos. O artigo apresenta vários programas para traçar gráficos usando objetos gráficos baseados no histórico de negociação a partir de relatórios nos formatos HTML e CSV. A negociação de vários instrumentos pode ser analisada em paralelo em várias sub-janelas, ou numa só janela usando a comutação dinâmica realizada pelo usuário.
Abordagem econométrica para análise de gráficos
Este artigo descreve os métodos econométricos de análise, a análise de autocorrelação e a análise de variância condicional em particular. Qual é o benefício da abordagem descrita aqui? O uso de modelos GARCH permite representar a série analisada formalmente a partir do ponto de vista matemático e criar uma previsão para um determinado número de passos.
Análise sintática MQL via ferramentas MQL
Este artigo descreve um pré-processador, um leitor e um analisador para examinar códigos fonte em MQL. A implementação em MQL está anexada ao artigo.
Combinatória e teoria da probabilidade para negociação (Parte I): fundamentos
Nesta série de artigos, procuraremos uma aplicação prática da teoria da probabilidade para descrever o processo de negociação e precificação. No primeiro artigo, conheceremos os fundamentos da combinatória e da teoria da probabilidade, e analisaremos o primeiro exemplo de aplicação de fractais no âmbito desta última.
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XXXI): ordens de negociação pendentes, abertura de posições por condições
A partir deste artigo, criaremos um recurso que permite negociar através de solicitações pendentes de acordo com uma determinada condição: se atingirmos/ou ultrapassarmos uma determinada hora, se ultrapassarmos um lucro predeterminado ou se for registrado um evento de fechamento de posição por stop-loss.
Implementando OLAP na negociação (Parte 3): analisando cotações para desenvolver estratégias de negociação
Neste artigo, continuaremos a estudar a abordagem OLAP aplicada à negociação, bem como a expandir os recursos apresentados nos dois primeiros artigos. Desta vez, analisaremos cotações de maneira operacional. Formularemos e testaremos uma hipótese sobre estratégias de negociação baseadas em indicadores históricos agregados. Apresentaremos EAs para estudos de padrões de barras e negociação adaptativa.
Construindo uma rede neural profunda do zero em linguagem MQL
Neste artigo, vou apresentar a vocês uma rede neural profunda implementada em linguagem MQL com suas diferentes funções de ativação, entre elas estão a função tangente hiperbólica para as camadas ocultas e a função Softmax para a camada de saída. Avançaremos do primeiro passo até o final para formar completamente a rede neural profunda.
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XXVIII): ordens pendentes de negociação - fechamento, exclusão, modificações
Este é o terceiro artigo sobre o conceito de ordens pendentes. Nele, concluiremos o teste de ordens pendentes de negociação, criaremos métodos para fechar posições, excluir ordens pendentes e modificar os parâmetros de posições e de ordens pendentes.
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XXVI): trabalho com ordens de negociação pendentes - primeira implementação (abertura de posições)
No artigo, abordaremos o armazenamento de alguns dados no valor do número mágico de ordens e posições, e implementaremos ordens pendentes. Para examinar a ideia, criaremos a primeira ordem pendente de teste para abrir posições a mercado quando recebermos um erro do servidor requerendo aguardar e enviar uma segunda solicitação.
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XVII): interatividade de objetos de biblioteca
Hoje, concluiremos a lógica da funcionalidade do objeto básico de todos os objetos de biblioteca, o que permitirá que qualquer objeto de biblioteca criado com base nela interaja com o usuário. Por exemplo, podemos definir o tamanho máximo aceitável de spread para abrir uma posição, bem como o nível de preço que intersetado causará que nosso programa receba um evento do objeto-símbolo sobre um sinal indicando o tamanho do spread e o preço que cruza o nível controlado.
Otimização Walk Forward Contínua (Parte 2): Mecanismo para a criação de um relatório de otimização para qualquer robô
O primeiro artigo da série Otimização Walk Forward descreveu a criação de uma DLL a ser usada em nosso otimizador automático. Essa continuação é inteiramente dedicada à linguagem MQL5.
Estratégia de Carry Trade estatístico
Um algorítimo de proteção estatística de posições swap positivas abertas de movimentos de preço indesejados. Este artigo apresenta uma variante da estratégia de proteção Carry Trade, que permite que você compense potenciais riscos em relação ao movimento de preços na direção oposta à posição aberta.
Trabalhando com séries temporais na biblioteca DoEasy (Parte 39): indicadores com base na biblioteca - preparação de dados e eventos das séries temporais
No artigo, consideramos o uso da biblioteca DoEasy para criar indicadores multissímbolos e multiperíodos. Prepararemos as classes da biblioteca, para trabalhar como parte dos indicadores, e testaremos a criação correta de séries temporais para usá-los como fontes de dados em indicadores. Realizaremos a criação e o envio de eventos de séries temporais.
Conjunto de ferramentas para marcação manual de gráficos e negociação (Parte II). Fazendo a marcação
Este artigo é uma continuação do ciclo em que mostro como criar uma biblioteca conveniente para mim, a fim de desenhar o layout de gráficos manualmente com ajuda de atalhos de teclado. A marcação é feita com linhas retas e suas combinações. Nesta parte, vou falar diretamente sobre o desenho em si usando as funções descritas na primeira parte. A biblioteca pode ser anexada a qualquer Expert Advisor ou indicador, facilitando muito suas tarefas de layout. Esta solução NÃO USA dlls externas, todos os comandos são implementados usando ferramentas MQL integradas.
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XXI): classes de negociação - objeto básico de negociação multiplataforma
Neste artigo, iniciaremos uma nova seção da biblioteca, nomeadamente as classes de negociação, e consideraremos a criação de um único objeto básico de negociação para as plataformas MetaTrader 5 e MetaTrader 4. Tal objeto de negociação implicará que, ao enviar uma consulta ao servidor, para ele terão sido enviados os parâmetros da solicitação de negociação já verificados e corretos.
Verificação de Estatística do Sistema de Gestão de Dinheiro Labouchere
Neste artigo vamos testar as propriedades estatísticas do sistema de gestão de dinheiro Labouchere. Este sistema é considerado um dos tipos menos agressivos dos sistemas Martingale, uma vez que as apostas não são dobradas, mas são colocadas a uma certa quantidade de cada vez.
Desenvolvendo um sistema de Replay — Simulação de mercado (Parte 01): Primeiros experimentos (I)
Que tal criar um sistema para estudar o mercado quando ele está fechado, ou mesmo simular situações de mercado. Aqui vamos iniciar uma nova sequencia de artigos, a fim de tratar deste tema.
Biblioteca para desenvolvimento fácil e rápido de programas para a MetaTrader (parte II). Coleção do histórico de ordens e negócios
Na primeira parte, nós começamos a criar uma grande biblioteca multi-plataforma, simplificando o desenvolvimento de programas para as plataformas MetaTrader 5 e MetaTrader 4. Nós criamos o objeto abstrato COrder, que é um objeto base para o armazenamento de dados do histórico de ordens e negócios, bem como as ordens à mercado e posições. Agora nós vamos desenvolver todos os objetos necessários para o armazenamento de dados do histórico da conta em coleções.
O que é uma tendência e qual estrutura o mercado se baseia: Tendência ou Lateral?
Os traders costumam falar sobre tendências e lateralizações, mas poucos deles realmente entendem o que realmente é uma tendência/lateralização e menos ainda são capazes de explicar claramente esses conceitos. A discussão desses termos básicos costuma ser cercada por um sólido conjunto de preconceitos e equívocos. No entanto, se nós quisermos ter lucro, nós precisamos entender o significado matemático e lógico desses conceitos. Neste artigo, eu examinarei em detalhes a essência da tendência e da lateralização, bem como tentar definir se a estrutura do mercado é baseada em tendências, lateralizações ou em outra coisa. Eu também considerarei as melhores estratégias para a obtenção de lucro em mercados com tendência e laterais.
Otimização Controlada: Recozimento Simulado
O Testador de Estratégia da plataforma de negociação MetaTrader 5 fornece apenas duas opções de otimização: otimização completa dos parâmetros e o algoritmo genético. Este artigo propõe um novo método para otimizar as estratégias de negociação — Recozimento Simulado (Simulated Annealing). Será introduzido o algoritmo do método, sua implementação e integração em qualquer Expert Advisor. O algoritmo desenvolvido é testado no EA Moving Average (Média Móvel).
Redes Neurais Profundas (Parte II). Desenvolvimento e seleção de preditores
O segundo artigo da série sobre redes neurais profundas considerará a transformação e seleção dos preditores durante o processo de preparação de dados para treinar um modelo.