evg_gen +100(100)
evg_gen +100(100) личный блог
02 июля 2024, 13:39

QUIK lua помощь нужна

можно ли в lua прописать сортировку в таблице?
скажем мне нужны ТОЛЬКО заявки по покупкам, и если несколько покупок по одной бумаге, то отсортировать и их?
2 Комментария
  • Cubigator
    02 июля 2024, 14:14
      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
     кахто таг.

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн