Избранное трейдера Денис Сафонов
В воскресенье 7 апреля я перебирал полки в шкафах, просматривая старые бумаги и выбрасывая те, которые уже не пригодятся. За долгое время накопилось много бесполезного хлама, который надо было выбросить. Какие-то старые чеки, квитанции, ненужные распечатки. Так я перебирал бумаги одну за другой, сортируя, что пойдет на выброс, а что еще может когда-то пригодиться, и вдруг на пол упала до боли знакомая старая затертая картонка. Боже мой! Как давно это было! Вроде бы не так уж давно, но на самом деле целую трейдерскую жизнь назад! Воспоминания нахлынули на меня…
Затертая замусоленная старая табличка, обычный кусок картонки и неаккуратно приклеенная скотчем распечатка. Но сколько денег она мне помогла заработать, а сколько денег благодаря ей я не потерял!
Табличка NineNot (9 “не”).
Расширенная форма оператора for
В расширенной форме оператора for для последовательного получения значений переменной цикла используется вызов итератора. Цикл завершается, когда итератор возвращает nil.
Примечание
Под итератором понимается любая конструкция, позволяющая перебирать элементы некоторого набора. При каждом обращении к итератору он возвращает очередной элемент набора. В Lua итераторы обычно реализуются в виде функций.
Расширенная форма оператора for имеет следующий вид:
for var1, var2, …, varN in <explist> do
… — тело цикла
end
где:
var1, var2, ..., varN — список переменных, получающих значения на каждом шаге цикла. Список может состоять из одной или нескольких переменных, разделённых запятыми. Первую в списке переменную называют управляющей переменной цикла. Когда эта переменная получает возвращённое итератором значение nil, цикл завершается. Остальные переменные на ход выполнения цикла влияния не оказывают;
<explist> — список выражений, разделённых запятыми. Обычно список состоит из единственного выражения — вызова функции-фабрики итераторов. Такая функция возвращает функцию-итератор, состояние и начальное значение управляющей переменной цикла.
Скрипты на языке Lua
Написанный на Lua скрипт не имеет какой-либо специальной функции, с которой начиналось бы его выполнение. Скрипт можно рассматривать просто как набор команд (инструкций), который выполняется, начиная с первой инструкции.
Скрипт может быть как очень простым, состоящим всего из одной команды, так и весьма сложным, содержащим десятки, сотни и даже тысячи инструкций. Следующие друг за другом инструкции могут разделяться точкой с запятой (;). Однако это требование не является обязательным, поэтому весь приведённый ниже код является корректным с точки зрения синтаксиса:
a = 1; b = 2
a = 1 b = 2
a = 1;
b = 2;
a = 1
b = 2
Работа с переменными в Lua
Переменные используются для хранения значений в процессе выполнения скрипта.
Имена переменных в Lua
Именами (идентификаторами) переменных в Lua могут быть любые последовательности из букв, цифр и символа подчеркивания, начинающиеся не с цифры.
Приветствую.
Нашёл несколько ссылок, выполняющие автозапуск Quik на непонятном мне языке.
Есть ли у кого-то код на распространённых языках программирования, выполняющий автозапуск Quik и автозапуск lua-скриптов к нему?
if (pr > max) { max = pr; ind = 1; } // — если обновляем максимум то в лонг
if (pr < min) { min = pr; ind = -1; } // — если обновляем минимум то в шорт
max -= k2; // максимум плавно опускаем каждую 5-минутку
min += k3; // минимум плавно поднимаем каждую 5-минутку
if ((ind == 1) && (pr < max- stop_long)) ind = 0; // если цена ниже максимума на размер стопа и мы лонге — выход кеш