Discussão do artigo "Biblioteca para criação simples e rápida de programas para MetaTrader (Parte XXIV): classe básica de negociação, correção automática de parâmetros errados" - página 3
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
Olá, você encontrou o problema que mencionei?
Olá, Artyom - ao trabalhar mais de perto com esse código, notei essa peculiaridade do valor'shift' implementado em EventsHandling() e OnDoEasyEvent() para o tratamento correto dos eventos de negociação durante a execução no testador... Entendo que, como você aponta no artigo, ao executar eventos de negociação ao vivo, eles são entregues um a um a partir de OnChartEvent() à medida que são acionados pelo mecanismo, enquanto no modo de teste eles são agrupados e entregues como uma lista...
Minha pergunta é: não seria melhor implementar um parâmetro de função dedicado no manipulador de eventos em vez de sacrificar o'lparam', que pode conter informações úteis para o manipulador de eventos? Também acho que isso torna o código mais simples / mais legível; você concorda?
PS: De qualquer forma, estou achando que essa biblioteca é realmente poderosa, mas também complexa e difícil de entender; no entanto, uma vez dominada, ela deve permitir o desenvolvimento de todos os tipos de estratégias baseadas em EA muito rapidamente... Além da enorme curva de aprendizado, também estou percebendo que o desempenho do back-testing é bastante lento, portanto, espero que você possa resolver esse ponto assim que concluir o conjunto de recursos que imaginou para o DoEasy.
Olá, Artyom - ao trabalhar mais de perto com esse código, notei essa peculiaridade do valor ' shift ' implementado em EventsHandling() e OnDoEasyEvent() para o tratamento correto dos eventos de negociação durante a execução no testador... Entendo que, como você aponta no artigo, ao executar eventos de negociação ao vivo, eles são entregues um a um a partir de OnChartEvent() à medida que são acionados pelo mecanismo, enquanto no modo de teste eles são agrupados e entregues como uma lista...
Minha pergunta é: não seria melhor implementar um parâmetro de função dedicado no manipulador de eventos em vez de sacrificar o ' lparam ' que pode conter informações úteis para o manipulador de eventos? Também acho que isso torna o código mais simples / mais legível; você concorda?
PS: De qualquer forma, estou achando que essa biblioteca é realmente poderosa, mas também complexa e difícil de entender; no entanto, uma vez dominada, ela deve permitir o desenvolvimento de todos os tipos de estratégias baseadas em EA muito rapidamente... Além da enorme curva de aprendizado, também estou percebendo que o desempenho do back-testing é bastante lento, portanto, espero que você possa resolver esse ponto assim que concluir o conjunto de recursos que imaginou para o DoEasy.
Não. Aqui eu não planejei refazer nada, e provavelmente não o farei. Todos os dados necessários já são fornecidos aos objetos de evento, e o restante dos dados já é obtido dos objetos cujo evento foi registrado.
Não. Aqui eu não planejei refazer nada, e provavelmente não o farei. Todos os dados necessários já foram entregues aos objetos de evento, e o restante dos dados já foi retirado dos objetos cujo evento foi registrado.
OK, é justo... Concordo que todos os dados necessários estão nos objetos de evento.
Você poderia fornecer algum código de exemplo para que, ao obter o último evento de negociação, você possa obter o tíquete de ordem/posição e outras propriedades?