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

 
Дайте комент,плиз!На вин семерки все было хорошо,ну теперь установил десятку,и не могу открыть торговый счёт в мт5.Там появилось странное поле справа от поля с телефоном("Требуеться"),если его заполнять,то оно становеться красное,но что угодно заполняй,а панелька "далее" все равно не активна!((( Обьясните,как исключить это зло и открыть свой счёт(у диллера Альпари),снепшот прилогаю!Спасибо.
Файлы:
 
Vladimir Karputov:

Для ru и для en раскладки (и для строчных и для прописных) lparam будет 67:

Спасибо, TranslateKey - то, что нужно.

 
Как вообще в сервисдеск обратиться? у меня нет такой функции, нужны какие то привилегии, чтоб появилась кнопка сервисдеска ?
 
Nayati:
Как вообще в сервисдеск обратиться? у меня нет такой функции, нужны какие то привилегии, чтоб появилась кнопка сервисдеска ?

Нужно хоть раз провести финансовую операцию. Зачем Вам СервисДеск? Какой вопрос?

 
Vladimir Karputov:

Нужно хоть раз провести финансовую операцию. Зачем Вам СервисДеск? Какой вопрос?



Никак не пойму , что за странный баг с зигзагообразным отображением эквити в тестере. Открытие брокер фондовая секция , демо . При изменении настройки символа "Способ расчетов" с  " Ехchange Stoks" на "Forex" , эквити отображается нормально. Такое же наблюдалось несколько лет назад , хотел попробовать подключить MT5 на фонду, протестировал , испугался и плюнул на все. Сейчас попробовал снова и тоже самое. Как то странно???

 
Баг МТ5 (build 2340) при передаче internal struct в шаблонную функцию, полученный тип данных невозможно использовать как базовый тип данных для другой internal struct в шаблонном классе:

struct It_Base{
public:
   class Tag{};
   int index;
};

class V{
public:
   struct It{
      class Tag{};
      int index;
   };
};


template<typename T>
class GetStructType{
public:
   struct type : public T{};  // Error: 'It' - declaration without type, 'It' - syntax error
};

template<typename T>
void func(const T &){
   // Bypass Compile Error for //T::Tag* tag_ptr = new T::Tag(); 
   GetStructType<T>::type::Tag* tag_ptr = new GetStructType<T>::type::Tag();
};


void OnStart (){ 
   It_Base iterator_base = {};
   func(iterator_base);         // OK
   
   V::It iterator = {};
   func(iterator);              // Compile Error
}
 

Баг МТ5 (build 2340), это какой-то треш...
Все абсолютно верно, а оно не компилируется и ругается на то, чего нет...
Пробуешь локализовать баг, а оно как на зло все работает, код на 99% один и тот же - тут работает, а в рамках проекта нет...

#ifdef  __cplusplus
    #include <iostream>
#endif

class input_iterator_tag  {};
class forward_iterator_tag       : public input_iterator_tag         {};
class bidirectional_iterator_tag : public forward_iterator_tag       {};
class random_access_iterator_tag : public bidirectional_iterator_tag {};


template<typename _Iterator, typename _Tp>
_Iterator set_value(const _Iterator &val,  _Tp &value, const input_iterator_tag* tag){
   printf("1\r\n");
   return val;
};

template<typename _Iterator, typename _Tp>
_Iterator set_value(const _Iterator &it,  _Tp &value, const  forward_iterator_tag*  tag){
   printf("2\r\n");
   return set_value(it, value, (input_iterator_tag*)NULL);
};

template<typename _Iterator, typename _Tp>
_Iterator set_value(const _Iterator &it,  _Tp &value, const  bidirectional_iterator_tag*  tag){
   printf("3\r\n");
   return set_value(it, value, (forward_iterator_tag*)NULL);
};

template<typename _Iterator, typename _Tp>
_Iterator set_value(const _Iterator &it,  _Tp &value, const random_access_iterator_tag* tag){
   printf("4\r\n");
   return set_value(it, value, (bidirectional_iterator_tag*)NULL);
};


template<typename _Iterator, typename _Tp>
_Iterator set_value(const _Iterator &it, _Tp &value){
   return set_value(it, value, it.tag);                      //Error: 'set_value' - ambiguous call to overloaded function       
};


template<typename T>
struct A{
   T data;
   static random_access_iterator_tag* tag;
};

template<typename T>
random_access_iterator_tag* A::tag = NULL;

class B{};


void OnStart (){ 
   A<B*> it;
   const B* const b_ptr = new B();
   set_value(it, b_ptr);                                     //Compile Error

   
   
   A<int> it_int;
   const int value_int = 5;
   set_value(it, value_int);         
}

int main(){
   OnStart();
   return 0;
};

Такое впечатление, что ранее найденные баги собрались в едином порыве и за счет общей синергии дали такой замечательный "результат":

- код абсолютно верный, и работает для всех типов, кроме указателей;
- вызовов перегруженных функций (set_value) выполняется на основании типа третьего аргумента, но с какого перепуга на полученный результат начинает влиять второй аргумент функции, когда туда передан указатель, мягко говоря - не понятно;
- если удалить const, назначенный зеленым цветом то, о чудо, все заработает...
- с другой стороны, если убрать всю иерархию наследования, оставив те ж классы но без базовых, то опять все заработает...
- ну и напоследок - результат компиляции зависит от последовательности расположения перегруженных шаблонных функций set_value, перемешаете и получите новые ошибки...


 

день добрый ! сегодня обновился с утра mt5 bild2340 теперь некоторые индикаторы с маркета  не запускаются .

выдает ошибка 2020.02.25 10:01:41.646 Custom Indicator loading of YuClusters (Si-3.20,M15) failed [538]

не устанавливается индикатор выдает ошибку и закладка маркет пропала в мт5

2020.02.25 10:24:37.385 MQL5 Market failed to get of info product (www.mql5.com:443 send failed [404: Not Found])
2020.02.25 10:24:37.385 MQL5 Market product [2835] not found in the database

 
Неужели у всех на фонде MOEX все тестируется нормально, а у меня треш какой то? Или этот баг с эквити в тестере в виде зигзага - в порядке вещей, что за странная тишина????
 
Nayati:
Неужели у всех на фонде MOEX все тестируется нормально, а у меня треш какой то? Или этот баг с эквити в тестере в виде зигзага - в порядке вещей, что за странная тишина????

Дайте детали для воспроизведения. Может, кто-то и заинтересуется. Так шансов вообще нет.

Код, инструмент, параметры теста.

Причина обращения: