В выпуске "Использование констант в эксперте" мы научились описывать константы и разобрались, что же в коде нашего первого эксперта означают следующие строчки.
#define STATE_SQUARE 0
#define STATE_LONG 1
#define STATE_SHORT 2
В выпуске Внешние переменные мы научились задавать параметры эксперта, и нам стали понятны следующие строчки:
extern int MAPeriod = 13;
extern double LotsNumber = 1.0;
Кроме локальных и статических переменных мы рассмотрели и глобальные (на уровне одного модуля) переменные, в результате приоткрылась завеса над еще двумя строчками нашего эксперта:
int CurrentState;
int MyOrderTicket;
Теперь рассмотрим более подробно, что же в нашем эксперте делает функция init().
int init()
{
//----
if (iMA(NULL, 0, MAPeriod, 0, MODE_EMA, PRICE_CLOSE, 0) > Close[0])
CurrentState = STATE_SHORT;
else CurrentState = STATE_LONG;
MyOrderTicket = 0;
//----
return(0);
}
Как мы знаем из выпуска "Функции init(), start() и deinit()" эта функция запускается в следующих случаях:
Если отбросить комментарии, которые начинаюся с двойного флэша (//), то мы увидим, что эта функция состоит из нескольких команд (назовем их операторами), разделенных точкой запятой (;). Когда нам нужно объединить несколько операторов в один связный блок (например, в функцию), мы используем конструкцию, которая называется составной оператор. Иными словами мы эти операторы заключаем в фигурные скобки { и }. После закрывающей фигурной скобки { не должно стоять точки с запятой.
Пример составного оператора:
if (b==3)
{
b = b + 1;
Print (b);
}
В следующей статье будет рассказано об операторе присваивания.
В предыдущей статье мы узнали о локальных и статических переменных. В данной статье я остановлюсь на внешних переменных.
Внешние переменные
Мы уже сталкивались с внешними переменными, когда описывали параметры эксперта MAPeriod и LotsNumber в коде нашего первого эксперта.
Внешние переменные описываются с помощью зарезервированного слова extern:
extern int MAPeriod=13; extern double LotsNumber=1.0;
Внешние переменные не могут быть массивами.
Внешние переменные - это параметры эксперта, которые можно изменять.
"Прикрепите" эксперт к графику. Для этого нажмите правую кнопку мыши на названии эксперта в окне "Навигатор" и в появившемся контекстном меню выберите "Присоединить к графику". Появится окно свойств эксперта. Во вкладке "Входные параметры" Вы можете изменить значения внешних переменных, описанных в эксперте (см. рис. 1).
Рис. 1. Параметры эксперта
Если эксперт уже "прикреплен" к графику (в правом верхнем углу графика Вы видите улыбающуюся или грустную рожицу), то для изменения его параметров - значений внешних переменных - нажмите на рожице правую кнопку мыши и выберите в в появившемся контекстном меню пункт "Советники - Свойства...". Более быстрый способ - использовать горячую клавишу F7. Появится окно с параметрами эксперта (см. рис. 1), в котором Вы сможете изменить значения внешних переменных.
В следующей статье будет рассказано о глобальных переменных.
Есть что сказать? Не стесняйтесь!
Последние статьи:
Видео по теме:
УГОЛОК АДМИНИСТРАТОРА