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
O WebRequest não funciona em indicadores (e essa biblioteca permite que você contorne essa limitação). Um thread separado no MT é alocado somente para especialistas e scripts, mas os scripts não funcionam com eventos.
Entendo, obrigado. Eu não sabia.
No MT4 1146, os recursos são totalmente funcionais. A ideia pode ser transferida com segurança para a quarta versão.
Sim, essa é a ideia. Mas ela só funcionará no MT5.
Implementei essa ideia (com objetos gráficos).
usar o iCustom-indicator como um gerenciador, e ele lançará o WebRequest em seu script para cada WebRequestAsync.
O design deve ser mais simples e mais confiável, pois não haverá janelas adicionais.
O resultado é o seguinte.
Os scripts não funcionam porque não posso passar um parâmetro para eles na inicialização - parece que os scripts não são compatíveis com os modelos de gráfico. O fato de eles conseguirem executá-los com a ajuda da biblioteca Expert.mqh (embora sem parâmetros), por analogia com os Expert Advisors, parece ser um feliz acidente.
Se você executar solicitações da Web não em scripts, mas em Expert Advisors, o esquema funcionará até a metade. Ou seja, os parâmetros de entrada funcionam normalmente e conseguimos passar o nome do recurso com dados para o Expert Advisor. Mas, por alguma razão, apenas o evento OnInit é acionado nos Expert Advisors lançados em objetos de gráfico, enquanto, por exemplo, OnTick ou OnTimer não são. Não é muito agradável executar uma solicitação da Web no OnInit, mas é possível. No entanto, toda essa lógica causa uma grande lentidão, pois a abertura de um objeto gráfico para cada solicitação causa muita sobrecarga.
Implementei essa ideia (com objetos de gráfico).
O resultado é o seguinte.
Os scripts não funcionam porque não posso passar um parâmetro para eles ao iniciá-los - parece que os scripts não são compatíveis com os modelos de gráfico. O fato de que eles podem ser iniciados usando a biblioteca Expert.mqh (embora sem parâmetros), por analogia com os Expert Advisors, parece ser um feliz acidente.
Tive que estudar o assunto. Os scripts são executados pelo modelo e em um gráfico normal, mas sem a capacidade de definir parâmetros de entrada. Portanto, o método PlaySound definitivamente funcionará.
Se executarmos consultas da Web não em scripts, mas em Expert Advisors, o esquema funcionará pela metade. Ou seja, os parâmetros de entrada funcionam normalmente e conseguimos passar o nome do recurso com dados para o Expert Advisor. Mas, por alguma razão, apenas o evento OnInit é acionado nos Expert Advisors lançados em objetos de gráfico, enquanto, por exemplo, OnTick ou OnTimer não são. Não é muito agradável executar uma solicitação da Web no OnInit, mas é possível. No entanto, toda essa lógica causa uma grande lentidão, pois a abertura de um objeto gráfico para cada solicitação gera muita sobrecarga.
Nada funciona para mim.
Tive que estudar o tópico. Os scripts são executados pelo modelo e em um gráfico regular, mas sem a capacidade de definir parâmetros de entrada. Portanto, o método PlaySound certamente funcionará.
Nada está funcionando para mim.
O conjunto que enviei em uma mensagem privada funciona para mim por meio do OnInit no Expert Advisor. Isso pode ser visto nos registros. Envie-me seus registros.
Estou postando uma variante alternativa de lançamento de solicitações da Web - com a ajuda de objetos de gráfico, nos quais é aplicado um modelo com um auxiliar especializado. Ele pode ser usado tanto por especialistas quanto por indicadores. As dependências são as mesmas do artigo. Arquivos diretamente novos da implementação da abordagem:
Para cada consulta, um objeto é criado, um expert-helper é criado nele e o objeto é excluído quando a consulta é concluída. Os dados e resultados da consulta são trocados por meio de recursos, como no artigo.
A julgar pelos registros, esse mecanismo não fornece paralelismo completo da execução da consulta, porque os objetos provavelmente compartilham uma fila de eventos comum. Exemplo de registro:
Experimente o Resource_Data.mqh atualizado; os atrasos na transferência de páginas da Web devem desaparecer.
Versão antiga
Nova versão
Experimente o Resource_Data.mqh atualizado e os atrasos na transferência de páginas da Web deverão desaparecer.
Versão antiga
Nova versão
O que você precisou fazer para aumentar a velocidade em 20 vezes? A compatibilidade com o código antigo permanece, as chamadas de cliente não precisam ser alteradas?
O que você precisou fazer para aumentar a velocidade em 20 vezes? A compatibilidade com o código antigo permanece, as chamadas de cliente não precisam ser alteradas?
A compatibilidade permanece.
Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação.
Bibliotecas: TradeTransactions
fxsaber, 2018.12.09 01:23 pm.
Nas fontes da biblioteca, há o Convert.mqh, que converte rapidamente uma matriz de um tipo em uma matriz de outro.
O TypeToBytes era lento (agora só é usado se nenhum tipo de matriz for um múltiplo do outro) em matrizes grandes.
O TypeToBytes não é usado para uchar[].