прикрутка библиотеки к индикатору

 

Добрый день!


Создал библиотеку

F:\__files\XTB-Trader 4\experts\libraries\aivengo_lib.mq4


к ней mqh:

F:\__files\XTB-Trader 4\experts\include\aivengo_lib.mqh


в советнике прикручиваю таким образом:

#include <aivengo_lib.mqh>


работает!


Прикручиваю также в индикаторе и получаю вот что:

ContinuousPattern.mq4;10:1;'aivengo_lib.mqh' - cannot open the program file


Что не так?

 
Как вариант, нечаянно компильнули aivengo_lib.mqh, и теперь он торчит в include как aivengo_lib.mq4. Естественно, его не видно.
 
granit77 >>:
Как вариант, нечаянно компильнули aivengo_lib.mqh, и теперь он торчит в include как aivengo_lib.mq4. Естественно, его не видно.

как это нечаянно, она у меня используется советниками. Как же быть.

 
aiv >>:

как это нечаянно, она у меня используется советниками. Как же быть.

Компилируется советник, а Библиотека.mqh тихо лежит в include и никого не трогает. И Вы ее не трогайте, отдельно ее компилировать нельзя. При компиляции советника код библиотеки включается компилятором в код советника и компилируется вместе с ним.

Если отдельно откомпилировать библиотеку, компилятор может изменить ее расширение на .mq4 и советник перестает ее находить. В этом случае необходимо вручную изменить расширение библиотеки обратно на .mqh.

 

aiv писал(а) >>

Что не так?

Инклуд файлы изначально были рассчитаны именно для использования в советниках.

Попробуйте так:

#include <../include/aivengo_lib.mqh>

При таком подключении файл найдется и в советнике и в индикаторе.

 
TheXpert писал(а) >>

Инклуд файлы изначально были рассчитаны именно для использования в советниках.

Попробуйте так:

#include <../include/aivengo_lib.mqh>

При таком подключении файл найдется и в советнике и в индикаторе.

Если указаны угловые скобки, то поиск ведётся в experts\include (Только что сам проверил на всякий случай)

В показанном Вами случае лучше указывать mqh в апострофах

Проблема возможна, если файл mq4 открывается "чужим" MetaEditor - при этом поиск ведётся от директория этого самого "чужого" эдитора.

 
stringo >>:

Если указаны угловые скобки, то поиск ведётся в experts\include (Только что сам проверил на всякий случай)

Тоже проверил, все нормально. Напутал.
Причина обращения: