После совершения действия, описанных в предыдущем выпуске мы получили код-заготовку, который мы можем изменить в соответствии с нашей торговой тактикой и получить работоспособного эксперта. Давайте разберем, что же мы в итоге получили…
//+------------------------------------------------------------------+
//| 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 сразу же после имени параметра. Точка с запятой показывает, что мы завершили описание параметра эксперта.
Таких параметров у эксперта может быть несколько. Все они должны быть одного из стандартных типов, описанных в прошлом выпуске.