Включение файлов и внешние переменные

 

Здравствуйте, подскажите пожалуйста понять.

Есть функция библиотеки, которая должна вернуть значение переменной из файла, в котором ее подключили.
Сейчас lib.mqh это самостоятельный файл, который должен быть скомпилирован по всем правилам. А можно ли в MQL вставить часть независимого кода из другого файла, чтобы в него втянулись все переменные файла?

Это делаю для 2-х советников, которые используют одинаковые функции, но которые подтягивают свои параметры из настроек. 

Надеюсь получилось объяснить что хотел :)
Спасибо! 

extern int magic = 255;

#include <lib.mqh>

// функция из lib.mqh
int get_magic()
{       
  return (magic);
}

void OnTick()
{
  Alert(get_magic());
}
 
Такое нереально сделать? Подойдут даже извращенные варианты :)
 

Не вполне понятно, что требуется.

Библиотечная функция - возвращает значение в любое место, откуда ее вызывают.

Все переменные из файла доступны в той части компиляции, где этот файл подключен.

 
Roman Starinskij:
Такое нереально сделать? Подойдут даже извращенные варианты :)

Никаких извращений не надо.

Переменная magic в функции из библиотеки невидна.

 
George Merts:

Не вполне понятно, что требуется.

Библиотечная функция - возвращает значение в любое место, откуда ее вызывают.

Все переменные из файла доступны в той части компиляции, где этот файл подключен.

У меня есть подключаемый файл со всеми функциями. Он включается в несколько основных файлов.

В основном файле прописаны внешние настройки-параметры советника: меджик, размер стопа, экспирация и т.д. Они разные для нескольких советников.
Надо подключить для 3-х советников один файл-библиотеку с функциями, библиотека которая бы использовала свои переменные-настройки того советника, в котором подключена эта библиотека.

В общих чертах так :) 

 
Подключайте файл ниже переменных.
 

Всем спасибо за подсказки. Скорее всего есть смысл перевести все функции в классы и сделать 1 переменную меджика для всего класса. Так можно связать переменные советника с переменными в функциях библиотеки.

 
Roman Starinskij:

Всем спасибо за подсказки. Скорее всего есть смысл перевести все функции в классы и сделать 1 переменную меджика для всего класса. Так можно связать переменные советника с переменными в функциях библиотеки.

//======================================================================================================
//    INCLUDE
//------------------------------------------------------------------------------------------------------
#include "Include\H_Def_LN1-002.016.mqh"     //Определения переменных и структур
#include "Include\H_Int_LN1-002.016.mqh"     //Интерфейс настроек
#include "Include\H_Fun_LN1-002.016.mqh"     //Основные процедуры алгортма
#include "Include\H_Fun_LN2-002.016.mqh"     //Основные технические расчеты
#include "Include\H_Fun_LN3-002.016.mqh"     //Графика, вывод на чарт и преобразования вывода
 
Roman Starinskij:

...

Надеюсь получилось объяснить что хотел :)
Спасибо! 

Наверно не получилось.