Erros, bugs, perguntas - página 2617

 
Stanislav Korotky:

Por favor, verifique por si mesmo o seguinte erro. O pedido tem um indicador especial minimalista cuja única tarefa é ler o estado da chave "capslock". É afixado no diário de bordo e no comentário.

A sequência de acções é a seguinte.

  1. Compilar indicador, colocá-lo no gráfico e certificar-se de que o 0 ("capslock" não está activado) está impresso.
  2. Mudar para ME, activar CapsLock e recompilar. Regresso ao terminal. Verifique os registos para se certificar de que o indicador antigo é descarregado e o novo é carregado. No entanto, o estatuto "CapsLock" ainda é devolvido como 0.
  3. Se removermos o indicador do gráfico e o carregarmos novamente, o capslock é reconhecido normalmente - exibe 1.

O que é o milagre? Ao reiniciar por compilação, algumas variáveis ambientais não são limpas ou o que mais?

A sondagem dos estados-chave é uma operação específica.

O estado real da chave é dado apenas para a janela activa. Isto é feito de propósito para que a janela inactiva não tenha interferência ao manusear o OnChartEvent

 

Símbolo personalizado, saída encontrada no livro de bordo O que significa isto?

2019.12.11 00:07:13.252 História 'DA6_CUSTOM' contentor inválido 2014.01.02 configurações do símbolo - dígitos: 4, tamanho do tick: 0
2019.12.11 00:07:13.254 História 'DA6_CUSTOM' contentor inválido 2014.01.03 configurações do símbolo - dígitos: 4, tamanho do tick: 0
2019.12.11 00:07:13.254 História 'DA6_CUSTOM' contentor inválido 2014.01.05 configurações do símbolo - dígitos: 4, tamanho do tick: 0
2019.12.11 00:07:13254 Histórico 'DA6_CUSTOM' contentor inválido 2014.01.06 configurações do símbolo - dígitos: 4, tamanho do tick: 0
2019.12.11 00:07:13.255 Histórico 'DA6_CUSTOM' contentor inválido 2014.01.07 definições do símbolo - dígitos: 4, tamanho do tick: 0
2019.12.11 00:07:13.255 História 'DA6_CUSTOM' contentor inválido 2014.01.08 definições do símbolo - dígitos: 4, tamanho do tick: 0
2019.12.11 00:07:13.255 História 'DA6_CUSTOM' contentor inválido 2014.01.09 configurações de símbolos - dígitos: 4, tamanho do tick: 0
2019.12.11 00:07:13.256 História 'DA6_CUSTOM' contentor inválido 2014.01.10 configurações de símbolos - dígitos: 4, tamanho do tick: 0
2019.12.11 00:07:13.256 História 'DA6_CUSTOM' contentor inválido 2014.01.12 configurações de símbolos - dígitos: 4, tamanho do tick: 0


 
Slava:

A sondagem de estado chave é uma operação específica.

O estado real da chave só é dado para a janela activa. Isto é feito intencionalmente para que quando o OnChartEvent é processado, a janela inactiva não obtenha interferência

Existem planos para adicionar eventos Windows ao OnChartEvent? Há alturas - que alguns dados vieram de fora, e através da dll é possível gerar imediatamente um evento para que o gráfico recolha os dados, em vez de interrogar os dados por temporizador. Poderá ter o OnChartEvent à espera de um Evento Windows pelo seu nome.

Anteriormente, no MT4, emulávamos um novo tick via PostMessage para desencadear uma EA num gráfico.

 
Slava:

O questionamento do estado das chaves é uma operação específica.

O estado real da chave só é dado para a janela activa. Isto é feito de propósito para que quando o OnChartEvent é processado, a janela inactiva não obtenha interferência

Sim, este é um dos casos em que a documentação incompleta é evidente. Os detalhes são revelados gota a gota, só depois de ocorrerem problemas.

 

Fórum sobre comércio, sistemas de comércio automatizados e testes estratégicos

Bibliotecas: MultiTester

fxsaber, 2019.12.13 10:24

Verifiquei o conteúdo do arquivo ZIP KB. Parece que os programadores a corrigiram, agora existem novas versões dos ficheiros no ZIP. Apenas as datas de arquivo aí presentes estão erradas. E o conteúdo é como deve ser.

 
Alain Verleyen:

