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

 
Aleksandr Slavskii #:

Как то попадалось сообщение с такой же проблемой.

Решилось изменением языка в профиле.

Меняешь язык, ищешь не прочитанное сообщение.


Офигенное юзабилити.
🥴
 
Aleksandr Slavskii #:

Как то попадалось сообщение с такой же проблемой.

Решилось изменением языка в профиле.

Меняешь язык, ищешь не прочитанное сообщение.

Нет. Приватные сообщения не имеют языковое разделение. Все языки в одной куче.
Только сообщения форума разделяются по языкам.
 
Nikolai Semko #:
Нет. Приватные сообщения не имеют языковое разделение. Все языки в одной куче.
Только сообщения форума разделяются по языкам.

У меня когда такое бывает, то я иду в профиле сюда -

с по всем (all charts, private charts, и так далее) - просматриваю вниз, и просто ищу желтую точку справа (часто бывает, что пользователь удален, и это потом получается как непрочитанное):

 
Sergey Golubev #:

У меня когда такое бывает, то я иду в профиле сюда -

с по всем (all charts, private charts, и так далее) - просматриваю вниз, и просто ищу желтую точку справа (часто бывает, что пользователь удален, и это потом получается как непрочитанное):

Починили. 
Спасибо!
Видимо в ручном режиме.
 

Не особо силен в макросах

Собрал небольшой код:

#define _Ndd(aValue, Dt)                  \
   if (Dt>=0)                             \
   ::NormalizeDouble(aValue, Dt);         \
   else                                   \
   ::NormalizeDouble(aValue, _Digits)

Ошибка возникает при применении кода.

Что не так ?

Есть ли где то хорошие примеры, что бы подтянуться по макросам ?

 
  _Ndd(1, 1);
Vladimir Pastushak #:

Собрал небольшой код:

Ошибка возникает при применении кода.

Что не так ?

  _Ndd(1, 1);

Либо пропишите в сам макрос.

 
fxsaber #:

Либо пропишите в сам макрос.

Будьте добры подскажите, всё перепробовал:

#define _Ndd(aValue, Dt)                  \
   if (Dt>=0)                             \
   ::NormalizeDouble(aValue, Dt);         \
   else                                   \
   ::NormalizeDouble(aValue, _Digits)  
   
int OnInit()
  {
 
   ::Print(_Ndd(0.23654654,2) );
    
   return(INIT_SUCCEEDED);
  }

Имею на выходе:

';' - unexpected in macro definition    Test.mq5        6       25
';' - unexpected token  Test.mq5        17      12
';' - syntax error      Test.mq5        17      12
'NormalizeDouble' - some operator expected      Test.mq5        17      12
illegal 'else' without matching 'if'    Test.mq5        17      12
 
Vladimir Pastushak #:

Имею на выходе:

   ::Print(if (2>=0) ::NormalizeDouble(0.23654654, 2); else ::NormalizeDouble(0.23654654, _Digits) );

Такое раскрытие макроса.


Делайте, например, так.

#define _Ndd(aValue, Dt) ::NormalizeDouble(aValue, ((Dt)>=0) ? (Dt) : _Digits)
 
fxsaber #:

Такое раскрытие макроса.


Делайте, например, так.

Благодарю!

А возможно ли сделать перегрузку макроса?

 
Vladimir Pastushak #:

А возможно ли сделать перегрузку макроса?

Нет.