Продвинутое использование торговой платформы MetaTrader 5. Создание индикаторов и торговых роботов на MQL5 и Python. Издание 3-е, исправленное и дополненное
extern int a=0;
то при компиляции обоих файлов все пройдет удачно, и переменную можно будет использовать.
Если же в файле MovingAverages и файле MACD одновременно объявить статическую глобальную переменную:
static int a=0;
тогда при компиляции обоих файлов возникнет ошибка.
Помимо команды #include полезной является также директива #define, которая позволяет делать подстановку выражения вместо идентификатора, например:
#define PI 3.14
Хэндл индикатора
Начнем с цитаты:
HANDLE идентифицирует объект, которым Вы можете манипулировать. Джеффри РИХТЕР "Windows для профессионалов".
Переменные типа handle представляют собой указатель на некоторую системную структуру или индекс в некоторой системной таблице, которая содержит адрес структуры.
Таким образом, получив хэндл некоторого индикатора, мы можем использовать его данные для построения своего индикатора.
Хэндл индикатора представляет собой переменную типа int и объявляется, как правило, после объявления массивов буферов индикатора, вместе с глобальными переменными, например в индикаторе MACD: