Общайтесь с разработчиками через Сервисдеск! - страница 172

 

В стандартной библиотеке обнаружил архаичный и приводящий к неверному результату метод преобразования ENUM to String.

//| Converting value of ENUM_APPLIED_PRICE into string               |
//+------------------------------------------------------------------+
string CIndicator::PriceDescription(const int val) const
  {
   string str;
//--- array for conversion of ENUM_APPLIED_PRICE to string
   static string _a_str[]={"Close","Open","High","Low","Median","Typical","Weighted"};
//--- check
   if(val<0)
      return("Unknown");
//---
   if(val<7)
      str=_a_str[val];
   else
     {
      if(val<10)
         str="PriceUnknown="+IntegerToString(val);
      else
         str="AppliedHandle="+IntegerToString(val);
     }
//---
   return(str);
  }
 
Mikhail Dovbakh:

В стандартной библиотеке обнаружил архаичный и приводящий к неверному результату метод преобразования ENUM to String.

В чём неверность результата?

 
Artyom Trishkin:

В чём неверность результата?

Maccив нумеруется с нуля. А перечисление с единицы.

Поэтому происходит сдвиг, а "Close" теряется. Вместо него уже "Open".

Вот  пример  корректного преобразования в строку. )

ENUM_APPLIED_PRICE price;
   for (price=1;price<8;price++)
   printf ("index %i Enum='%s'",price,EnumToString(price));
   
JG      0       09:32:28.216    Bugs (EURUSD,M1)        index 1 Enum='PRICE_CLOSE'
LR      0       09:32:28.224    Bugs (EURUSD,M1)        index 2 Enum='PRICE_OPEN'
IK      0       09:32:28.224    Bugs (EURUSD,M1)        index 3 Enum='PRICE_HIGH'
JN      0       09:32:28.224    Bugs (EURUSD,M1)        index 4 Enum='PRICE_LOW'
QK      0       09:32:28.224    Bugs (EURUSD,M1)        index 5 Enum='PRICE_MEDIAN'
PN      0       09:32:28.224    Bugs (EURUSD,M1)        index 6 Enum='PRICE_TYPICAL'
HK      0       09:32:28.224    Bugs (EURUSD,M1)        index 7 Enum='PRICE_WEIGHTED'
 
Mikhail Dovbakh:

Maccив нумеруется с нуля. А перечисление с единицы.

Поэтому происходит сдвиг, а "Close" теряется. Вместо него уже "Open".

Вот  пример  корректного преобразования в строку. )

Оп-па... А когда это в MQL5 сместили нумерацию на 1. Проверил в MQL4 - там начинается нумерация индексов перечислений с нуля.

 

Прошу разработчиков обратить внимание на мою тему https://www.mql5.com/ru/forum/363485

И особенно на https://www.mql5.com/ru/forum/363485#comment_22899827

Что не так с тиковой историей на MetaQuotes-Demo
Что не так с тиковой историей на MetaQuotes-Demo
  • 2021.02.23
  • www.mql5.com
Есть у меня тиковый индикатор. Получаю от него такую информацию: Почему с этой даты индикатор не может даже начать расчёт...
 
Опять перестали приходить сообщения от SYSTEM. 

При чем на телефон тоже не приходит. 


Upd спасибо  теперь все пришло пачкой. 
 
Комментарии, не относящиеся к этой теме, были перенесены в "Негативный отзыв, заявление в регуляторы и Роскомнадзор.".
 

Здравствуйте!

Прошу администраторов обратить внимание на работу в фрилансе https://www.mql5.com/ru/job/148365/ и исправить

Заказчик утверждает что не может подтвердить шаг передача и оплата

с моей стороны так


с его стороны так


Фриланс-сервис на MQL5.com: CREAR EA RSI
Фриланс-сервис на MQL5.com: CREAR EA RSI
  • 2021.06.03
  • www.mql5.com
Realizar EA expert MT4 con los dos archivos tanto editor como .exe El bot se basa en RSI, divergencias y entradas según envolventes y/o morning/evening star. Es preciso que sea un robot àgil, fiable y rápido. Incluye varias modificaciones a petición mía. - ru
 
Denis Nikolaev:

Здравствуйте!

Прошу администраторов обратить внимание на работу в фрилансе https://www.mql5.com/ru/job/148365/ и исправить

Заказчик утверждает что не может подтвердить шаг передача и оплата

с моей стороны так

с его стороны так

Нужно обновить страницу после каждого действия, почему-то раньше работало нормально, а сейчас есть с этим проблемы

 
Vitaly Muzichenko:

Нужно обновить страницу после каждого действия, почему-то раньше работало нормально, а сейчас есть с этим проблемы

Благодарю! Написал заказчику, чтобы он это попробовал