
193 
после исполнения функции управление передаётся в то место выражения, 
где указан вызов функции, и дальнейшие вычисления в выражении 
производятся со значением, возвращённым функцией. 
Использование вызова функции в составе других операторов определяется форматом этих 
операторов. 
 
Задача 20. Составить программу, в которой реализуются следующие 
условия: - если текущее время больше 15:00, то выполнить 10 итераций в 
цикле for;- в остальных случаях выполнить 6 итераций. 
Ниже приведен пример скрипта callfunction.mq4, в котором используются: вызов функции 
в заголовке оператора for (в составе Выражения_1, согласно формату оператора for, см. 
Оператор цикла for), вызов стандартной функции в виде отдельного оператора, в правой 
части оператора присваивания (см. Оператор присваивания) и в заголовке оператора if-
else (в Условии, согласно формату оператора if-else, см. Условный оператор if-else). 
///-------------------------------------------------------------------- 
// callfunction.mq4 
// Предназначен для использования в качестве примера в учебнике MQL4. 
//-------------------------------------------------------------------- 
int  start()                                // Описание функции start() 
  {                                        // Начало тела ф-ии start() 
   int  n;                                 // Объявление переменной 
   int  T=15;                              // Заданное время 
   for(int  i=Func_yes_ret(T);i<=10;i++)    // Использование функции в.. 
                                          //.заголовке  оператора  цикла 
     {                                     // Начало тела цикла for 
      n=n+1;                              // Счётчик итераций 
      Alert  ("Итерация n=",n," i=",i);    // Оператор вызова функции 
     }                                     // Конец тела цикла for 
   return;                                // Выход из функции start() 
  }                                        // Конец тела ф-ии start() 
//-------------------------------------------------------------------- 
int  Func_yes_ret  (int  Times_in)            // Описание пользоват. ф-ии 
  {                                        // Начало тела польз. ф-ии 
   datetime  T_cur=TimeCurrent();           // Использование функции в..  
                                          //  ..операторе  присваивания 
   if(TimeHour(T_cur) > Times_in)          //  Использование  функции  в..  
                                          //..заголовке  операт.if-else 
      return(1);                          // Возврат значения 1