Избранное трейдера Dem0N
Расширенная форма оператора 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 могут быть любые последовательности из букв, цифр и символа подчеркивания, начинающиеся не с цифры.
Еще одна тема. Использование опционов в качестве стопов. Тут надо разобраться в дефиницах. Что такое стоп? Полный выход из позиции. Вы вошли в рынок и ошиблись. Цена пошла в другую сторону. Тогда вам надо перевернуться, купить позицию в другую сторону? Или это мани менеджмент. У вас убыток более 10% и надо, просто, тупо выйти. Я никогда не понимал стопы. Ведь когда вы входите в рынок вы чем руководствуетесь. У вас есть виды на рост. Вы входите позицией, но цена туда не идет. Необходимо сократить позицию, дождаться низов и увеличить позицию. Как то так. Нахождение в рынке это риск. Как в любом бизнесе. И вы либо в бизнесе, либо нет. Невозможно создать строительную компанию и продавать ее всякий раз, когда дела идут плохо. Потом откупить, может не получиться. Вы должны быть в рынке и контролировать риски. Независимо, четверг сегодня или понедельник. У опционных позиций мы видим уровни отсечек. Это приводит к некоторой иллюзии, что цена сейчас там будет. Но будет она там на экспирацию. Я уже приводил пример с торговым роботом. В ручном режиме это выглядит так: Вы купили 10 фьючей, но рынок падает. Вы начинаете продавать по одному фьючу на каждые 1000 пунктов падения. Рынок разворачивается и вы, начинаете покупать. И когда рынок достигнет цели, плюс 2000 п, у вас 12 купленных фючей. Примерно так работает направленная дельта. Она увеличивает вашу позицию при росте и уменьшает при падении. При этом делает это без комиссии биржи и через каждый тик. За аренду такого робота, вы платите дневную Тетту. А вот волатильность и вега, как правило, не на вашей стороне. И пока мы не стали изучать календарные конструкции, посмотрим, как с этим можно справиться в одной серии.
Цена фьюча 87590. Предполагаем движение порядка 3500 пунктов в ту или иную сторону. Наш прогноз вниз. Поэтому мы продаем фьюч и покупаем 87500 колл. Как будут развиваться события? Если цена идет вниз и приходит на 8400.