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

 
Sergey Gridnev #:
А вкладка какая?
Andrey Kaunov #:

Вы вероятно не там ищите. Вкладка "Эксперты", смотрите там.

Блин, дико извиняюсь, запарился, действительно в журнале ж смотрю. Где моя внимательность... Пол часа не мог понять почему от индикатора результаты через принт не выводятся.

 
Bug ME (build 3296) Везде где возможно, при отладке или неудачной компиляции обрезается имя функции/класса, если ее длина превышает некий не совсем большой лимит порядка 256 символов.
Проблема подымалась еще два года назад.
Код для наглядности, запускать в debug режиме:
class IteratorRandomAccess_Base{};

template<typename _IteratorRandomAccess1, typename _IteratorRandomAccess2, typename _IteratorRandomAccess3, typename _IteratorRandomAccess4>
class iterator_wrapper{
public:
   iterator_wrapper(){}
   iterator_wrapper(iterator_wrapper &obj){this = obj;}
};


template<typename _IteratorRandomAccess1, typename _IteratorRandomAccess2, typename _IteratorRandomAccess3, typename _IteratorRandomAccess4>
iterator_wrapper<_IteratorRandomAccess1, _IteratorRandomAccess2, _IteratorRandomAccess3, _IteratorRandomAccess4>
search(iterator_wrapper<_IteratorRandomAccess1, _IteratorRandomAccess2, _IteratorRandomAccess3, _IteratorRandomAccess4> &first1,
       iterator_wrapper<_IteratorRandomAccess1, _IteratorRandomAccess2, _IteratorRandomAccess3, _IteratorRandomAccess4> &first2,
       iterator_wrapper<_IteratorRandomAccess1, _IteratorRandomAccess2, _IteratorRandomAccess3, _IteratorRandomAccess4> &first3,
       iterator_wrapper<_IteratorRandomAccess1, _IteratorRandomAccess2, _IteratorRandomAccess3, _IteratorRandomAccess4> &first4)
{
   DebugBreak();        // #1   
   //first1 = 1;        // #2   Uncomment it to check the issue with the completion error description
   return first1;
}

void OnStart()
{
   iterator_wrapper<IteratorRandomAccess_Base, IteratorRandomAccess_Base, IteratorRandomAccess_Base, IteratorRandomAccess_Base> it;
   search(it, it, it, it);
}

#1 - проблема касается как в окна стека вызовов так и в окна значений переменных;
#2 - проблема касается окна описания ошибок компиляции.
 
Ввиду текущих работ по МЕ, прошу наконец-таки реализовать поддержку intellisense для namespace.
На текущий момент, с точки зрения UX(User Experience) использование namespace просто неюзабельно, необходимо на память запоминать названия десятка функций, ведь ни какая подсказка не всплывает.

В конечном итоге от namespace пришлось отказаться в пользу статических методов класса, где  intellisense работает на ура.
Единственный плюс namespace - это  "extension namespace definition", но и тут проще реализовывать отсутствующую возможность через include костыли, чем пользоваться namespace в MQL.
namespace NameSpace{  
   void func(int &[], int, int){}
};

// included from other file
namespace NameSpace_A{  
   void func(string, int, int){}
};


class ClassNameSpace{  
public:
   static void func(int &[], int, int){}
   
   // included from other file
   static void func(string, int, int){}
};


void OnStart(){
   NameSpace::fun                       // Intellisense results:   NONE
   ClassNameSpace::fun                  // Intellisense results:   "func(string ,int ,int )"  "func(int &[],int ,int )"
}



 

МТ5 билд 33

При инициализации печатаю в журнал _Period. ТФ переключаю от м1 по порядку 


 
Nikita Chernyshov #:

МТ5 билд 33

При инициализации печатаю в журнал _Period. ТФ переключаю от м1 по порядку 


И всё верно...
 

сегодня запустил терминал, логины слетели и в них какая то абракадабра, прилетело сразу же обновление, перезагрузил, наблюдаю такую картину:


Билд:


 
Andrey Dik #:

сегодня запустил терминал, логины слетели и в них какая то абракадабра, прилетело сразу же обновление, перезагрузил, наблюдаю такую картину:

Как одну из возможных причин предположу повреждение данных на диске (сам диск, файловая система, вредоносный софт, перегрев, проблемы блока питания или преобразователей на MB, ...).

А, вот ещё конспирологический вариант - это ответка за тему про доллар :)

 
Artyom Trishkin #:
И всё верно...

Тогда не понял.

_Period выдает текущий тф, отображается в минутах. Верно или нет?

 
Nikita Chernyshov #:

Тогда не понял.

_Period выдает текущий тф, отображается в минутах. Верно или нет?

Нет, _Period в MT5 (в отличие от MT4) битовое поле, распечатайте его в HEX, будет понятнее, как это поле кодируется

 
Если записать datetime в двоичный файл, то в какой тип нужно считывать его потом в С++ (mingw64 вроде) uint64_t или time_t? Вопрос возник из-за того, что  time_t там тоже 64-битный.