Discussão do artigo "Criando EAs multimódulo" - página 2

 
Aleksandr Masterskikh:

A multimodularidade do sistema de negociação é determinada principalmente pela natureza do processo (para os mercados financeiros, o movimento de preços é um processo não estacionário).

E a modelagem de um processo tão complexo (já que o desenvolvimento de um EA é sempre uma modelagem de processo) é impossível com a ajuda de um único algoritmo de entrada, mesmo que muito complexo. Para se aproximar do processo em termos de precisão, você precisa de um conjunto de algoritmos (módulos), cada um dos quais é um modelo independente.

Por que eu teria de modelar algo para comprar/vender algo? E o que isso tem a ver com aspectos tecnológicos? Por que estamos falando de estacionariedade?

Rapaz, poste o código, ou TOR, ou qualquer outra coisa, e então prestarei atenção em seus julgamentos.

 
O autor do artigo cometeu um erro fundamental. Ele equiparou um conjunto de módulos a um sistema de negociação. Explicação. Características de qualquer sistema: 1. hierarquia, a presença do principal e do subordinado (isso existe), 2. decomposição, por exemplo, divisão em módulos (isso também existe), 3. interconexão (incluindo o inverso), e isso não existe. Deveria ser assim: qualquer módulo tem inter-relação com qualquer outro módulo. Por exemplo, no Sistema Solar, o Sol é o principal, o sistema é dividido em planetas (módulos) e todos eles estão interconectados e influenciam uns aos outros. Portanto, o autor tem mais trabalho a fazer.
 
MetaQuotes Software Corp.:

Foi publicado o novo artigo Developing multi-module Expert Advisors:

Autor: Sergey Pavlov

Isso é interessante como um modelo de geração de projeto para casos de uso específicos, mas vejo muitos problemas que inevitavelmente surgiriam ao usá-lo como um padrão de desenvolvimento generalizado.

A auto-otimização dos módulos levaria a um ajuste constante da curva sobre o conjunto de dados do histórico de otimização, fazendo com que o EA caísse na armadilha de ter uma "memória de mercado". À medida que a volatilidade aumentasse ou diminuísse em relação ao tamanho da amostra de treinamento, o módulo ficaria para trás e, em geral, definiria o stop loss ou o take profit muito próximo. Estatisticamente, ele geraria mais perdedores do que vencedores ao longo do tempo. Com tamanhos de amostra maiores, o ajuste da curva seria extremamente específico para condições de mercado espúrias que ocorreram ao longo do histórico da amostra.

Sem a auto-otimização, teríamos que ajustar manualmente o código-fonte para explorar os parâmetros dos indicadores, em vez de poder usar o testador de estratégia para iterar rapidamente pelo "espaço do problema" e fazer uma análise comparativa dos resultados. Então, basicamente, passaríamos mil anos procurando parâmetros em estratégias de negociação relativamente simples.

A composição de programas sempre produz um "monólito" como produto final, embora existam vários meios para compor os subcomponentes do monólito resultante. Quero dizer que todo o programa massivo precisa funcionar independentemente de como seu código-fonte está organizado, porque tudo acaba como código de máquina em algum lugar. Essa solução basicamente sacrifica a "interface do usuário", ou seja, a entrada, para resolver problemas com a definição de blocos de código discretos que podem ser mantidos de forma confiável ao longo do tempo. Esses problemas são mais comumente resolvidos por meio de princípios de OO usando classes e interfaces. O nível "superior" da biblioteca ou do programa é onde um resumo das dependências internas é declarado, como caminhos para módulos, entradas etc. Criar um sistema em que o nível "superior" basicamente proíbe entradas é restringir o desenvolvedor de interagir com as ferramentas incorporadas ao metatrader que fornecem desenvolvimento de estratégia e definição de risco, o que é praticamente como renomear os arquivos em seu sistema de módulos do ponto de vista do usuário final.
 
Parabens!Otimo MAterial de Estudo, 
 

Gostaria de expressar minha gratidão ao autor deste artigo. Obrigado por esse trabalho. Para mim, que sou iniciante em OOP e em especificações do mql5, este artigo me ajuda a dominar a linguagem em geral. Senhores que veem as deficiências, a implementação do conceito no artigo acima, gostaria de dizer que não há limite para a perfeição em nenhum lugar, para melhorar talvez eu pense e seu trabalho ainda está onde .....

Esse artigo é bastante voltado para iniciantes no aprendizado de idiomas...

 
MetaQuotes:

Foi publicado o novo artigo Developing a multi-module smart trading system:

Por Sergey Pavl

Olá. Existe um código-fonte?

 
MT5 hedge ea em xm broker back test hedge de ordem aberta normal! Mas quando testo com o ic, ele não abre ordens longas e não faz hedge? Alguém sabe por que isso acontece?