Наиболее важным завоеванием компьютерных технологий является возможность
создания и хранения обособленных фрагментов кода, описывающих правила обработки
информации для решения некоторого вопроса или небольшой задачи. Такая возможность
имеется и в языке MQL4.
Функция - это именованная, обособленная часть программы, описывающая порядок
преобразования информации.
Говоря о функциях, мы будем иметь в виду два аспекта: описание функции и вызов
функции.
Описание функции - именованная, обособленная часть программы, предназначенная для
исполнения.
Вызов функции (обращение к функции) - это запись, исполнение которой приводит к
исполнению функции.
В нашей обычной жизни можно найти множество аналогов функции. Возьмём для
примера тормозную систему автомобиля. Исполнительный механизм, собственно
осуществляющий торможение, как и идея, заложенная в этот механизм конструктором,
являются аналогом функции, а педаль тормоза - аналогом вызова функции. Водитель
давит на педаль, в результате чего исполнительные механизмы осуществляют некоторое
действие - останавливают автомобиль.
Аналогично, если в программе встретится вызов функции, то будет вызвана и исполнена
одноимённая функция, т.е. выполнена некоторая последовательность расчётов или других
действий (например, вывод сообщения, открытие ордера и пр.). Общий смысл функции
состоит в том, чтобы вынести логически завершённую часть кода за пределы основного
текста программы, а в основном тексте программы оставить только обращение к ней.
Такая организация программы имеет неоспоримые достоинства:
во-первых, составленный таким образом текст программы гораздо легче читается;
во-вторых, легко видеть и при необходимости изменять текст функции, не меняя при этом
основной код;
в-третьих, функцию можно оформить в виде отдельного файла и использовать её для
работы в других программах, что избавляет программиста от необходимости всякий раз
вписывать одни и те же фрагменты кода во вновь создаваемые программы.
68