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

 
Краш MetaEditor по F7
union UNION
{
  uchar Bytes[sizeof(MqlTick)];
  MqlTick Tick;
};

void OnStart()
{
  UNION a, b;
   
  a = b;
}
 
Konstantin:

скорее всего из-за того, что размер массива нужно объявить константой, тем более что размер MqlTick явно не изменится ))
Массив и объявляется константой. Краш редактора.
 
fxsaber:
Краш MetaEditor по F7

та же песня, скорее всего из-за копирования a = b; без него все нормально
 
fxsaber:
Массив и объявляется константой. Краш редактора.

не успел удалить ))
 
Подскажите, пожалуйста, планируется ли добавление использования template к union, что бы можно было так:
template<typename T>
union structToBytes
{
  uchar bytes[sizeof(T)];
  T data;
};
 

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

а то у меня выходит так - наоптимизировал,запускаешь прогон на реальных тиках, у меня в данном случае создается кэш на 6ГБ. при изменении даты тестирования,кэш освобождается. ну это и понятно, данные будут заново синхронизироваться.

но вот у меня кэш затирается минут через 5 - это нормально? если не запускаешь заново прогон,т.е. отошел от компа,вернулся, а он тебе заново туда-сюда пишет 6ГБ,это никакого жесткого диска не хватит, сотрется.

разве не логичней сделать  очистку кэша при изменении даты тестирования,советника или выгрузке терминала? к чему делать привязку по времени?

 
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 - так и не исправили.