Текущей остаток в depo_limits

Страницы: 1
RSS
Текущей остаток в depo_limits, Текущей остаток в depo_limits
 
Здравствуйте уважаемые господа, я новичок в программирование, только познаю. Подскажите пожалуйста, как вывести текущую позицию акций в таблицу с depo_limits. В futures_client_holding всё работает.

function PosNowFunc(secCode,acc)      
local nSize = getNumberOf("depo_limits")            
   if (nSize~=nil)then
       local lot = tonumber(getParamEx(Class, Emit, 'LOTSIZE').param_value)
       for i = 0, nSize-1 do
           local depo_limit = getItem("depo_limits",i)
           if(depo_limit~=nil
           and depo_limit.sec_code == secCode
           and depo_limit.trdaccid == acc)
           then        
                               --message("LOT")
           return  math.floor(depo_limit.currentbal/lot)                  
                   --math.floor(depo_limit.currentbal)  
                   --tonumber(depo_limit.currentbal/lot)
                   --depo_limit.currentbal
                   --depo_limit.sec_code
           end
       end
   end
   return 0

Если вставить depo_limit.sec_code, выводит код инструмента, но  с depo_limit.currentbal не выводит текущей позиции. Подскажете пожалуйста. где ошибка.
 
Evgen, добрый день.

Рекомендуем проверить работу более простого кода, например:
Код
nSize = getNumberOf("depo_limits")

if nSize ~= nil then
   
   for i = 0, nSize - 1 do
      local depo_limit = getItem("depo_limits", i)
      
      if depo_limit ~= nil then
         message(string.format("SEC_CODE=%s, CURRENTBAL=%d", depo_limit.sec_code, depo_limit.currentbal))
      end
   end
end

Если этот код также не вернет корректные значения текущих позиций, просим Вас сообщить используемую версию Рабочего места QUIK.

В противном случае стоит искать ошибку в других используемых функциях.

 
Anton Belonogov, Спасибо большое, всё работает, вчера не работало.
 
Anton Belonogov, опять перестало работать,
Цитата
Anton Belonogov написал:
Evgen, добрый день.

Рекомендуем проверить работу более простого кода, например:
Код
  n Size   =   getNumberOf ( "depo_limits" )

 if  n Size  ~ =   nil   then 
   
    for  i  =   0 , n Size   -   1   do 
       local  depo_limit  =   getItem ( "depo_limits" , i)
      
       if  depo_limit ~ =   nil   then 
          message ( string.format ( "SEC_CODE=%s, CURRENTBAL=%d" , depo_limit.sec_code, depo_limit.currentbal))
       end 
    end 
 end   
   Если этот код также не вернет корректные значения текущих позиций, просим Вас сообщить используемую версию Рабочего места QUIK.  В противном случае стоит искать ошибку в других используемых функциях.
выводит 2 сообщения 10 и 0
 
Evgen, добрый день.

По Вашему обращению обнаружили ошибку в работе терминала, которая позволяет с помощью QLua получить технологические позиции с limit_kind=-2000001.

В одной из очередных версий ПО мы устраним данную ошибку, пока же рекомендуем просто игнорировать такие позиции (например, для корректной работы скрипта можно проверять, что limit_kind позиции не равен указанному значению).

Приносим извинения за причиненные неудобства.
Страницы: 1
Читают тему
Наверх