Можно ли как-то период графика в строку записать?

 

Появилось надобность для некоторых удобств сделать функцию:

//==================================================================================================================================================================================
// 4.1 Преобразование уникального идентификатора таймфрейма(ТФ) графика в текстовую строку. ========================================================================================
string tfToS(ENUM_TIMEFRAMES TF) export {
//---
  string tfStr = EnumToString(TF);
  
  if (TF != PERIOD_CURRENT)
    return StringSubstr(tfStr, 7, StringLen(tfStr) - 1);
  else
    return EnumToString(PERIOD_CURRENT);
}

Она возвращает из перечисления ENUM_TIMEFRAMES всё, что после PERIOD. Но вот один нюанс возник. Мне совсем не нравится последний ретурн. Он недописан, как видно.

return EnumToString(PERIOD_CURRENT);

Как мне можно узнать какой из перечислений является текущим? Ведь само собой разумеется, что текущий график как и ТФ равен 0 из перечисления. В то же самое время, он является ещё каким-то из перечислений, который его конкретизирует, например, PERIOD_M1

Как мне узнать к каком ТФ принадлежит текущий ТФ ?

 
hoz:

Появилось надобность для некоторых удобств сделать функцию:

Она возвращает из перечисления ENUM_TIMEFRAMES всё, что после PERIOD. Но вот один нюанс возник. Мне совсем не нравится последний ретурн. Он недописан, как видно.

Как мне можно узнать какой из перечислений является текущим? Ведь само собой разумеется, что текущий график как и ТФ равен 0 из перечисления. В то же самое время, он является ещё каким-то из перечислений, который его конкретизирует, например, PERIOD_M1

Как мне узнать к каком ТФ принадлежит текущий ТФ ?

А если так:

  else
    return(EnumToString(Period()));
Причина обращения: