Избранное трейдера Олег
-- -- Выполнение действий с массивами. -- local pairs = pairs local type = type module(...) --- Создать копию массива (таблицы) -- @return копию массива (таблицы) function copy(array) local copy_array = {} if type(array) ~= "table" then return array end for k, v in pairs(array) do if type(v) == "table" then copy_array[k] = copy(v) else copy_array[k] = v end end return copy_array end --- Узнать, начинается ли индексация в массиве с нуля или с единицы. -- @return 0 или 1 function base(array) if array[0] ~= nil then return 0 else return 1 end end --- Вычислить число элементов в массиве. -- @return число элементов в массиве function size(array) local n = 0 for _, _ in pairs(array) do n = n + 1 end return n end --- Проверить пустой или нет массив. -- @return true/false function isEmpty(array) for _, _ in pairs(array) do return false end return true end --- Получить первый индекс массива, где ничего не записано. Поиск начинается с 1. -- @return первый индекс массива, где ничего не записано function firstEmptyIndex(array) local i = 1 while array[i] ~= nil do i = i + 1 end return i end
— Давайте начнем интервью с самой злободневной темы последнего времени – отрицательных цен на нефть и последствий этого явления для российских трейдеров. В конце апреля стоимость контракта на нефть Light Sweet Crude Oil опустилась ниже нуля на бирже NYMEX, а Московская биржа 21 апреля приостановила торги и рассчитала обязательства по цене американской биржи, не дав российским трейдерам возможности управления своими позициями. Как результат – участники торгов понесли многомиллионные убытки, а ответственность перед ними биржа фактически переложила на брокеров. Как вы оцениваете эту ситуацию?
— Ситуация очень вышла некрасивая. Со всех сторон. Но прежде чем давать оценки и развешивать ярлыки, давайте вспомним, что произошло 20 апреля. А произошло то, что большой спекулятивный интерес со стороны покупателей в майском контракте Crude oil на бирже NYMEX, где и происходят основные торги, не успел отроллироваться в контракты следующей серии – в июньский. В результате огромное число длинных позиций зависло перед последним днем торгов. Я напомню, что фьючерс CL – поставочный и все спекулянты, то есть игроки, не собирающиеся выходить на поставку в качестве покупателей или продавцов, обязаны в предпоследний торговый день закрыть все свои спекулятивные позиции. Так оно всегда раньше и происходило. За несколько дней до истечения ближнего контракта спекулянты не спеша перекладывались в дальний и в последний день торгов на рынке оставались только те, кто работает с физической нефтью. Но в этот раз все пошло не так.
void lua_pushnumber (lua_State *L, lua_Number n);
const char *lua_pushstring (lua_State *L, const char *s);
lua_Number lua_tonumber (lua_State *L, int index);
const char *lua_tostring (lua_State *L, int index);где L — указатель Lua-стэка, а index — абсолютный или относительный индекс переменной в стэке.