Ошибки, баги, вопросы - страница 1877

 
kaus_bonus:

время очистки кэша тестерого агента какое в МТ5?



сам спросил - сам ответил))

у меня выходит,что время очистки кэша 6 мин. через это время папка temp тестерного агента очищается,и затем идет снова бесконечная подготовка данных.

маразм какой-то.

 
Sergey Dzyublik:
Подскажите, пожалуйста, планируется ли добавление использования template к union, что бы можно было так:
Обходится - посмотрите, как это реализовано в TypeToBytes.
 
Разве в данном случае ошибка корректна? Как ее обойти, не убирая const?
struct STRUCT
{
  const MqlTick Data;
  
  STRUCT( MqlTick &Tick ) : Data(Tick) {} // 'Data' - constructor not defined
};
 

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Ошибки, баги, вопросы

fxsaber, 2017.04.10 16:23

Создание лишних template-перегрузок, которые приводят к ошибкам компиляции
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);
}

Компилятор зачем-то пытается создать

void Func( string& );
1595 - так и не исправили.
 
Советник
input int i = 0;

void OnInit() {}

Параметры оптимизатора 1595

Brute-оптимизация заняла 5.5 минут, что, мягко говоря, неправильно.

Все логи в приложенном файле. Прошу отписаться, воспроизводится или нет.

Файлы:
Tester.zip  24 kb
 
fxsaber:
1595 - так и не исправили.


Уберите явный Struct cast и все работает.

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:


Уберите явный Struct cast и все работает.

Разработчики подтвердили ошибку в СД. Посмотрите внимательно, кастинга там нет.
 
fxsaber:
Разработчики подтвердили ошибку в СД. Посмотрите внимательно, кастинга там нет.

template <typename T>
void Func( T& Value )
{
  T Res = (MqlTick)Value;
}
Как тогда называется эта операция?
 
Sergey Dzyublik:


Уберите явный Struct cast и все работает.

Эээ два вопроса.

1. что выдаст этот код в лог?

2. как каст соотносится с багом выбора правильной перегрузки функции?

 
На МТ5 1595 32бит работает все на ура (Win7 64бит):


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

Результат:
2017.04.26 14:51:14.834 WebTest (EURUSD,H4) Func<string>
2017.04.26 14:51:14.836 WebTest (EURUSD,H4) Func<MqlTick>


Нету бага с выбором функции, как он может соотносится с тем, что его нет))
Причина обращения: