Como desenvolver um Expert Advisor usando ferramentas de UML
Como desenvolver um Expert Advisor usando ferramentas de UML
Este artigo discute a criação de Expert Advisors usando a linguagem gráfica UML, que é usada para modelagem visual de sistemas de software orientados a objeto. A principal vantagem dessa abordagem é a visualização do processo de modelagem. O artigo contém um exemplo que mostra a modelagem da estrutura e propriedades de um Expert Advisor usando o Software Ideas Modeler.
Aplicação prática de bancos de dados para análise de mercado
Aplicação prática de bancos de dados para análise de mercado
Trabalhar com dados se tornou a tarefa principal para o software moderno - tanto para aplicativos autônomos quanto para os de rede. Para solucionar esse problema um software especializado foi criado. São sistemas de gerenciamento de banco de dados (DBMS) que podem estruturar, sistematizar e organizar dados para seu armazenamento e processamento. Quanto aos negócios, a maioria dos analistas não utiliza bancos de dados em seu trabalho. Mas existem tarefas para as quais essa solução teria que ser útil. Este artigo fornece um exemplo de indicadores que podem salvar e carregar dados da partir de bancos de dados com ambas arquiteturas cliente-servidor ou arquivo-servidor.
Gráficos e diagramas em HTML
Gráficos e diagramas em HTML
Hoje é difícil encontrar um computador que não tenha um WEB-browser instalado. Por um longo tempo os browsers têm evoluído e melhorado. Este artigo discute o modo simples e seguro de criar gráficos e diagramas, com base nas informações obtidas a partir do terminal de cliente MetaTrader 5 para exibí-los no navegador.
Usando Pseudo-modelos como Alternativa para Modelos C++
Usando Pseudo-modelos como Alternativa para Modelos C++
O artigo descreve uma forma de programação sem usar templates, mas mantendo o estilo de programação inerente a eles. Ele nos diz sobre a implementação de templares usando métodos personalizados e possui um script pronto para uso anexo para criação de código com base de templates especificados.
Visualize isto! Biblioteca gráfica em linguagem MQL5 como equivalente a plot de R
Visualize isto! Biblioteca gráfica em linguagem MQL5 como equivalente a plot de R
A exibição visual usando gráficos desempenha um importante papel na exploração e estudo de padrões regulares. Nas populares linguagens de programação entre a comunidade científica, tais como R e Python, a função especial plot é destinada para visualização. Com ela você pode desenhar linhas, gráficos de dispersão e histogramas para visualizar padrões. Em linguagem MQL5 você pode fazer a mesma coisa usando a classe CGraphics.
SQL e MQL5: Trabalhando com Banco de Dados SQLite
SQL e MQL5: Trabalhando com Banco de Dados SQLite
Este artigo é destinado aos desenvolvedores interessados ​​em usar SQL em seus projetos. Ele explica as funcionalidades e vantagens do SQLite. O artigo não exige conhecimentos especiais de funções SQLite, mas é interessante um conhecimento mínimo de SQL.
Interação entre o MetaTrader 5 e MATLAB
Interação entre o MetaTrader 5 e MATLAB
Este artigo cobre os detalhes da interação entre o MetaTrader 5 e o pacote matemático MatLab. Ele mostra o mecanismo da conversão de dados, o processo de desenvolvimento de uma biblioteca universal para interagir com o desktop MatLab. Ele também cobre o uso do DLL gerado pelo ambiente MatLab. Este artigo é destinado a leitores experientes que conhecem C++ e MQL5.
Expressões regulares para traders
Expressões regulares para traders
As expressões regulares são uma linguagem especial para manipulação de textos de acordo com uma regra definida, às vezes, chamada de padrão ou máscara de expressão regular. Este artigo mostrará como manipular o relatório de negociação usando a biblioteca RegularExpressions para MQL5 e demostrará seus resultados de otimização.
Como trocar dados: um DLL para o MQL5 em 10 minutos
Como trocar dados: um DLL para o MQL5 em 10 minutos
Agora, não muitos desenvolvedores lembram como escrever um simples DLL e quais são os recursos especiais da diferente ligação do sistema. Usando vários exemplos, vou tentar mostrar todo o processo da criação de um simples DLL em 10 minutos, bem como discutir alguns detalhes técnicos da nossa implementação de ligação. Mostrarei o processo passo-a-passo da criação de DLL no Visual Studio com exemplos de troca de diferentes tipos de variáveis (números, arrys, strings, etc.). Além disso, explicarei como proteger seu terminal do cliente de travamentos nos DLLs personalizados.
Expert Advisor Multiplataforma: Stops
Expert Advisor Multiplataforma: Stops
Este artigo discute uma implementação dos níveis de stop em um expert advisor para torná-lo compatível com as duas plataformas - MetaTrader 4 e MetaTrader 5.
Usando armazenamento em nuvem para intercâmbio de dados entre os terminais
Usando armazenamento em nuvem para intercâmbio de dados entre os terminais
As tecnologias baseadas em nuvem estão se tornando mais populares. À nossa disposição temos serviços de armazenamento pagos ou gratuitos. Mas será que é possível usá-los na negociação? Este artigo apresenta uma tecnologia para intercâmbio de dados entre terminais usando serviços de armazenamento em nuvem.
Expert Advisor Universal: Acessando as Propriedades do Símbolo (Parte 8)
Expert Advisor Universal: Acessando as Propriedades do Símbolo (Parte 8)
A oitava parte do artigo apresenta a descrição da classe CSymbol, que é um objeto especial que fornece acesso a qualquer instrumento de negociação. Quando usada dentro de um Expert Advisor, a classe fornece um amplo conjunto de propriedades do símbolo, permitindo simplificar a programação do Expert Advisor e expandir a sua funcionalidade.
Auto-otimização do EA: Algoritmos evolutivos e genéticos
Auto-otimização do EA: Algoritmos evolutivos e genéticos
Este artigo aborda os principais princípios estabelecidos nos algoritmos evolutivos, suas variedades e características. Vamos fazer uma experiência com um Expert Advisor simples, usado como exemplo para mostrar os benefícios do sistema de negociação a partir da otimização. Também iremos considerar programas de software que implementam otimizações genéticas, evolutivas, entre outros, fornecendo exemplos de aplicação ao otimizar um conjunto preditor e os parâmetros do sistema de negociação.
Redes Neurais Profundas (Parte I). Preparando os Dados
Redes Neurais Profundas (Parte I). Preparando os Dados
Esta série de artigos continua a explorar as redes neurais profundas (RNP), que são usadas em muitas áreas de aplicação, incluindo a negociação. Serão exploradas aqui novas dimensões deste tema juntamente com o teste de novos métodos e ideias usando experiências práticas. O primeiro artigo da série é dedicado a preparar os dados para a RNP (DNN).
Expert Advisor multiplataforma: Gerenciador de ordens
Expert Advisor multiplataforma: Gerenciador de ordens
No artigo, é discutida a criação de um gerenciador de ordens para um EA de negociação multiplataforma. O gerenciador de ordens é responsável pela abertura e fechamento de ordens ou posições efetuadas pelo Expert Advisor, bem como pela manutenção de seus registros independentes, e estará disponível para ambas as versões do terminal.
Expert Advisor Multiplataforma: Filtros de Tempo
Expert Advisor Multiplataforma: Filtros de Tempo
Este artigo discute a implementação de vários métodos de filtragem de tempo de um Expert Advisor multiplataforma. As classes de filtro de tempo são responsáveis ​​por verificar se um determinado momento corresponde a uma determinada configuração de tempo definida.
Expert Advisor multiplataforma: Controle de capital
Expert Advisor multiplataforma: Controle de capital
Neste artigo, falaremos sobre a implementação do controle de capital num EA multiplataforma. As classes de controle de capital são responsáveis ​​pelo cálculo do tamanho do lote, que o EA usa para entrar na próxima transação.
Expert Advisor multiplataforma: Sinais
Expert Advisor multiplataforma: Sinais
No artigo, são discutidas as classes CSignal e CSignals, que serão usadas em Expert Advisors multiplataforma. Além disso, serão examinadas as diferenças entre MQL4 e MQL5 quanto à organização de dados necessários para avaliar os sinais de negociação obtidos. O resultado será um código compatível com os compiladores das duas versões.
Avaliação e seleção de variáveis para os modelos de aprendizado da máquina
Avaliação e seleção de variáveis para os modelos de aprendizado da máquina
Este artigo foca sobre as especificidades de escolha, o pré-condicionamento e avaliação das variáveis de entrada (preditoras) para uso em modelos de aprendizagem da máquina. Novas abordagens e oportunidades de análises preditoras profundas e suas influências no possível sobre-ajuste (overfitting) dos modelos serão consideradas. O resultado global do uso de modelos, em grande parte, depende do resultado desta etapa. Vamos analisar dois pacotes, oferecendo abordagens novas e originais para a seleção dos preditores.
Usando Layouts e Containers para Controles de GUI: A Classe CBox
Usando Layouts e Containers para Controles de GUI: A Classe CBox
Este artigo apresenta um método alternativo de criação de GUI (Interface Gráfica do Usuário) baseado em layouts e containers, usando um gerenciador de layout - a classe CBox. A classe CBox é um controle auxiliar que atua como um container para controles essenciais em um painel de GUI. Ele pode gerar o design gráfico dos painéis facilmente, e, em alguns casos, reduzir o tempo de codificação.
Rastreamento, Depuração e Análise Estrutural de Código Fonte
Rastreamento, Depuração e Análise Estrutural de Código Fonte
O complexo inteiro de problemas de criação de uma estrutura de um código executado e seu rastreamento pode ser resolvido sem muitas dificuldades. Esta possibilidade apareceu no MetaTrader 5 devido a um novo recurso da linguagem MQL5 - criação automática de variáveis de tipo complexo de dados (estruturas e classes) e sua eliminação quando fora do escopo local. O artigo contém a descrição da metodologia e a ferramenta pronta para uso.
Simulink: um guia para os desenvolvedores de Expert Advisors
Simulink: um guia para os desenvolvedores de Expert Advisors
Não sou um programador profissional. E assim, o princípio de "ir do simples para o complexo" é de suma importância para mim quando trabalho com o desenvolvimento de um sistema de negócio. O que exatamente é simples para mim? Primeiramente, esta é a visualização do processo de criação do sistema e a lógica de seu funcionamento. Também, é um mínimo de código escrito à mão. Neste artigo, tentarei criar e testar o sistema de negócio, com base no pacote Matlab e, depois, escrever um Expert Advisor para o MetaTrader 5. Os dados do histórico do MetaTrader 5 serão usados para o processo de teste.
Como copiar a negociação do MetaTrader 5 para o MetaTrader 4
Como copiar a negociação do MetaTrader 5 para o MetaTrader 4
É possível negociar em uma conta real do MetaTrader 5 hoje? Como organizar tal negociação? O artigo contém a teoria destas questões e os códigos de trabalho utilizados para copiar negociações do terminal MetaTrader 5 para o MetaTrader 4. O artigo será útil tanto para desenvolvedores de Expert Advisors quanto para negociantes praticantes.
Expert Advisor multiplataforma: Ordens
Expert Advisor multiplataforma: Ordens
MetaTrader 4 e MetaTrader 5 usam regras diferentes para o processamento de pedidos de negociação. Este artigo discute a possibilidade de utilizar o objeto de classe que representa a transação para processamento pelo servidor, graças a isso o Expert Advisor poderá trabalhar com elas independentemente da versão da plataforma de negociação e o modo usado.
Expert Advisor multiplataforma: Introdução
Expert Advisor multiplataforma: Introdução
Este artigo descreve um método que permite desenvolver rápida e facilmente um Expert Advisor multiplataforma. O método proposto combina as características, comuns para ambas as versões, numa classe e desenvolve a implementação para funções incompatíveis nas classes herdadas.
Expert Advisor Universal: Um Trailing Stop Customizado (Parte 6)
Expert Advisor Universal: Um Trailing Stop Customizado (Parte 6)
A sexta parte do artigo sobre o Expert Advisor universal descreve o uso do recurso "Trailing Stop". O artigo irá guiá-lo através de como criar um módulo "Trailing Stop" personalizado com regras unificadas, bem como adicioná-lo ao motor de negociação para gerir automaticamente as posições.
Expert Advisor Universal: Ordens Pendentes e Suporte para Cobertura de Risco (Parte 5)
Expert Advisor Universal: Ordens Pendentes e Suporte para Cobertura de Risco (Parte 5)
Este artigo fornece uma descrição mais detalhada do mecanismo de negociação CStrategy. Por demanda popular dos usuários, nós adicionamos funções de apoio as ordem pendente no mecanismo de negociação. Além disso, a versão mais recente do MetaTrader 5 agora oferece suporte a contas com a opção de cobertura (hedge). O mesmo suporte foi adicionado ao CStrategy. O artigo fornece uma descrição detalhada de algoritmos para o uso de ordens pendentes, bem como dos princípios de funcionamento da classe CStrategy nas contas com a opção de cobertura (hedge) habilitada.
Expert Advisor Universal: Modos de Negociação das Estratégias (Parte 1)
Expert Advisor Universal: Modos de Negociação das Estratégias (Parte 1)
Qualquer desenvolvedor de Expert Advisor, independentemente de suas habilidades de programação, diariamente é confrontado com as mesmas tarefas de negociação e problemas algorítmicos, que devem ser resolvidos para organizar um processo de negociação confiável. O artigo descreve as possibilidades do motor de negociação CStrategy que possibilita a solução destas tarefas e fornece ao usuário um mecanismo eficaz para descrever uma idéia de negociação personalizada.
Promova seus projetos de desenvolvimento utilizando bibliotecas EX5
Promova seus projetos de desenvolvimento utilizando bibliotecas EX5
Ocultando os detalhes de implementação de classes/funções em um arquivo .ex5 vai permitir que você compartilhe seus algoritmos experientes com outros desenvolvedores, defina projetos comuns e promova-os na Internet. E enquanto a equipe MetaQuotes não mede esforços para viabilizar a possibilidade de herança direta de classes de biblioteca ex5, vamos implementá-la agora.
Conectando NeuroSolutions Neuronets
Conectando NeuroSolutions Neuronets
Além da criação de neuronets, o suite de software NeuroSolutions permite exportá-los como DLLs. Este artigo descreve o processo de criação de um neuronet, gerando um DLL e conectando-o a um Expert Advisor para negociação no MetaTrader 5.
Encontrando erros e registrando
Encontrando erros e registrando
O MetaEditor 5 possui o recurso de depuração Mas, quando você escreve seus programas MQL5, geralmente você deseja exibir não apenas valores individuais, mas todas as mensagens que aparecem durante o trabalho online e teste. Quando o conteúdo do arquivo de registro tem um tamanho grande, é óbvio automatizar a recuperação rápida e fácil da mensagem requerida. Neste artigo consideraremos várias maneiras de encontrar erros em programas do MQL5 e métodos de registro. Além disso, simplificaremos o logging em arquivos e conheceremos um programa simples LogMon para visualizações confortáveis dos registros.