Errores, fallos, preguntas - página 1877

 
kaus_bonus:

¿cuál es el tiempo para borrar el caché del agente de pruebas en MT5?



has preguntado y has respondido))

Consigo que el tiempo de limpieza de la caché sea de 6 min. después de este tiempo se borra la carpeta temporal del agente de pruebas, y entonces la preparación de los datos vuelve a funcionar.

esto es ridículo.

 
Sergey Dzyublik:
Por favor, dígame si hay planes para añadir el uso de la plantilla a la unión, para que pueda hacer esto:
Bypass - ver cómo se implementa en TypeToBytes.
 
¿Es correcto el error en este caso? ¿Cómo se puede evitar sin eliminar la const?
struct STRUCT
{
  const MqlTick Data;
  
  STRUCT( MqlTick &Tick ) : Data(Tick) {} // 'Data' - constructor not defined
};
 

Foro sobre trading, sistemas de trading automatizados y pruebas de estrategias de trading

Bichos, errores, preguntas

fxsaber, 2017.04.10 16:23

Creación de sobrecargas de plantillas innecesarias que provocan errores de compilación.
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);
}

El compilador está tratando de crear un

void Func( string& );
1595 - nunca se arregló.
 
EA
input int i = 0;

void OnInit() {}

Parámetros del optimizador 1595

La optimización bruta ha durado 5,5 minutos, lo que es, como mínimo, incorrecto.

Todos los registros están en el archivo adjunto. Por favor, firme si es reproducible o no.

Archivos adjuntos:
Tester.zip  24 kb
 
fxsaber:
1595 - nunca se arregló.


Quita el molde explícito de Struct y todo 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:


Quita el molde explícito de Struct y todo funciona.

Los desarrolladores han confirmado el error en la SD. Fíjate bien, el yeso no está ahí.
 
fxsaber:
Los desarrolladores han confirmado el error en la SD. Fíjate bien, la fundición no está ahí.

template <typename T>
void Func( T& Value )
{
  T Res = (MqlTick) Value;
}
¿Cómo se llama entonces esta operación?
 
Sergey Dzyublik:


Quita el molde explícito de Struct y todo funciona.

Dos preguntas.

1. ¿qué registra este código?

2. ¿cómo se relaciona el cast con el error de seleccionar la sobrecarga de la función correcta?

 
En MT5 1595 32bit funciona todo a la perfección (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>


No hay error con la selección de funciones, ¿cómo puede relacionarse con el hecho de que no hay))
Razón de la queja: