Вопрос по программингу

 
Кто знает, правильно ли это?
Ситуация следующая. Есть кусок кода (выбор языка наименований свечей - рус, инглиш, джапан).
Из основного эксперта ызывается библиотека определения свечных комбинаций (CsFunc.ex4)
В библиотеке CsFunc.ex4 существует 3 функции:
CsParam - для определения параметров последнего диапазона свечей
CsCombinations_UpTrend - для определения комбинаций Ап тренда
CsCombinations_DownTrend - для определения комбинаций Даун тренда

Соответственно, для функций CsCombinations_UpTrend и CsCombinations_DownTrend существует одинаковый набор названий комбинаций (не все там и там используются одновременно, но набор один) на трёх языках. Я попробовал вынести данный набор в отдельный файл CsNames.mgh и включить его в каждую из функций:
#include <CsNames.mgh>
Не тут то было... В первой функции он цепляется без проблем, но вот во второй копилятор выдаёт:
file is already processed
(типа как предупреждение, а не как критическую ошибку)
Но, соответственно, начинается... Что мол эта переменная не назначена и эта.. (то есть все, которые в том списке).
Получается, что я не могу включить нужный мне файл в каждую из функций??? Почему?
И какое есть может более удобное решение проблемы?
 
Тоже спотыкался об это здесь http://forex.kbpauk.ru/showflat.php/Cat/0/Number/84709/an/0/page/0#84709, когда пытался запихнуть в советник сигнальный модуль, состоящий из других сигнальных модулей.

В качестве решения использую прицепление всех mqh-файлов в главном (центральном), из которого вызываются все остальные. И всё тип-топ. Главное соблюдать последовательность прицепления.
 
В центральный его не прилепить...
Придется один и тот же код в две функции вставлять :(
Ну да ладно... Мож чего придумаю потом.