Erros, bugs, perguntas - página 212

 
Urain:
Sim, isso mesmo, apenas sob a forma de funções padrão para optimizar a velocidade de acesso.

Penso que ainda não podemos falar de velocidade, especialmente porque a MQL5 processa rapidamente o conjunto de dados de notícias existentes. E isso com a esperança de que o MQL seja ainda mais rápido.


Mas gostaria de aprofundar este assunto. Pergunto-me o que planeia fazer com estes dados depois?

 
sergeev:

Penso que ainda não podemos falar de velocidade, especialmente porque a MQL5 processa rapidamente o conjunto de dados de notícias existentes. E aqui espera-se que o MQL seja ainda mais rápido.


Mas gostaria de me debruçar sobre este assunto. O que tencionam fazer mais tarde com estes dados? exemplos concretos de utilização?

E o que se segue é um campo quente, as notícias não estavam disponíveis normalmente antes, e então a codificação das estratégias noticiosas irá disparar.

Estou a planear utilizar tudo isto através dos comités NS, mas gostaria de desenvolver mais o assunto.

ZZZY Mas enquanto as notícias no testador não aparecerem (ou seja, histórias de notícias), terá de o fazer através de ficheiros, e notícias de parser sobre recursos de terceiros.

 

O testador abranda à medida que o número de transacções aumenta.

Período Ofícios Promoções Carraças Bares Carraças geradas dentro, ms Tamanho do relatório .xlsx, KB Tempo de geração de relatórios
04.10.2010-05.10.2010 5 720 46226 1438 27960 126 30 segundos
04.10.2010-06.10.2010 9 1680 99347 2871 240966 275 2 minutos
04.10.2010-07.10.2010 21 2703 149837 4306 382370 430 10 minutos
04.10.2010-10.10.2010 35 4865 253175 7118 1202809 753 35 minutos
04.10.2010-16.10.2010 67 9783 492163 14226 8908720 1463 50 minutos
04.10.2010-01.11.2010 79 13199 1189566 28453 20956134 N/A (erro) 1 hora e 10 minutos
04.10.2010-27.11.2010 79 13199 2863155 56334 16055687

Ao abrir negócios com a intensidade de cerca de 1 negócio por 2 minutos pode ver (separador Registo) que 1 segundo de tempo de teste no final de um período bastante longo tem várias vezes menos negócios do que no início do teste. Imagem semelhante na saída de resultados de teste em formato Open XML.

 

Na verdade, o tempo de teste não depende directamente da quantidade de comércios. Para ser exacto, uma única execução com 10 comércios levará, naturalmente, menos tempo do que uma execução com 100 000 comércios, porque cada comércio-teste precisa de tempo para processamento.

Mas é o número de carraças a serem processadas num passe que mais afecta o tempo de teste. Executei a Média Móvel padrão em todos os ticks a partir de um mês (intervalo 2009.01.01-2009.02.01) e aumentei o tempo de teste em um mês de cada vez para 22 meses.


Como se pode ver no diagrama, a dependência do tempo de teste do número de carraças é estritamente linear.


 
Vigor:
Olá, reflicta a adição da construção

#property tester_indicator "indicator.ex5"

na documentação, na descrição da função do iCustom. Passei algumas horas a tentar compreender a razão pela qual o iCustom trabalha no gráfico, mas não trabalha no testador.

Isto é descrito na secção de propriedades do programa.

testador_indicador

corda

Nome do indicador personalizado no formato "indicator_name.ex5" .Os indicadores necessários para os testes são determinados automaticamente a partir da chamada de função iCustom(), se o parâmetro correspondente for especificado como uma string constante. Para outros casos (uso da função IndicatorCreate() ou uso de uma string não constante no parâmetro que define o nome do indicador) precisamos desta propriedade

tester_file

corda

Nome do ficheiro para o testador, especificando a sua extensão, entre aspas duplas (como uma cadeia constante). O ficheiro especificado será passado ao testador para operação. Os ficheiros de entrada para testes, se necessário, devem ser sempre especificados

tester_library

corda

Nome da biblioteca com extensão, entre aspas duplas. Uma biblioteca pode ter tanto uma extensão dll como uma extensão ex5. As bibliotecas necessárias para os testes são detectadas automaticamente. No entanto, se uma biblioteca for utilizada por um indicador personalizado, deve-se utilizar esta propriedade


Mas tem razão, precisa de acrescentar explicitamente informação sobre o assunto novamente nos locais relevantes.

 
Rosh:

Na verdade, o tempo de teste não depende directamente do número de ofícios. Para ser mais exacto, uma única execução com 10 transacções levará obviamente menos tempo do que uma execução com 100 000 transacções porque cada transacção no testador precisa de tempo para ser processada.

Mas é o número de carraças a serem processadas num passe que mais afecta o tempo de teste. Executei a Média Móvel padrão em todos os ticks a partir de um mês (intervalo 2009.01.01-2009.02.01) e aumentei o tempo de teste em um mês de cada vez para 22 meses.

Como se pode ver no diagrama, a dependência do tempo de teste do número de carraças é estritamente linear.

Provavelmente, eu deveria ler "uma única tiragem com 10 trocas levará menos tempo do que uma tiragem com 100 000 trocas porque cada troca no testador precisa de tempo para ser processada.

Concordo com os carrapatos. Mas preste atenção exactamente ao número de acordos - o crescimento temporal não é obviamente linear, e formar um relatório de teste está completamente fora de questão!

 

Qual é o tempo máximo que pode ser definido no EventSetTimer( )?

INT_MAX? não me parece. Não quero investigar por conta própria, e não há ninguém na ajuda.

Документация по MQL5: Стандартные константы, перечисления и структуры / Именованные константы / Константы числовых типов
Документация по MQL5: Стандартные константы, перечисления и структуры / Именованные константы / Константы числовых типов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Именованные константы / Константы числовых типов - Документация по MQL5
 
Ashes:


Provavelmente deveria ler-se "uma única execução com 10 operações levará menos tempo do que uma execução com 100.000 operações, pois cada operação no testador leva tempo a ser processada.

Corrigido.
 
Ashes:


Concordo sobre os carrapatos. Mas, mais uma vez, preste atenção ao número de transacções - o crescimento temporal não é claramente linear, e a formação do relatório do teste está completamente fora de questão!

Fazer corridas com o mesmo número de carraças e um número diferente de trocas. Depois pode comparar.
Документация по MQL5: Торговые функции / HistoryDealsTotal
Документация по MQL5: Торговые функции / HistoryDealsTotal
  • www.mql5.com
Торговые функции / HistoryDealsTotal - Документация по MQL5
 

No processo de teste, surgiram algumas questões, eu mostro fotografias tiradas ao mesmo tempo:

Como se pode ver pela figura, apenas três núcleos estão a funcionar, enfrentando mais de uma vez uma situação em que, no decurso dos testes, o número de núcleos envolvidos no trabalho diminuiu gradualmente para zero, entrando depois em funcionamento de uma só vez, ou seja, há inactividade, porque é que os núcleos libertados não começam a funcionar imediatamente?

O número de execuções é definido como 287, mas os resultados da optimização mostram-no dessa forma:

o que significam então estes números? O número de pontos no gráfico de optimização é também cerca de 381...

Razão: