Erros, bugs, perguntas - página 1877

kaus_bonus:

qual é o tempo para limpar a cache do agente testador no MT5?



perguntou e respondeu)))

Percebo que o tempo de limpeza da cache é de 6 min. após este tempo a pasta temporária do agente testador é limpa, e depois a preparação dos dados prossegue novamente.

isto é ridículo.

Sergey Dzyublik:
Por favor, digam-me se há planos para adicionar o uso do modelo ao sindicato, para que o possam fazer:
Bypass - ver como isto é implementado em TypeToBytes.
O erro é correcto neste caso? Como pode ser contornada sem remover a const?
struct STRUCT
{
  const MqlTick Data;
  
  STRUCT( MqlTick &Tick ) : Data(Tick) {} // 'Data' - constructor not defined
};

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

Insectos, insectos, perguntas

fxsaber, 2017.04.10 16:23

Criar sobrecargas desnecessárias de modelos que causam erros de compilação.
template <typename T>
T Func()
{
  T Res;
  
  return(Res);
}

template <typename T>
void Func( T& Value )
{
  T Res = (MqlTick)Value;
}

void OnStart()
{
  Func<string>(); // без этой строки компилируется
  
  MqlTick Tick;
  
  Func(Tick);
}

O compilador está a tentar criar um

void Func( string& );
1595 - nunca fixado.
Conselheiro
input int i = 0;

void OnInit() {}

Parâmetros optimizadores 1595

A optimização bruta levou 5,5 minutos, o que é, no mínimo, incorrecto.

Todos os registos estão no ficheiro anexo. Por favor, assine se é ou não reprodutível.

Arquivos anexados:
Tester.zip  24 kb
fxsaber:
1595 - nunca fixado.


Remover o elenco explícito da estrutura e tudo funciona.

template <typename T>
T Func(){
  T Res;
  return(Res);
}

template <typename T>
void Func( T& Value ){
  T Res = Value;
}

void OnStart()
{
  Func<string>(); 
  
  MqlTick Tick;
  Func(Tick);
}


Sergey Dzyublik:


Remover o elenco explícito da estrutura e tudo funciona.

Os programadores confirmaram o erro no SD. Olha com atenção, o elenco não está lá.
fxsaber:
Os programadores confirmaram o erro no SD. Olha com atenção, a peça fundida não está lá.

template <typename T>
void Func( T& Value )
{
  T Res = (MqlTick) Value;
}
Como se chama então esta operação?
Sergey Dzyublik:


Remover o elenco explícito da estrutura e tudo funciona.

Duas perguntas.

1. O que é que este código regista?

2. Como é que o elenco se relaciona com o erro de seleccionar a função correcta de sobrecarga?

No MT5 1595 32bit funciona tudo na perfeição (Win7 64bit):


template <typename T>
T Func(){
  T Res;
  Print (__FUNCTION__);
  return(Res);
}

template <typename T>
void Func( T& Value ){
  Print (__FUNCTION__);
  T Res = Value;
}

void OnStart()
{
  Func<string>(); 
  
  MqlTick Tick;
  Func(Tick);
}

Resultado:
2017.04.26 14:51:14.834 WebTest (EURUSD,H4) Func<string>
2017.04.26 14:51:14.836 WebTest (EURUSD,H4) Func<MqlTick>


Nenhum bug com selecção de função, como pode relacionar-se com o facto de não haver nenhum))