Деление чисел по модулю

Для деления целых чисел по модулю MQL5 имеет встроенный оператор '%', описанный в разделе Арифметические операции. Однако этот оператор неприменим для вещественных чисел. В случае, когда делитель, делимое или оба операнда являются вещественными, следует использовать функцию MathMod (или в краткой форме fmod).

double MathMod(double dividend, double divider) ≡ double fmod(double dividend, double divider)

Функция возвращает вещественный остаток от деления первого переданного числа (dividend) на второе (divider).

Если какой-либо аргумент является отрицательным, знак результата определяется по правилам, описанным в вышеупомянутом разделе.

Примеры работы функции доступны в скрипте MathMod.mq5.

   PRT(MathMod(10.03));     // 1.0
   PRT(MathMod(10.03.5));   // 3.0
   PRT(MathMod(10.03.49));  // 3.02
   PRT(MathMod(10.0M_PI));  // 0.5752220392306207
   PRT(MathMod(10.0, -1.5));  // 1.0, знак ушел
   PRT(MathMod(-10.0, -1.5)); // -1.0