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
Tentei com o firewall e o defensor desativados - mesmo resultado.
Win 10 Home. Sem antivírus, porque sou "exigente com conexões"
Boa tarde,
O artigo é muito interessante.
Se eu puder jogar minha pedra....
Devido à introdução de um grande número de funções de calendário pelos desenvolvedores, a solicitação http se tornou menos exigida (não acho que outra solicitação de dados tenha sido amplamente usada). Estou interessado principalmente na possibilidade de executar o algoritmo de otimização em paralelo (periodicamente, por parâmetro de drawdown, etc., não importa).
Se possível, você poderia responder se esse mecanismo (com execução em um thread separado) é possível nos Serviços?
Cumprimentos pelo trabalho realizado pelo autor
Devido à introdução de um grande número de funções de calendário pelos desenvolvedores, a solicitação http se tornou menos exigida (não acho que outra solicitação de dados tenha sido amplamente usada). Eu estava interessado principalmente na possibilidade de executar o algoritmo de otimização em paralelo (periodicamente, por parâmetro de drawdown, etc., não importa).
Se possível, você pode responder se esse mecanismo (com execução em um thread separado) é possível nos Serviços?
O calendário incorporado é bastante genérico, portanto, ainda há muitas informações úteis sobre o perfil que podem ser baixadas de fontes de terceiros. Além disso, não se trata apenas de notícias, mas também de sinais, cotações de bolsas de criptomoedas e assim por diante. Há uma ideia de usar threads paralelos para cálculos em vez de solicitações da Web, mas isso ainda não foi implementado. Mas não entendo sobre serviços. Você se refere aos serviços como programas MQL5? O MQ não forneceu nenhuma comunicação bidirecional com outros programas para eles (é impossível enviar uma "tarefa" para cálculo e obter o resultado). Portanto, esses serviços estão excluídos.
Publiquei na base de código um exemplo de um indicador que solicita longos cálculos paralelos em calculadoras especializadas, que são automaticamente colocadas em objetos de gráfico no gráfico atual (janela).
O indicador sem buffers serve apenas para demonstrar a possibilidade de solicitar cálculos pesados em outros threads. Nos Expert Advisors, certamente também é possível fazer isso dessa forma. Para implementá-lo, é necessário escrever seus próprios empacotadores e desempacotadores de parâmetros, tanto do lado do programa MQL de chamada quanto do calculador especialista.
Base de código
Demonstração de pseudo-indicador com cálculos assíncronos de vários threads
Stanislav Korotky, 2020.01.16 20:13
Este é um indicador sem buffers que demonstra cálculos paralelos de vários threads em objetos de gráfico que hospedam o consultor especialista do trabalhador.Exemplos de registros
4 tarefas em 1 núcleo:
4 tarefas em 2 núcleos (2 vezes mais rápido):
Foi publicado na base de código um exemplo de um indicador que solicita cálculos paralelos longos em Expert Advisors, que são automaticamente colocados em objetos de gráfico no gráfico atual (janela).
O indicador sem buffers serve apenas para demonstrar a possibilidade de solicitar cálculos pesados em outros threads. Nos Expert Advisors, certamente também é possível fazer isso dessa forma. Para implementá-lo, é necessário escrever seus próprios empacotadores e desempacotadores de parâmetros, tanto do lado do programa MQL de chamada quanto do calculador especialista.
e, em seguida, esse indicador também é acionado pelo EA :-)
Ao iniciar o terminal, o Expert Advisor verifica a presença de uma variável global no gráfico e, se ela estiver ausente, cria-a e define seu número. Os clientes do gráfico enviam mensagens para o gerenciador de gráficos.
Em seguida, o usuário fecha a janela do gerenciador de gráficos. Os clientes enviam solicitações para uma janela que não existe mais.
Em outras palavras, o artigo ignora o problema de alterar o gerenciador de gráficos. Ou seja, basta fechar o gerenciador de gráficos e todo o esquema entra em colapso.
Ao iniciar o terminal, o Expert Advisor verifica a presença de uma variável global no gráfico e, se ela estiver ausente, cria-a e define seu número. Os clientes de gráfico enviam mensagens para o gerenciador de gráficos.
Em seguida, o usuário fecha a janela do gerenciador de gráficos. Os clientes enviam solicitações para uma janela que não existe mais.
Em outras palavras, o artigo negligenciou o problema de alterar o gerenciador de gráficos. Ou seja, basta fechar o gerenciador de gráficos e todo o esquema entra em colapso.
O artigo propõe uma tecnologia e sua implementação mínima. A verificação de todas as situações problemáticas possíveis estava além do escopo do artigo. Os clientes podem verificar a existência de um gráfico pelo seu ID (disponível por meio de pool.getManagerID). Todo o código-fonte é de código aberto.
Observe que, no processo de desenvolvimento da ideia apresentada no artigo, foi desenvolvido um esquema de processamento simplificado de consultas multithread usando objetos. Nesse caso, o problema mencionado não é "por design". Os códigos-fonte também estão anexados neste tópico. Portanto, é recomendável usá-los.
O artigo propôs a tecnologia e sua implementação mínima. A verificação de todas as situações problemáticas possíveis estava além do escopo do artigo. Os clientes podem verificar a existência de um gráfico pelo seu ID (disponível por meio de pool.getManagerID). Todos os códigos-fonte são de código aberto.
Observe que, no processo de desenvolvimento da ideia apresentada no artigo, foi desenvolvido um esquema de processamento simplificado de consultas multithread usando objetos. Nesse caso, o problema mencionado não é "por design". Os códigos-fonte também estão anexados neste tópico. Portanto, é recomendável usá-los.
Eu vi o desenvolvimento do tópico )) Mas, infelizmente, o uso de objetos "chart" está disponível, como foi indicado, somente no MT5.
O calendário incorporado é bastante geral, portanto, ainda há muitas informações de perfil úteis que podem ser baixadas de fontes de terceiros. Além disso, não se trata apenas de notícias, mas também de sinais e cotações de bolsas de criptomoedas, etc. Há uma ideia de usar threads paralelos para cálculos em vez de solicitações da Web, mas isso ainda não foi implementado. Mas eu não entendo sobre serviços. Você se refere aos serviços como programas MQL5? O MQ não forneceu nenhuma comunicação bidirecional com outros programas para eles (é impossível enviar uma "tarefa" para cálculo e obter o resultado). Portanto, esses serviços estão excluídos.