После совершения действия, описанных в предыдущем выпуске мы получили
код-заготовку, который мы можем изменить в соответствии с нашей
торговой тактикой и получить работоспособного эксперта. Давайте
разберем, что же мы в итоге получили…
//+------------------------------------------------------------------+
//| My First Expert.mq4 |
//| Copyright c 2006, Andrey Vedikhin |
//| http://www.vedikhin.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2006, Andrey Vedikhin"
#property link "http://www.vedikhin.ru"
//---- input parameters
extern int MAPeriod=0;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
Первые несколько строчек — комментарии. Комментарий — это
неисполняемый кусок кода, т.е., иными словами, это любая полезная
читателю кода информация. Комментарии бывают однострочными — в этом
случае они начинаются с двойного слэша: //, — и весь остаток строчки
после // будет считаться комментарием. Также комментарии бывают
многострочными. Такие комментарии должны начинаться с /* и заканчиваться
*/.
#property copyright "Copyright © 2006, Andrey Vedikhin"
C помощью #property copyright «строка» мы можем задать имя/наименование создателя эксперта.
#property link "http://www.vedikhin.ru"
C помощью #property link «веб-сайт» зададим веб-сайт создателя.
extern int MAPeriod=0;
Таким образом мы описываем переменную-параметр эксперта. Этот
параметр имеет значение по умолчанию равным 0, но это значение можно
будет впоследствии менять и для каждого прикрепленного к графику
эксперта задавать свои значения. Этот параметр — аналог параметра
технического индикатора (например, период расчета для RSA или период
расчета скользящей средней).
Слово extern перед определением переменной показывает, что это
внешняя переменная или параметр, которая будет видна в настройках
эксперта. int — тип переменной (в нашем примере этот параметр — целое
число от -2147483648 до 2147483647 — см. предыдущий выпуск). А MAPeriod —
имя параметра. Мы хотим, чтобы по умолчанию значение параметра было
равным нулю, поэтому добавим =0 сразу же после имени параметра. Точка с
запятой показывает, что мы завершили описание параметра эксперта.
Таких параметров у эксперта может быть несколько. Все они должны быть одного из стандартных типов, описанных в прошлом выпуске.