Features of the mql5 language, subtleties and tricks - page 295

 

Not exactly on the topic, but decided to post here nevertheless.


In the Terminal Logs it works to search for a terminal line by its first letters, just by typing (ragistrophically) them on the keyboard.

This is not as convenient in the Logs as in the Market Watch and Navigator (I use it all the time in the Favourites tab to find the EX5 I need).

 

A little interesting observation about ENUM_TIMEFRAMES:

// fast calculation
string TimeframeToString(ENUM_TIMEFRAMES tf)
  {
   static const string ids[] = {
    "PERIOD_M", "PERIOD_H", "PERIOD_W", "PERIOD_MN"};
   return ids[tf / 16384] + IntegerToString(tf % 16384);
  }

void OnStart()
  {
   Print( TimeframeToString(PERIOD_M1 ) );
   Print( TimeframeToString(PERIOD_M2 ) );
   Print( TimeframeToString(PERIOD_M3 ) );
   Print( TimeframeToString(PERIOD_M4 ) );
   Print( TimeframeToString(PERIOD_M5 ) );
   Print( TimeframeToString(PERIOD_M6 ) );
   Print( TimeframeToString(PERIOD_M10) );
   Print( TimeframeToString(PERIOD_M12) );
   Print( TimeframeToString(PERIOD_M15) );
   Print( TimeframeToString(PERIOD_M20) );
   Print( TimeframeToString(PERIOD_M30) );
   Print( TimeframeToString(PERIOD_H1 ) );
   Print( TimeframeToString(PERIOD_H2 ) );
   Print( TimeframeToString(PERIOD_H3 ) );
   Print( TimeframeToString(PERIOD_H4 ) );
   Print( TimeframeToString(PERIOD_H6 ) );
   Print( TimeframeToString(PERIOD_H8 ) );
   Print( TimeframeToString(PERIOD_H12) );
   Print( TimeframeToString(PERIOD_D1 ) );
   Print( TimeframeToString(PERIOD_W1 ) );
   Print( TimeframeToString(PERIOD_MN1) );
 }
 
amrali #:

A small interesting observation about ENUM_TIMEFRAMES:

return ids[tf >> 14] + IntegerToString(tf & 0x3FFF);