Как получить имя работающего эксперта или индикатора?

 
Что то я не нашел. А иногда бывает надо библиотечной процедуре, узнать кто ее вызвал...
 
никак
 
никак

наверное и в этом случае можно извернуться, перед вызовом либо в глобальную либо в файл записать, а внутри библиотечной процедуры прочитать ;)
 
никак

наверное и в этом случае можно извернуться, перед вызовом либо в глобальную либо в файл записать, а внутри библиотечной процедуры прочитать ;)

Спасибо за ответ, но с гловальными боюсь будет кривизна из-за возможности одновременного вызова из разных точек и опять придем к той-же проблеме :(
 
Спасибо за ответ, но с гловальными боюсь будет кривизна из-за возможности одновременного вызова из разных точек и опять придем к той-же проблеме :(

сделай один из параметров библиотечной ф-ции string ExpertName и вызывай её из инит, а в ф-ции сохраняй это имя в свою переменную.
Например, эксперт:
include <123.mqh>
int init()
{ e_init( "MyNameIsVova" ); return(0); }
int start()
{ ...........



и библиотека 123.mqh:

string exp_name = "";
void e_init( string ExpertName )
{ exp_name = ExpertName; }
void next_func()
{ ............
 
сделай один из параметров библиотечной ф-ции string ExpertName и вызывай её из инит, а в ф-ции сохраняй это имя в свою переменную....

так гораздо лучше
 
Я понимаю что варианты решения есть. Просто хотелось найти штатное решение. Потому как все выверты впоследствии ведут к проблемам несовместимости в том числе и собственных библиотек....

Спасибо всем откликнувшимся.
Причина обращения: