Рэндом » 08 авг 2013, 06:52
Вы когда-нибудь замечали, что одни и те же функции вы используете в разных индикаторах или советниках. Например в советнике это может быть функция управления размером лота. Конечно можно ее постоянно копировать из кода в код, а можно создать библиотеку, которую будет достаточно подключить директивой #include. В MQL4 такая библиотека будет содержать отдельные функции и глобальные переменные. А что с MQL5? В нем у нас есть возможность использовать либо отдельные функции, либо классы. А когда лучше использовать классы? Есть правило позволяющие это понять. Если у вас есть несколько функций которые описывают логически связанные действия, то лучше их выделить в класс. Например, рассмотрим функцию управления капиталом по методу мартингейла с ограниченным количеством удвоений. Прежде всего нам понадобиться переменная в которой будет храниться количество удвоений, первый звоночек для того чтобы задуматься о создании класса. Далее, нам понадобиться функция расчета размера лота и две функции для записи и чтения текущего количества удвоений в глобальную переменную терминала. Это нужно для того, чтобы при выключение терминала значения текущих удвоений не пропадали. Вот теперь у нас есть все основания выделить этот функционал в отдельный класс.