Обсуждение статьи "Использование ресурсов в MQL5" - страница 4

 

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

В статье упоминается "...эксперт может использовать ресурсы, которые находятся в библиотеке индикатора или EX5".

Можно ли использовать функции из библиотечного файла, если он встроен в качестве ресурса?

 
Jan Flodin:

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

В статье упоминается "...эксперт может использовать ресурсы, которые находятся в библиотеке индикатора или EX5".

Можно ли использовать функции из библиотечного файла, если он встроен в качестве ресурса?

Невозможно. К сожалению.

 

Прошу помочь. Не могу разобраться вот в какой ситуации.

Есть простенький индикатор и советник, его вызывающий. Оба лежат в папке общих проектов "Shared Projects\Testing\Indicator\".

Подключаю в советник индикатор в виде ресурса. И хочу создать хэндл с помощью ресурса.

Вот блок кода:

//--- ресурс
#resource "Indicator.ex5";
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
   string path=GetRelativeProgramPath();
   path=path+"::Indicator.ex5"; 
//--- индикатор
   int ha=iCustom(_Symbol,_Period,path);
   if(ha==INVALID_HANDLE)
      return INIT_FAILED;
//---
   return INIT_SUCCEEDED;
  }

Компиляция проходит успешно, значит индикатор в виде ресурса прицеплен.

В итоге путь к индикатору получается такой: Shared Projects\Testing\Indicator\TestingEA.ex5::Indicator.ex5. Вроде всё правильно. Скомпилированный файл индикатора там в папке есть.

Функция GetRelativeProgramPath() - это пример из статьи

Как ни крутил, хэндл не могу создать. Спасибо.

Файлы: