можно ли в 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
кахто таг.
🧬 От ломбардов к экосистеме: как меняется ДНК бизнеса МГКЛ
🏛 Исторически бизнес МГКЛ формировался вокруг ломбардной модели — понятной, устойчивой и хорошо работающей в своей нише. Это был фундамент: экспертиза в оценке товаров, управление рисками,...
Три январских дивидендных гэпа: когда акции закроют ценовой разрыв?
За дне неполных недели января 2026 г. произошло несколько значимых отсечек: 5 января был последний день торгов с дивидендами акций ИКС 5, а 9 января — акций ЛУКОЙЛа и Роснефти. Оценим сроки и...
Если Индекс ОФЗ (RGBI) пробьет вниз 116,69 п., то в портфеле PRObonds ВДО увеличиваем короткую позицию во фьючерсе на него с ~1,5% до 2,5% от активов.
Телеграм: @AndreyHohrin
Не...
Den4ik88, в принципе правильно мыслите.
На это нужно выделить из портфеля определенную сумму, которую не жалко будет потерять.
И решимость, конечно нужна.
Первый раз всегда сложно и тяжело.
...
Дорогие именинники!!! Здоровья вам!
Я тут 2 дня ехал из Москвы в Анапу… дорогая пустая вообще
Встретил 4 авто новых альфа дон транс… если что, работают .
В анапе дома 0… в холодильнике +2… зап...
Heinrich von Baur, дело не в цене. Какой смысл им делать байбэк? Им надо дивиденды выплатить по указу президента, да ещё и сохранить уровень достаточности капитала.
Есть ощущение, что Трамп во всём действует наобум, как жонглёр, который отчаянно пытается удержать сразу несколько мячей и едва успевает ловить их, прежде чем они упадут на землю — CNN
Все ждут, чт...
ООО "СУЭК-финанс" установила ставку 13-14-го купонов облигаций 001P-05R на уровне 19,9% ООО «СУЭК-финанс» установила ставку 13-14-го купонов облигаций 001P-05R на уровне 19,9% — 99,23 руб. ...
Курица пошла на взлёт! Идея в Черкизово. Черкизово — крупнейший отечественный производитель мяса курицы, свинины, индейки, готовых продуктов из мяса. В себестоимости производства мяса корма занимают 6...
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
кахто таг.