Discussão do artigo "Expert Advisor Universal: Ordens Pendentes e Suporte para Cobertura de Risco (Parte 5)" - página 2
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Preconceito em relação aos métodos const. Tornei-me programador em C# - e lá isso não existe, porque a limitação imposta pelo modificador não é eficaz.
Ingenuamente, pensei que esse modificador também informa ao compilador onde criar um código nativo mais otimizado durante a compilação....
Eu mesmo o uso para autocontrole.
O tempo principal no testador de estratégia é gasto no trabalho de sua infraestrutura (rolagem de barra, emulação do ambiente de negociação etc.) O código do Consultor especialista em si leva muito menos tempo.
Por outro lado, a criação de perfis mostrou que os principais métodos que consomem muitos recursos do CSTartegy são os métodos BuyInit, SellInit, BuySupport e SellSupport, ou seja, a própria lógica do Expert Advisor. Todos os outros métodos são compilados com sucesso em um código plano de forma otimizada ou simplesmente cortados se não forem usados. É por isso que a programação OOP de alto nível é justificada.
Observe que, em Expert Advisors mais ou menos complexos com muitas regras e infraestrutura pesada, a programação em uma forma inicialmente plana (sem funções e OOP) levará a erros inevitáveis do programador e, como consequência, o desempenho desse Expert Advisor será ainda menor do que com OOP. Os tempos do assembler acabaram. O compilador há muito tempo derrotou o ser humano em determinadas áreas de otimização. Cabe ao ser humano definir uma arquitetura inicialmente competente e escalonável com um número mínimo de interfaces e boa capacidade de gerenciamento.
.
Ingenuamente, pensei que esse modificador também informa ao compilador onde criar um código nativo mais otimizado durante a compilação.....
Eu mesmo o uso para autocontrole.
Sou a favor da OOP com minhas mãos e pés. Contanto que apenas as soluções de muletas não estejam escondidas por trás disso, como no caso do OnTick com vários símbolos. O que é oficialmente considerado pelos desenvolvedores como não sendo uma solução de muleta.
Infelizmente, nada pode ser feito aqui no nível do usuário. Embora o OnTick no CStrtategy seja multivalente, sua multivalência também é emulada por meio de muletas. Simplesmente, a cada evento de entrada, o tick de outro instrumento é solicitado e, se tiver sido alterado, um novo evento OnTick é gerado para esse instrumento. A propósito, no FORTS, o CStrategy fornece um OnTick verdadeiramente multimoeda, graças ao evento OnBookEvent. Mas, novamente, isso é uma emulação quando se trabalha no testador.
Outra opção é fornecer ao CStrategy um indicador de recurso. Na inicialização, o CStrategy lança uma instância desse indicador no símbolo necessário e recebe dele o evento de chegada de um novo tique. Em seguida, ele é convertido em CStrategy OnTick. Essa é uma muleta clássica, mas toda a implementação está magistralmente oculta nos bastidores, e qualquer estratégia funciona de forma unificada sem saber como esses ticks foram recebidos.
Infelizmente, nada pode ser feito aqui no nível do usuário. Embora o OnTick no CStrtategy seja multimoeda, sua multimoeda também é emulada por meio de muletas. Simplesmente em cada evento de entrada, o tick de outro instrumento é solicitado e, se tiver sido alterado, um novo evento OnTick é gerado para esse instrumento. A propósito, no FORTS, o CStrategy fornece um OnTick verdadeiramente multimoeda, graças ao evento OnBookEvent. Mas, novamente, isso é uma emulação quando se trabalha no testador.
Infelizmente, essa abordagem perde os ticks.
Outra opção é fornecer ao CStrategy um indicador de recursos. Na inicialização, o CStrategy lança uma instância desse indicador no símbolo necessário e recebe dele o evento de chegada de um novo tique. Em seguida, ele é convertido em CStrategy OnTick. Essa é uma variante clássica de muleta, mas toda a implementação está magistralmente oculta nos bastidores, e qualquer estratégia funciona de forma unificada sem saber como esses ticks foram recebidos.
Infelizmente, essa abordagem não tem êxito.
Sim, essa opção é aprovada pelos desenvolvedores. Mas, na minha opinião, ela parece terrivelmente mutiladora se considerarmos como os recursos de um testador otimizado são gastos na tarefa mais simples de outras plataformas. A OOP certamente esconde a muleta com maestria.Eu li na diagonal, artigos muito úteis, dificilmente consigo lê-los - talvez eu tenha perdido algo, estou interessado em pingentes, mas muitos dados estão faltando no impulso, por favor, aponte o dedo... ou tenho que inseri-los eu mesmo????
Eu li na diagonal, artigos muito úteis, dificilmente consigo lê-los - talvez eu tenha perdido algo, estou interessado em pingentes, mas muitos dados estão faltando no impulso, por favor, aponte o dedo... ou tenho que inseri-los eu mesmo????
Se você não entender alguma coisa, pode fazer perguntas neste tópico.