« Предыдущий пост | На главную страницу | Следующий пост »

Составной оператор

В выпуске "Использование констант в эксперте" мы научились описывать константы и разобрались, что же в коде нашего первого эксперта означают следующие строчки:

   #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()" эта функция запускается в следующих случаях:

  • после присоединения советника к графику;
  • после старта MetaTrader 4 и подгрузки исторических данных;
  • после смены инструмента или периода графика;
  • после перекомпиляции программы в редакторе MetaEditor;
  • после изменения настроек эксперта;
  • после смены торгового счета.

Если отбросить комментарии, которые начинаюся с двойного флэша (//), то мы увидим, что эта функция состоит из нескольких команд (назовем их операторами), разделенных точкой запятой (;). Когда нам нужно объединить несколько операторов в один связный блок (например, в функцию), мы используем конструкцию, которая называется составной оператор. Иными словами мы эти операторы заключаем в фигурные скобки { и }. После закрывающей фигурной скобки { не должно стоять точки с запятой.

Пример составного оператора:

  if (b==3)
{
b = b + 1;
Print (b);
}

В следующем выпуске я расскажу об операторе присваивания.



Все статьи по теме "Пишем советников для MetaTrader 4".

« Предыдущий пост | На главную страницу | Следующий пост »

Разместите свой комментарий по теме "Составной оператор"

Подписаться на мою рассылку


Рассылки Subscribe.Ru
Методы анализа рынка ФОРЕКС / FOREX. Торговые стратегии

Размещение статьи "Составной оператор" на Вашем сайте

Размещение статьи "Составной оператор" на Вашем сайте возможно при условии выполнениия следующих условий:

  • Запрещается изменение оригинального текста без согласия автора - Андрея Ведихина.
  • Должен быть указан первоисточник. В случае публикации в интернете Вы должны разместить следующий код гиперссылки без изменений:
  • Запрещается коммерческое использование материалов, взятых с блога "Интернет-трейдинг на форекс / forex". Доступ к ним должен быть свободным, без взимания какой-либо платы, без обязательной регистрации и/или заполнения опросного листа (анкеты) и т.д.

В случае выполнения данных условий не требуется согласия автора блога "Интернет-трейдинг на форекс / forex" на размещение статьи "Составной оператор" на Вашем сайте.

Журнал FOREX MAGAZINE:



Архив номеров FOREX MAGAZINE
Котировки Forex:

Счетчики:

Рейтинг@Mail.ru Rambler's Top100
Рассылка 'Методы анализа рынка ФОРЕКС / FOREX. Торговые стратегии'
Авторские права © 2005-2006 Андрей Ведихин

Условия использования материалов блога "Интернет-трейдинг на форекс / forex"

Контакты с автором:


Движок сайта:
Movable Type 3.31