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))