UniMagicNumber – library MetaTrader 5

The library allows receiving a magic number bound to three elements:

  • Symbol (financial instrument) name;
  • Timeframe;
  • Prefix index;

All these three elements are to be encoded in 64 bits, of which:

  • Symbol name = 48 bits (the first 8 characters are taken from the name);
  • Timeframe = 5 bits;
  • Prefix index = 11 bits (may be a number from 0 to 2047, inclusive).

The prefix number is necessary for obtaining several unique magic numbers on a single chart. To do this, we need to call the appropriate function with different prefix indices. The number of prefix indices is limited and may vary from 0 to 2047, inclusive.

To obtain the magic number, just call the function:

ulong GetMagicNumber(ushort prefix,//prefix number
                     string symbol,//Symbol name
                     ENUM_TIMEFRAMES tf);//Timeframe

Example of use:

//+------------------------------------------------------------------+
//| Input params
//+------------------------------------------------------------------+
input ushort MagicPrefixNumber_ = 0;

//+------------------------------------------------------------------+
//| Import functions
//+------------------------------------------------------------------+
#import "cUniMagicNumber.ex5"
   ulong GetMagicNumber(ushort prefix,//prefix number
                        string symbol,//Symbol name
                        ENUM_TIMEFRAMES tf);//Timeframe
#import

//+------------------------------------------------------------------+
//| Global Vars
//+------------------------------------------------------------------+
ulong _MagicNumber;

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
{
   _MagicNumber = GetMagicNumber(MagicPrefixNumber_, Symbol(), Period());

   return (INIT_SUCCEEDED);
}


https://www.mql5.com/ru/code/22069

Alternative:  Doji_Arrows - indicator MetaTrader 5
📈 ROBOTFX MetaTrader Expert Advisors and Indicators to maximize profits and minimize the risks