SQLite: trabalho nativo com bancos de dados SQL em MQL5
SQLite: trabalho nativo com bancos de dados SQL em MQL5
O desenvolvimento de estratégias de negociação está associado ao processamento de grandes quantidades de dados. Agora, em MQL5, você pode trabalhar com bancos de dados usando consultas SQL baseadas no SQLite. Uma vantagem importante desse mecanismo é que todo o banco de dados está contido em um único arquivo, localizado no computador do usuário.
Explorando os Padrões Sazonais de Séries Temporais Financeiras com o Boxplot
Explorando os Padrões Sazonais de Séries Temporais Financeiras com o Boxplot
Neste artigo, nós visualizaremos características sazonais de séries temporais financeiras usando diagramas Boxplot. Cada boxplot separado (ou diagrama de caixa) fornece uma boa visualização de como os valores são distribuídos ao longo do conjunto de dados. Os boxplots não devem ser confundidos com os gráficos de velas, embora possam ser visualmente semelhantes.
14 000 robôs de negociação no Mercado MetaTrader
14 000 robôs de negociação no Mercado MetaTrader
A maior loja de aplicativos prontos para algotrading já possui 13 970 produtos — entre eles 4 800 robôs, 6 500 indicadores, 2.400 utilitários e outras soluções. Quase metade dos aplicativos (6 000) não podem ser comprados, mas, sim, alugados. Um quarto dos produtos (3 800) é totalmente gratuito.
Ampliando as funcionalidades do Construtor de Estratégia
Ampliando as funcionalidades do Construtor de Estratégia
Nos dois artigos anteriores, nós discutimos a aplicação dos padrões de Merrill a vários tipos de dados. Um aplicativo foi desenvolvido para testar as ideias apresentadas. Neste artigo, nós continuaremos trabalhando com o Construtor de Estratégia, para melhorar sua eficiência e implementar novos recursos e capacidades.
Construção de um Expert Advisor utilizando módulos independentes
Construção de um Expert Advisor utilizando módulos independentes
Ao desenvolver indicadores, Expert Advisors e scripts, os desenvolvedores geralmente precisam criar vários trechos de código, que não estão diretamente relacionados à estratégia de negociação. Neste artigo, nós consideramos uma maneira de criar Expert Advisors usando blocos criados anteriormente, como código de stops móveis, filtros e de horários, entre outros. Nós veremos os benefícios dessa abordagem de programação.
Construtor de estratégia baseado nos padrões de Merill
Construtor de estratégia baseado nos padrões de Merill
No artigo anterior, nós consideramos a aplicação dos padrões de Merill a vários dados, como em valores de preço em um gráfico de par de moeda e de indicadores padrão do MetaTrader 5: ATR, WPR, CCI, RSI, entre outros. Agora, vamos tentar criar um conjunto para a construção de estratégias baseado nos padrões de Merill.
Guia Prático do MQL5: Teste de estresse de uma estratégia de negociação utilizando os símbolos personalizados
Guia Prático do MQL5: Teste de estresse de uma estratégia de negociação utilizando os símbolos personalizados
O artigo considera uma abordagem para o teste de estresse de uma estratégia de negociação usando os símbolos personalizados. Uma classe de símbolo personalizada é criada para essa finalidade. Esta classe é utilizada para receber os dados de ticks de fontes de terceiros, bem como realizar alterações das propriedades do símbolo. Com base nos resultados do trabalho realizado, nós consideraremos várias opções para alterar as condições de negociação, sob as quais uma estratégia de negociação está sendo testada.
Analisador Sintático HTML com o curl
Analisador Sintático HTML com o curl
O artigo fornece a descrição de uma biblioteca simples para análise sintática (parser) de código HTML usando componentes de terceiros. Em particular, ela abrange as possibilidades de acessar dados que não podem ser recuperados usando os métodos HTTP GET e POST. Nós selecionaremos um site com páginas não muito extensas e tentaremos obter alguns dados interessantes dele.
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XVII): interatividade de objetos de biblioteca
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.
Bova abordagem para interpretar a divergência clássica e oculta. Parte II
Bova abordagem para interpretar a divergência clássica e oculta. Parte II
Neste artigo, examinaremos criticamente a divergência clássica e analisaremos a eficácia de vários indicadores. Também oferecemos variantes de filtragem para aumentar a precisão da análise e continuar a considerar soluções não padrão. Como resultado, criaremos uma ferramenta atípica para resolver a tarefa em questão.
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XV): coleção de objetos-símbolo
Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XV): coleção de objetos-símbolo
No artigo, consideramos a criação de uma coleção de símbolos com base no objeto-símbolo abstrato básico criado no último artigo. Os descendentes de símbolos abstratos vão esclarecer os dados do símbolo e definir a disponibilidade das propriedades básicas do objeto-símbolo no programa. Esses objetos-símbolos vão ser distinguidos por sua afiliação a grupos (status do símbolo).
Como criar e testar símbolos de ativos MOEX personalizados no MetaTrader 5
Como criar e testar símbolos de ativos MOEX personalizados no MetaTrader 5
O artigo descreve a criação de um símbolo de ativo personalizado da bolsa de valores usando a linguagem MQL5, em particular, descreve o uso de cotações no popular site "Finam". Outra opção considerada neste artigo é a possibilidade de trabalhar com um formato arbitrário de arquivos de texto, usados na criação do símbolo personalizado. Isso permite trabalhar com quaisquer símbolos financeiros e fontes de dados, depois de criar um símbolo personalizado, podemos usar todos os recursos do Testador de Estratégia do MetaTrader 5 a fim de testarmos os algoritmos de negociação para os instrumentos da bolsa.
Estudo dos padrões de Merrill
Estudo dos padrões de Merrill
Neste artigo, nós examinaremos o modelo de padrões de Merrill e tentaremos avaliar qual a sua relevância atual. Para isso, nós desenvolveremos uma ferramenta para testar tais padrões e aplicar o modelo a vários tipos de dados, como preços de fechamento, máxima e mínima, além dos osciladores.
Gerenciando otimizações (Parte 2): Cirando a lógica do aplicativo e objetos chave
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.
Biblioteca para desenvolvimento fácil e rápido de programas para a MetaTrader (parte XI). Compatibilidade com a MQL4 - Eventos de encerramento de posição
Biblioteca para desenvolvimento fácil e rápido de programas para a MetaTrader (parte XI). Compatibilidade com a MQL4 - Eventos de encerramento de posição
Nós continuamos com o desenvolvimento de uma grande biblioteca multi-plataforma, simplificando o desenvolvimento de programas para as plataformas MetaTrader 5 e MetaTrader 4. Na décima parte, nós retomamos nosso trabalho sobre a compatibilidade da biblioteca com a MQL4 e definimos os eventos de abertura de posições e ativação de ordens pendentes. Neste artigo, nós definiremos os eventos de encerramento de posições e nos livraremos das propriedades de ordem não utilizadas.
Gerenciando otimizações (Parte I): Criando uma interface gráfica do usuário
Gerenciando otimizações (Parte I): Criando uma interface gráfica do usuário
Este artigo descreve um processo para criar uma extensão projetada para o terminal MetaTrader. Essa solução ajuda a automatizar o processo de otimização através de sua execução em outros terminais. Outros artigos serão escritos com base neste artigo para desenvolver este tópico. A extensão será escrita usando linguagem C# e modelos de programação, o que, além do objetivo principal deste artigo, mostrará não apenas a capacidade do terminal de expandir os recursos originalmente criados através da escrita de templates próprios, mas também como criar facilmente gráficos personalizados numa linguagem com os recursos mais convenientes para isso.
Biblioteca para desenvolvimento fácil e rápido de programas para a MetaTrader (parte X): Compatibilidade com a MQL4 - Eventos de abertura de posição e ativação de ordens pendentes
Biblioteca para desenvolvimento fácil e rápido de programas para a MetaTrader (parte X): Compatibilidade com a MQL4 - Eventos de abertura de posição e ativação de ordens pendentes
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 nona parte, nós começamos a melhorar as classes da biblioteca para trabalhar com a MQL4. Aqui nós continuaremos melhorando a biblioteca para garantir sua total compatibilidade com a MQL4.
Biblioteca para desenvolvimento fácil e rápido de programas para a MetaTrader (parte IX): Compatibilidade com a MQL4 - Preparação dos dados
Biblioteca para desenvolvimento fácil e rápido de programas para a MetaTrader (parte IX): Compatibilidade com a MQL4 - Preparação dos dados
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 oitava parte, nós implementamos a classe para monitorar os eventos de modificação de ordens e posições. Aqui, nós melhoraremos a biblioteca tornando-a totalmente compatível com a MQL4.
Criando um EA gradador multiplataforma (Parte III): grade baseada em correções com martingale
Criando um EA gradador multiplataforma (Parte III): grade baseada em correções com martingale
Neste artigo, tentaremos criar o melhor EA possível trabalhando com base no princípio de um gradador. Como de costume, tratar-se-á de um Expert Advisor multiplataforma capaz de funcionar tanto no MetaTrader 4 quanto no MetaTrader 5. O primeiro EA era bom para todos, exceto que ele não trazia lucro em período longo. O segundo EA podia trabalhar em intervalos de mais de alguns anos. Mas ele não era capaz de trazer mais de 50% do lucro por ano com um rebaixamento máximo de menos de 50%.
Biblioteca para desenvolvimento fácil e rápido de programas para a MetaTrader (parte VIII): Eventos de modificação de ordens e posições
Biblioteca para desenvolvimento fácil e rápido de programas para a MetaTrader (parte VIII): Eventos de modificação de ordens e posições
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 sétima parte, nós adicionamos o monitoramento da ativação de ordens StopLimit e preparamos a funcionalidade para o monitoramento de outros eventos envolvendo ordens e posições. Neste artigo, nós desenvolveremos a classe para monitorar os eventos de modificação de ordens e posições.
Mala direta por meio dos serviços do Google
Mala direta por meio dos serviços do Google
Um trader mantendo relações comerciais com outros traders, assinantes, clientes ou amigos pode certamente ter a tarefa de enviar mala direta por e-mail. Enviar capturas de tela, revistas, registros ou relatórios são tarefas relevantes que não são necessárias todos os dias, mas raramente, em qualquer caso, cada um gostaria de ter esse recurso. O artigo mostra o uso de vários serviços do Google, sua compilação em C # e integração com ferramentas em MQL.
Biblioteca para desenvolvimento fácil e rápido de programas MetaTrader (parte VII): Eventos de ativação da ordem StopLimit, preparação da funcionalidade para os eventos de modificação de ordens e posições
Biblioteca para desenvolvimento fácil e rápido de programas MetaTrader (parte VII): Eventos de ativação da ordem StopLimit, preparação da funcionalidade para os eventos de modificação de ordens e posições
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 sexta parte, nós treinamos a biblioteca para trabalhar com as posições nas contas netting. Aqui, nós implementaremos o monitoramento da ativação das ordens StopLimit e prepararemos uma funcionalidade para o monitoramento de eventos de modificação de ordens e posições.
Biblioteca para desenvolvimento fácil e rápido de programas para a MetaTrader (parte VI): eventos da conta netting
Biblioteca para desenvolvimento fácil e rápido de programas para a MetaTrader (parte VI): eventos da conta netting
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 quinta parte da série de artigos, nós criamos as classes de eventos de negociação e a coleção de eventos, a partir dos quais os eventos são enviados para o objeto base da biblioteca Engine e para o gráfico do programa de controle. Nesta parte, nós vamos deixar a biblioteca trabalhar em contas netting.
Aprofundando na "memória" do mercado através da diferenciação e do análise de entropia
Aprofundando na "memória" do mercado através da diferenciação e do análise de entropia
O campo para aplicar a diferenciação fracionária é bastante amplo. Por exemplo, os algoritmos de aprendizado de máquina geralmente recebem uma série diferenciada na entrada. O problema é que é necessário derivar novos dados de acordo com o histórico existente, para que o modelo de aprendizado de máquina possa reconhecê-los. Este artigo discute a abordagem inicial para a diferenciação das séries temporais, além disso, é fornecido um exemplo de estratégia de negociação otimizada automaticamente baseada nas séries diferenciadas obtidas.
Arranquemos o lucro até o último pip
Arranquemos o lucro até o último pip
Este artigo tenta combinar teoria com prática no campo da negociação algorítmica. A maior parte da conversa sobre a criação de sistemas de negociação está associada ao uso de barras históricas de preços e vários indicadores. Este é um campo bem desgastado que não tocaremos. As barras são uma entidade completamente artificial, por isso, vamos dar algo mais próximo a protoinformações - ticks.
Métodos para medir a velocidade do movimento de preços
Métodos para medir a velocidade do movimento de preços
Existem diferentes abordagens para estudar e analisar o mercado, mas, há dois principais, nomeadamente a técnica e a fundamental. No primeiro caso, acontece a coleta, o processamento e o estudo de quaisquer dados numéricos e de características relacionadas ao mercado: preços, volumes e assim por diante. No segundo caso, acorre a análise de eventos e de notícias que, por sua vez, afetam direta ou indiretamente os mercados. O artigo discute métodos para medir a velocidade do movimento de preços e o estudo de estratégias de negociação com base neles.
Estimando o índice de funcionalidade, o expoente de Hurst e a possibilidade de prever séries temporais financeiras
Estimando o índice de funcionalidade, o expoente de Hurst e a possibilidade de prever séries temporais financeiras
A busca e o estudo do comportamento fractal de dados financeiros implica que, por trás do comportamento aparentemente caótico de séries temporais econômicas, estão ocultos e operam mecanismos estáveis que governam a conduta coletiva dos participantes. Na bolsa de valores, essa mecânica pode levar ao surgimento de uma dinâmica de preços que determina e descreve as propriedades específicas das séries de preços. Na negociação, seria interessante ter indicadores que pudessem estimar os parâmetros de fractalidade de maneira efetiva e estável, numa escala e num intervalo de tempo que fossem uteis na prática.
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
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.
Implementado OLAP na negociação (Parte 2): Visualizando resultados da análise interativa de dados multidimensionais
Implementado OLAP na negociação (Parte 2): Visualizando resultados da análise interativa de dados multidimensionais
O artigo discute diversos aspectos da criação de interfaces gráficas interativas de programas MQL projetados para processamento analítico online (OLAP) do histórico de contas e de relatórios de negociação. Para obter um resultado visual, são usadas janelas maximizadas e escaláveis, uma disposição adaptável de controles de borracha e um novo 'controle' para exibir diagramas. Com base nisso, é implementada uma GUI com a possibilidade de escolher indicadores ao longo dos eixos de coordenadas, funções de agregação, tipos de gráficos e classificações.