можно ли в lua прописать сортировку в таблице?
скажем мне нужны ТОЛЬКО заявки по покупкам, и если несколько покупок по одной бумаге, то отсортировать и их?
function fn(flags, class, sec)
return class==class_code and sec==sec_code and bit.band(flags,1)>0 -- flags>0 активные заявки
end
local orders = SearchItems(«orders», 0, getNumberOf(«orders»)-1, fn, «flags,class_code,sec_code») — выборка только активных ордеров
-------------------------------------------------------------------------------------------------
if orders~=nil then
indentpip = BookOrCancelStatus and indentpip+1 or 0
------------------------------------------------------------------------------------
local ask_price,bid_price = 0,0
ql2 = getQuoteLevel2(class_code, sec_code) — стакан
if ql2~=nil then
ask_price=tonumber(ql2.offer[1].price)
bid_price=tonumber(ql2.bid[ql2.bid_count-1].price)
end
if ask_price==nil or ask_price==0 then msg=string.format("<b>%s — %s</b> — Цена ASK не определена!",ScriptName,sec_code) mes(msg,3) break end
if bid_price==nil or bid_price==0 then msg=string.format("<b>%s — %s</b> — Цена BID не определена!",ScriptName,sec_code) mes(msg,3) break end
for key, value in pairs (orders) do
— направление заявки---------------------------------------------
local OrderSide=""
if bit.band(getItem(«orders»,orders[key]).flags,4)>0 then — заявки SELL иначе BUY
OrderSide=«SELL»
else OrderSide=«BUY» end
------------------------
local order_num = getItem(«orders»,orders[key]).order_num
local qty = round(getItem(«orders»,orders[key]).qty) — количество
local price = round(getItem(«orders»,orders[key]).price,dec) — цена
local neworderprice = TransSide==«S» and math.min(price,ask_price+indentpip) or math.max(price,bid_price-indentpip)
end
кахто таг.
Почему кривая доходности облигаций перестраивается раньше решения по ключевой ставке?
На первый взгляд поведение долгового рынка сегодня выглядит парадоксально. Ключевая ставка Банка России по-прежнему остается на достаточно высоком уровне, хотя цикл смягчения уже начался. Тем не...
Сегодня в 10:00 МСК Академия для эмитентов Московской биржи приглашает на вебинар «Как читать нефинансовую отчетность: сектор „Девелопмент“». Вы узнаете:
📍 О ключевых особенностях отрасли...
Доходы от экспорта нефти и нефтепродуктов просели в ноябре на фоне ужесточения санкций до $10,97 млрд, всего за 11 месяцев снижение к прошлому году составило 15%, до $148 млрд. Между тем, Россия...
Баскетбольный ЦСКА сменил владельца С 19 декабря 2025 года 100-процентным владельцем ООО «Профессиональный баскетбольный клуб ЦСКА» стала автономная некоммерческая организация «Центр развития баскетбо...
ОФЗ не радуют спекулянтов, но хороши для тех, кто пришёл за купоном На последних в этом году аукционах Минфин занял 85,3 млрд руб.:
• ОФЗ 26250 — 20,7 млрд руб.
• ОФЗ 26252 — 64,6 млрд руб.
...
Вайлдберриз Банк (Wildberries) - Прибыль 11 мес 2025г: 55,980 млрд руб (+230% г/г) Вайлдберриз Банк (Wildberries)
Общий долг на 31.12.2023г: 2,667 млрд руб
Общий долг на 31.12.2024г: 36,116 млрд р...
Россия пока только движется в направлении плато заболеваемости гриппом — до него мы еще не добрались. Об этом рассказала в среду, 24 декабря, руководитель Роспотребнадзора и главный санитарный врач ст...
return class==class_code and sec==sec_code and bit.band(flags,1)>0 -- flags>0 активные заявки
end
local orders = SearchItems(«orders», 0, getNumberOf(«orders»)-1, fn, «flags,class_code,sec_code») — выборка только активных ордеров
-------------------------------------------------------------------------------------------------
if orders~=nil then
indentpip = BookOrCancelStatus and indentpip+1 or 0
------------------------------------------------------------------------------------
local ask_price,bid_price = 0,0
ql2 = getQuoteLevel2(class_code, sec_code) — стакан
if ql2~=nil then
ask_price=tonumber(ql2.offer[1].price)
bid_price=tonumber(ql2.bid[ql2.bid_count-1].price)
end
if ask_price==nil or ask_price==0 then msg=string.format("<b>%s — %s</b> — Цена ASK не определена!",ScriptName,sec_code) mes(msg,3) break end
if bid_price==nil or bid_price==0 then msg=string.format("<b>%s — %s</b> — Цена BID не определена!",ScriptName,sec_code) mes(msg,3) break end
for key, value in pairs (orders) do
— направление заявки---------------------------------------------
local OrderSide=""
if bit.band(getItem(«orders»,orders[key]).flags,4)>0 then — заявки SELL иначе BUY
OrderSide=«SELL»
else OrderSide=«BUY» end
------------------------
local order_num = getItem(«orders»,orders[key]).order_num
local qty = round(getItem(«orders»,orders[key]).qty) — количество
local price = round(getItem(«orders»,orders[key]).price,dec) — цена
local neworderprice = TransSide==«S» and math.min(price,ask_price+indentpip) or math.max(price,bid_price-indentpip)
end
кахто таг.