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
Eu gostaria de um comentário dos desenvolvedores, porque não há nada na documentação sobre isso.
Você não vê pelo registro acima que há um contador?
Não parece, pelo registro acima, que há um contador?
Você pode ver no log acima que uma EA não anula a inscrição da outra. Mas como ela é implementada - através de contador ou outra coisa qualquer - não é clara. Além disso, o programador teve um indicador e um Expert Advisor. Mas o indicador tem uma característica desagradável de misturar a ordem de início do OnInit() e OnDeinit(). Embora, não deve confundir o balcão, se ele realmente tem um.
Você pode ver no log acima que uma EA não anula a inscrição da outra. Mas como ela é implementada - através de contador ou outra coisa qualquer - não é clara. Além disso, o programador tem um indicador e um Expert Advisor. Mas o indicador tem uma característica irritante de misturar a ordem de início OnInit() e OnDeinit().
Portanto, implementamos a variável is_book para evitar confusão.
Os desenvolvedores fizeram do MarketBookAdd() uma FUNÇÃO por uma razão.
Você não consegue ver pelo registro acima que há um contador?
O registro não é nada quando se utiliza uma situação diferente daquela em que o problema ocorre.
Pegue 2 de seus programas (Expert Advisor e um indicador, ou 2 induladores) - coloque-os na mesma tabela e depois apague um deles. A assinatura da instância restante cairá.
Mesmo quando a seqüência de chamadas OnInit/OnDeinit está correta (sempre foi correta nestes testes), há um problema.
Esta abordagem não funciona?
Ainda não o executei no terminal, mas tenho uma pergunta - como mover o código para um invólucro de objeto ajuda contra "cortar as extremidades" pelo próprio terminal (como está acontecendo agora)? Bem, um objeto será criado e a assinatura será iniciada, e se alguém fechar outro programa com a assinatura, o objeto nunca mais saberá que não há mais assinatura.
Fiz da maneira mais simples: comparo os timeouts no OnBookEvent e no OnTick. Se o timeout no primeiro exceder o timeout no segundo em mais de N segundos - eu me inscrevo novamente.
Ainda não o executei no terminal, mas surgiu a questão - como a transferência do código para um wrapper de objeto ajudará a "cortar as pontas" pelo próprio terminal dentro de si (como está acontecendo agora)? Bem, um objeto será criado e a assinatura começará, e se alguém fechar outro programa com uma assinatura, o objeto nunca saberá que a assinatura não existe mais.
Fiz isso de uma maneira simples: comparo os tempos limite para OnBookEvent e OnTick. Se o primeiro tempo limite exceder o segundo tempo limite em mais de N segundos, eu assino novamente.
Bem, como esperado, você está errado.
1º indicador
Segundo indicador
Resultado
Ainda não o executei no terminal, mas tenho uma pergunta - como mover o código para um invólucro de objeto ajuda contra "cortar as extremidades" pelo próprio terminal (como está acontecendo agora)?
O Init e o Deinit não participam da assinatura. Talvez esta circunstância possa ajudar.
Eu já executei estes indicadores em diferentes janelas com o mesmo símbolo e funciona bem,
mas quando corri os dois indicadores na mesma janela de símbolo, ele realmente
assinatura "caiu" ao remover um indicador.
Escrever para o SD (talvez eles tenham tempo para fazer uma correção na nova construção)
Fórum sobre comércio, sistemas automatizados de comércio e testes de estratégia comercial
A assinatura OnBookEvent às vezes cai - existe tal coisa?
prostotrader, 2018.07.24 21:25