Урок №3: Комментарии

Комментарии в языке MQL записываются одним из следующих способов:

  • Символы /* (косая черта и звездочка), за которыми следует любая последовательность символов, включая переводы строки, после чего ставятся символы */. Это тот же синтаксис, который используется в ANSI C.
  • Символы // (две косые черты), за которыми следует любая последовательность символов. Символ перевода строки, непосредственно перед которым нет обратной косой черты, завершает комментарий, оформленный таким способом. Поэтому такие комментарии часто называют однострочными.

Символы, используемые для оформления комментариев (/*, */ и //), не имеют специального значения внутри символьной константы, строкового литерала, или комментария. Однако вложение комментариев, оформленных первым способом, не допускается.

Примеры:

// Однострочный комментарий

/*
   Многострочный
    комментарий

   // Вложенный однострочный комментарий
*/

Как компилятор обрабатывает комментарии?

Ответ очень простой, никак. Все комментарии компилятор пропускает.

Возникает вопрос: а зачем тогда он нужен?

Дело в том, что комментарий предназначен не для компьютера, а для человека. Если в программе отсутствуют комментарии, то через какое то время достаточно сложно разобраться даже в своей собственной программе, не говоря уже о программах написанных другими. В случае если программа комментирована, т.е. хотя бы обозначены основные блоки, эта задача существенно упрощается.

Пример комментирования в коде:

input int /*HELLO! I’m a comment*/ MA_Period = 13;

В этом примере объявляется внешняя переменная MA_Period с присвоением ей значения 13, а вот между этим объявлением вставлен комментарий «HELLO! I’m a comment».

А вот, к примеру так добавлять комментарии нельзя:

input int //test MA_Period=13;

так как всё, что находится за слешами «//» будет считаться комментарием и объявление переменной будет считаться незаконченным.

Пример комментариев в коде:

extern double          Lots            = 0.1; // Объём открываемой позиции
extern int             TakeProfit      = 120; // TakeProfit ордера
extern int             StopLoss        = 70;  // Уровень ограничения убытков
// Закрываем ордер при поступлении обратного сигнала
extern bool            CloseOpposite   = true;

На этом урок, посвящённый комментариям в коде советника завершён, а в следующем уроке будут рассмотрены методы отображения информации в процессе работы эксперта.

 

Written by 

Добавить комментарий