Erros, bugs, perguntas - página 1885

 
Porquê EX5 tal código
void OnStart() {}

pesa 5Kb?

 
fxsaber:
Porquê EX5 tal código

pesa 5Kb?

Descompilar a protecção?
 
fxsaber:
Localizou o bug em Metaquotes-Demo

O guião entra em profunda reflexão.

Reproduzível.

Provavelmente porque a tabela de carrapatos desta ferramenta está "à espera de actualização".

Quando o guião pára, coloca-se -1 no registo, ou seja, não fica pendurado, mas espera que o terminal responda.

 
fxsaber:
Localizou o bug em Metaquotes-Demo

O guião entra em profunda reflexão.

Tudo funciona correctamente (de acordo com a documentação):
Em Expert Advisors e scripts CopyTicks() pode esperar até 45 segundos pelo resultado: Ao contrário do indicador, cada perito e script trabalha no seu próprio fio, e portanto pode esperar até 45 segundos para a conclusão da sincronização. Se durante este tempo, os ticks não forem sincronizados no volume necessário, CopyTicks() só retornará os ticks disponíveis por timeout, e a sincronização continuará.
2017.05.11 14:41:31.154 Scripts script test_bug (EURUSD,M1) carregado com sucesso
2017.05.11 14:42:14.742 Scripts script test_bug (EURUSD,M1) removido

 

A longa espera pelos copyticks será corrigida - isto aparece em personagens mortos que não têm carraças há muito tempo.

Funcionará instantaneamente

 
Renat Fatkhullin:

A longa espera pelos copyticks será corrigida - isto aparece em personagens mortos que não têm carraças há muito tempo.

Funcionará instantaneamente.

Que custos de tempo devem ser considerados como normais?

Símbolo verificadoInfoTick (96 caracteres).

#define _CS(A) ((!IsStopped()) && (A))
#define  TOSTRING(A) #A + " = " + (string)(A)

void OnStart()
{
  ulong MaxInterval = 0;
  MqlTick Tick;
  
  while (_CS(true))
  {
    const ulong StartTime = GetMicrosecondCount();
    
    for (int i = SymbolsTotal(true) - 1; _CS(i >= 0); i--)
      SymbolInfoTick(SymbolName(i, true), Tick);

    const ulong Interval = GetMicrosecondCount() - StartTime;              
    
    if (Interval > MaxInterval)
    {
      MaxInterval = Interval;
      
      Print(TOSTRING(MaxInterval));
    }
  }
}

Tenho

MaxInterval = 7631

Normal?

 
fxsaber:

Que custos de tempo devem ser considerados como a norma?

Símbolo verificadoInfoTick (96 caracteres)

Já o tenho

Norma?

45 segundos por instrumento morto.
 
Andrey Khatimlianskii:
45 segundos por instrumento morto.
Apenas os vivos são de interesse. Uma a uma 100 peças.
 

Isto é sequer normal?

O mesmo valor é devolvido para situações diferentes.

Compreendo que tenho de verificar, mas as coisas acontecem...

posições

impressão de resultados


Arquivos anexados:
posi.mq5  2 kb
 
Alexandr Bryzgalov:

Isto é sequer normal?

O mesmo valor é devolvido para situações diferentes.

Compreendo que tenho de verificar, mas as coisas acontecem...

posições

impressão de resultados



E qual é a questão?

Onde se pode ver que sob o número "i" existe uma posição com bilhete de sucção, para símbolo de sucção e tal? Em geral, para além de simplesmente exibir o número de série, também emitem o bilhete e o símbolo.