Carácter personalizado, saída encontrada no livro de bordo O que significa isto?

2019.12.11 00:07:13.252 História 'DA6_CUSTOM' contentor inválido 2014.01.02 definições do símbolo - dígitos: 4, tamanho do tick: 0
2019.12.11 00:07:13.254 História 'DA6_CUSTOM' contentor inválido 2014.01.03 configurações do símbolo - dígitos: 4, tamanho do tick: 0
2019.12.11 00:07:13.254 História 'DA6_CUSTOM' contentor inválido 2014.01.05 configurações do símbolo - dígitos: 4, tamanho do tick: 0
2019.12.11 00:07:13.254 História 'DA6_CUSTOM' contentor inválido 2014.01.06 definições do símbolo - dígitos: 4, tamanho do tick: 0
2019.12.11 00:07:13.255 História 'DA6_CUSTOM' contentor inválido 2014.01.07 configurações do símbolo - dígitos: 4, tamanho do tick: 0
2019.12.11 00:07:13.255 História 'DA6_CUSTOM' contentor inválido 2014.01.08 configurações do símbolo - dígitos: 4, tamanho do tick: 0
2019.12.11 00:07:13.255 História 'DA6_CUSTOM' contentor inválido 2014.01.09 configurações do símbolo - dígitos: 4, tamanho do tick: 0
2019.12.11 00:07:13.256 História 'DA6_CUSTOM' contentor inválido 2014.01.10 configurações do símbolo - dígitos: 4, tamanho do tick: 0
2019.12.11 00:07:13.256 História 'DA6_CUSTOM' contentor inválido 2014.01.12 definições do símbolo - dígitos: 4, tamanho do tick: 0


Significa que o seu registo reporta um erro: os caracteres ainda são quatro, mas as carraças ainda estão em falta.

 
Vai provavelmente ser sobre recipientes. Precisa deles?
 

Infelizmente, esta verificação é muito rara, mas por vezes (duas vezes na última semana, cerca de uma centena de corridas) falha. Não consigo compreender as razões - os dados são do mesmo ficheiro/estrutura (?).

   datetime time[],
            START_H=D'01.02.2018';
   double   close[];

   int t=CopyTime (_Symbol,0,TimeCurrent(),START_H,time);
   int c=CopyClose(_Symbol,0,TimeCurrent(),START_H,close);

   if(t!=c) 
    {Print("Arrays (time & close) are not equal!!!"); return(false);}
 

Favor verificar/confirmar/verificar a situação que tenta actualizar a carta através do recomendadoChartSetSymbolPeriod(0, NULL, 0); o método pendura o terminal durante alguns segundos (o meu é ~15). Em anexo encontra-se um indicador simplificado para a reprodução.

Era necessário o seguinte (funcionava bem antes): há uma linha vertical (objecto) no indicador e depois de o utilizador o mover o indicador reconstrói com um novo valor de parâmetro de Offset retirado da posição da linha.

O próprio indicador é primitivo: mostra a citação tal como está (com parâmetros predefinidos) numa subjanela. É calculado instantaneamente.

Para resolver o problema é suficiente colocar o indicador no gráfico e mover a linha amarela vertical para trás algumas barras.

As mensagens são mostradas no registo:

- "Arrastar" instantaneamente sobre o facto.

- "Calc" após dezenas de segundos - é afixado em cada OnCalculate.

Durante "pendurar" o terminal carrega o núcleo da CPU a 100%. Depois deste enforcamento, o indicador é finalmente exibido com um novo offset. Mas o objectivo era exibir rapidamente o indicador para novas configurações - assim que o utilizador movimentar a linha.

Qual é o problema? Como repará-lo?

Obrigado de antemão.

Arquivos anexados:
FMA.mq5  4 kb
IndArray.mqh  5 kb
 
Denis Nikolaev:

MT5

Construir 2280

A função de contar o número de posições abertas com o símbolo e o número mágico especificados dispara repetidamente.

ou seja, a primeira chamada devolve o valor correcto, a segunda chamada devolve 0

Exemplo de código, por favor e descreva o ambiente comercial. Descreva-o de modo a poder ser reproduzido.

Razão: