можно ли в 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
кахто таг.
GBP/USD: фунт оказался под тяжелым прессом слабой экономики и геополитики
Персидском заливе с участием коалиции США и Израиля против Ирана, что привело к агрессивному бегству в «защитные» активы, заставив пару уйти в район 1,3260. На этом фоне последовавшее умеренное...
Всем Привет, на связи Иван Кондратенко. Трейдер Проплайв/Prop Live и ведущий Трейдер ТВ. Сегодня поговорим об ошибках.
Когда-то я жил с очень простой и при этом разрушительной...
Чтобы вовремя заметить выгодную сделку или, наоборот, не тратить время на то, что не актуально для портфеля, важно видеть разницу между закрытым и открытым размещением новых бумаг. ⚡Открытая...
Мой Рюкзак #65: Ставка на энергетический и продовольственный кризис из-за перекрытия проливов
Если февраль радовал стоимостных инвесторов, то март пока радует только валютных спекулянтов и миноритариев Роснефти и Совкомфлота (в совкомфлоте идею подсветил в нефтяном срезе, но сам прошел...
В целом, конечно, позитивный отчёт. Новых резервов не было в 4м квартале. Вся прибыль ушла в финрезультат, что, в общем, подогревает надежды на дивы. Учитывая, что кэша больше, чем нераспределёнки, то...
17.03.2026
Киев направил 201 военного эксперта по противодействию беспилотным летательным аппаратам в страны Ближнего Востока.
Глава Украины уточнил, что отправленные на Ближний Восток солдаты ...
Похоже против нас новые санкции введут
РОССИЯ, ПО ДАННЫМ WSJ, УСИЛИВАЕТ ПОДДЕРЖКУ ИРАНА — ПЕРЕДАЁТ СПУТНИКОВЫЕ ДАННЫЕ И ТЕХНОЛОГИИ ДРОНОВ, ПОМОГАЯ ЕМУ ПРОДОЛЖАТЬ ВОЕННЫЕ ДЕЙСТВИЯ
В ДОКЛАДЕ Г...
Рубль против логики: почему геополитический «подарок» пока не помог курсу
17.03.2026
Курс рубля долго стоял на месте в январе и феврале и в марте стал резко слабеть. Схожая динамика была лет...
Этот материал Forbes — ключ к пониманию того, как устроена элита, которая сегодня контролирует активы, подобные ЮГК. Перед тобой — не просто биография, а портрет человека, прошедшего путь от «инженера...
Alchemist01, просто она видимо бесплатная и даже без первого взноса, но с обязанностью работать над управлением государством, а государство у нас — огромное
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
кахто таг.