можно ли в 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
кахто таг.
USD/JPY: пара возобновила рост на фоне японской неопределенности
Японская йена с началом нового года продолжила свое снижение после долгого периода консолидации, достигнув новых локальных экстремумов. Одним из ключевых факторов, влияющих на пару, стала...
Война чипов. К чему ведет технологическое противостояние США, Европы и Китая?
Главное Западные страны усиливают ограничения на поставки передовых чипов и технологического оборудования в Китай. Китай активно инвестирует в создание собственной полупроводниковой...
ПАО «АПРИ» планирует размещение облигаций серии БО-002Р-13
ПАО «АПРИ» планирует размещение облигаций серии БО-002Р-13
💼 Предварительные параметры выпуска: 🔵 Предварительная дата сбора книги заявок: 20 января 2026 года с 11:00 до 15:00...
Два нефтяных танкера атакованы дронами в Черном море вблизи терминала КТК
Два нефтяных танкера подверглись атаке беспилотников 13 января возле терминала Каспийского трубопроводного консорциума в Чер...
Сейчас распродают на ~10 млрд в день, а будут распродавать с учётом БП ~25 млрд в день, как думаете, куда вонючка дохляр двинет? 50-60 к концу года — это реальный вариант, вероятность 100 ~0.00000001%
positivetechnologies, Да фиг с ними со старыми акциями, забыли уже. Новые по итогам 2024-2025 годов когда уже распределяться будут?
Понятно, что рост капитализации был отрицательный, но хотя бы з...
ВТБ переходит из разряда спекулятивной бумаги в разряд дивидендный аристократ. Гоните бумагу пониже, чтоб не зря слова Костина звучали " Скоро акционеры ВТБ озолотяться!" Вон Донбасс уже ску...
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
кахто таг.