Язык программирования Lua поддерживает стандартные арифметические действия: «+» (сложение), «-» (вычитание), «*» (умножение), «/»(деление), «^» (возведение в степень), «%» (остаток от деления).

Применим все выше перечисленные арифметические действия в новом проекте.

Создадим новый проект в редакторе SciTE. Меню File пункт New или выберем на панели задач кнопку New. Сохраним проект под названием Арифметические действия.lua.

Объявим три новые переменные.

В переменные «x» и «z» поместим значения, переменную «y» оставим пустой, в нее будем сохранять результат арифметических операций и выводить на экран.

local x = 10

local z = 5

local y

Начнем с операции сложения двух числовых переменных. Запишем строку кода, которая складывает значения переменных «x» и «z», а результат операции присваивает переменной «y».

y = x + z

Чтобы наглядно увидеть результат выполнения операции, выведем на экран переменную «y». Для этого используем уже знакомый оператор print. Выведем на экран не просто значение, а оформим результат в читаемом виде.

print («сложение»,»\nx + z =»,y)

В скобочках оператора print мы ввели слово «сложение», далее, перешли на новую строку, используя символ «\n», ввели для наглядности текст «x + z =», и в конце поместили нашу переменную «y». Выполним программу, нажатием клавиши F5 и на экране отображается результат выполнения операции сложения.

Проделаем точно такие же действия с вычитанием, умножением, делением и возведением в степень.
y = x – z
print («вычитание»,»\nx — z =»,y)

y = x * z
print («умножение»,»\nx * z =»,y)

y = x / z
print («деление»,»\nx / z =»,y)

y = x ^ z
print («возведение в степень»,»\nx ^ z =»,y)

Далее разберем, как работает арифметическая операция остаток от деления. Для примера с вычислением остатка от деления изменим значения в переменной «z». Присвоим переменной «z» новое значение, например 3. Пишем в новой строке следующий код:

z = 3

теперь переменная «z» содержит значение 3. Если мы ниже этой строки будем использовать переменную «z», то ее значение будет 3, до того момента пока мы не изменим ее значение.

Запишем строку кода, которая вычисляет остаток от деления переменной «x» на переменную «z», а результат операции присвоим переменной «y».

y = x % z

Результат выполнения операции выведем на экран в читаемом виде.

print («остаток от деления»,»\nx % z =»,y)

На рисунке ниже я закомментировал вывод на экран операция сложения, вычитания, умножения и деления, чтобы они не отвлекали внимание от операции остаток от деления.

В результате выполнения операции получаем результат значение 1, поскольку 10 на 3 без остатка не делится, а 9 на 3 делится без остатка, программы выдала значение, которое нужно вычесть из числителя для деления без остатка. Возможно, данный оператор не самый используемый, но знать его надо. К тому же он нам пригодиться, только в другом виде. С помощью оператора «%» можно получить целую и дробную часть числа.

Получение дробной и целой частей числа с помощью операции остаток от деления «%».

Для получения дробной части числа введем следующий код:

y = x / z

В нашем случае переменная «х» равна 10, а переменная «z» равна 3 при делении 10 на 3 получаем 3.33333333…, присваиваем результат в переменную «y».

Следующей строкой мы выделяем дробную часть числа, содержащегося в переменной «y».

y = y%1

В результате выполнения данной операции переменной «y» будет присвоено значение 0.33333333…

Результат выполнения скрипта выведем на экран.

print («дробная часть числа»,»\ny%1 =»,y)

Для получения целой части числа введем следующий код:

y = x / z

Как и в случае с дробной частью числа, поле строки y = x / z, переменная «y» будет содержать значение 3.33333333… Выделим целую часть числа из переменной «y». Запишем следующую строку кода:

y = y — y%1

В результате выполнения данной строки кода в переменной «y» будет содержаться значение 3. Прошу обратить внимание, что используя данную конструкцию, мы просто отбрасываем дробную часть, НЕ округляем.

Выведем на экран результат выполнения операции.

print («целая часть числа»,»\ny — y%1 =»,y)

С помощью оператора остаток от деления мы можем получить точное количество знаков после запятой. Например, нам нужно получить два знака после запятой, тогда мы введем следующий код:

y = x / z
y = y — y%0.01

В результате выполнения скрипта переменная «y» будет содержать числовое значение с двумя знаками после запятой в нашем случае 3.33.

Выведем результат на экран

print («два знака после запятой»,»\ny — y%0.01 =»,y)

Рассмотрим еще один пример. Возьмем один знак после запятой. Запишем следующий код.

Присвоим переменной «y» результат деления «x» на «z».

y = x / z

Возьмем один знак после запятой и перезапишем новое значение в переменную «y»

y = y — y%0.1

Выведем на экран результат выполнения скрипта

print («одни знак после запятой»,»\ny — y%0.1 =»,y)

ВАЖНО!

Способ взятия определенного количества знаков после запятой, нам очень пригодиться, когда мы будем отправлять заявки на совершение сделок в терминал QUIK . Торговые инструменты имеют разное количество знаков после запятой и нам будет необходимо указать точное значение, для корректного ввода заявки в систему.

Вы можете получить готовые коды скриптов с этого сайта.
Не тратьте свое время на ввод символов с клавиатуры, потратьте его лучше на создание своих собственных торговых роботов из блоков уже готового кода.