Новая версия платформы MetaTrader 5 build 5200: расширение OpenBLAS и усиление контроля в MQL5 - страница 15

 
После обновления 0BJPROP_TEXT теперь возвращает пустую строку. И как теперь быть? Вчера вечером нормально было. Сегодня утром открываю и такая фигня
 
Murat Ishakov #:
И как теперь быть?

привыкать :-) 

 
Maxim Kuznetsov #:

привыкать :-) 

Я не понял у них теперь не работает, а нам привыкать?

 
Murat Ishakov #:

Я не понял у них теперь не работает, а нам привыкать?

у них работает, у тебя нет..

значит привыкать тебе :-)

шутка конечно, потому-что контрольный :

#property copyright "Maxim Kuznetsov"
#property link      "https://luxtrade.unaux.com"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
{
   for(int pos=ObjectsTotal(0)-1;pos>=0;pos--) {
      string name = ObjectName(0,pos);
      if (name == NULL || name == "") continue;
      string text = ObjectGetString(0,name,OBJPROP_TEXT);
      if (text == NULL || text == "") continue;
      PrintFormat("Object %s have text %s",name,text);
      
   }
}

всё корректно печатает.

 
Maxim Kuznetsov #:

привыкать :-) 

С какого я должен привыкать, когда у меня теперь ничего не работает?????

 
Murat Ishakov #:

С какого я должен привыкать, когда у меня теперь ничего не работает?????

если у вас код вдруг перестал работать и вы хотите на форуме узнать причину,

то разумно показать этот самый код. 

Иначе - страдать

 
Maxim Kuznetsov #:

проблема в том что "спец.значение" которым является EMPTY_VALUE в штатных функциях и индикаторах не интерпретируется никак, так и принимается за double и над ним производятся вычисления.

Пропуск в данных обозначаемый EMPTY_VALUE порождает дичайший мусор. 

К сведению модераторов EMPTY_VALUE - 100.0 даёт не ту величину на которую вы рассчитываете. 

А написать проверку типа:

if(dInputValue == EMPTY_VALUE)
        return(EMPTY_VALUE)

не судьба? 

В куче мест при расчётах в знаменателях может оказаться нуль - ты не проверяешь значения? 

Лично я считаю обязательным проверять значения, если есть хотя бы малейшая вероятность того, что в знаменатель может попасть нуль. 

Кроме того - в DEBUG-версии вобще в любой функции, считаю хорошим тоном начинать с проверки допустимости входных значений...  

 
Georgiy Merts #:

А написать проверку типа:

не судьба? 

В куче мест при расчётах в знаменателях может оказаться нуль - ты не проверяешь значения? 

Лично я считаю обязательным проверять значения, если есть хотя бы малейшая вероятность того, что в знаменатель может попасть нуль. 

Кроме того - в DEBUG-версии вобще в любой функции, считаю хорошим тоном начинать с проверки допустимости входных значений...  

А вот не судьба...

я не могу эту(подобную) проверку воткнуть в штатные индикаторы и функции. Я им не владелец

 
Maxim Kuznetsov #:

если у вас код вдруг перестал работать и вы хотите на форуме узнать причину,

то разумно показать этот самый код. 

Иначе - страдать

Вот я кликаю по кнопкам, надписям, имя объекта этот код выводит, а текста объектов нет


void OnChartEvent(const int id,
                  const long &lparam,
                  const double &dparam,
                  const string &sparam)
  {
     
   if(id==CHARTEVENT_OBJECT_CLICK)
      Print(sparam, "   ", ObjectGetString(0,sparam, OBJPROP_TEXT));
 }
 
Murat Ishakov #:
После обновления 0BJPROP_TEXT теперь возвращает пустую строку. И как теперь быть? Вчера вечером нормально было. Сегодня утром открываю и такая фигня

Спасибо за сообщение.
Исправление будет доступно в следующей бете.