futures_client_holding выдает значение nil

Страницы: 1
RSS
futures_client_holding выдает значение nil
 
Всем здравия! Не могу понять, почему значение nil. Функция function PutDataToTable(posNow) передает значение nil. Decoda тоже не особо помогла
Код
 Class = "SPBFUT"
 Emit = "SiU0"
 MyAccount = "SPBFUTJReBr"
Код
function main()
    while is_run==true do
      body()                                                                             --основные вычисления 
    end
end

Код
function body()
        if (Timer > 0) then
          Timer = Timer-1
         PutDataToTableTimer()
         sleep(1000)
         return
        end

       local ServerTime = getInfoParam("SERVERTIME")
            if(ServerTime==nil or ServerTime=="") then
               Problem = "Error!"
          Timer = 3
                return
         else 
                 Problem = ""
            end
           if (IsWindowClosed(TableId)) then
               CreateWindow(TableId)
               PutDataToTableInit()
           end
        
       local SessionStatus = tonumber(getParamEx(Class,Emit,"STATUS").param_value)
                 if (SessionStatus~=1) then
              Problem = "Сессия закрыта"
                   Timer = 3
              return
                 end
   
       local function f12 (TableId, msg, X, Y)
               if (msg==QTABLE_LBUTTONDBLCLK) then
                 if (X==13 and Y==1) then
                     message("Робот работает",1)
                     elseif (X==13 and Y==3) then
                message("Робот остановлен",1)
                     is_run = false
                      end
               end
         end
                    SetTableNotificationCallback (TableId, f12)
                    SetCell(TableId,1,2,ServerTime)
                    SetCell(TableId,1,3,Problem)
               
   Problem = ""

   local PosNow = PosNowFunc(Emit,MyAccount)
      
        PutDataToTable(posNow) 
         
       
      sleep(1000)
end

function PutDataToTable(posNow)
  SetCell(TableId,3,2,tostring(posNow))
end

function PosNowFunc(emit,account) 
    local nSize = getNumberOf("futures_client_holding")
       if (nSize~=nil) then
      for i=0,nSize-1 do
           local row = getItem ("futures_client_holding",i)
                         if (row~=nil and row.sec_code==emit and row.traccid==account) then
                          return tonumber(row.totalnet)
         end
      end
   end
           return 
end 

function PutDataToTableInit()
     Clear(TableId)
     SetWindowPos(TableId,100,200,500,300)
     SetWindowCaption(TableId,"Робот")
---------------------------------------------
    for i=1, 13 do 
      InsertRow(TableId,-1)
    end
  
    SetCell (TableId, 1, 1, "Время сервера =>")
    SetCell (TableId, 2, 1, "Код бумаги =>")
    SetCell (TableId, 3, 1, "Текущая позиция =>")
    SetCell (TableId, 4, 1, "Сигнал ТС =>")
    SetCell (TableId, 5, 1, "ЛОТ =>")
    SetCell (TableId, 7, 1, "Номер счета =>"); SetCell (TableId, 7, 3, "ФОРТС")
    SetCell (TableId, 8, 1, "Код класса =>")
    SetCell (TableId, 13, 1, "Запуск робота")
    SetColor(TableId, 13, 1, RGB(255,255,0), RGB(0,0,0), RGB(0,220,220), RGB(0,0,0))
    SetCell (TableId, 13, 3, "СТОП")
    SetColor(TableId, 13, 3, RGB(255,255,0), RGB(0,0,0), RGB(0,220,220), RGB(0,0,0))
  
  
  local nRow,nCol = GetTableSize(TableId)
    for i=1,nRow do
        if (i%2==0) then
        SetColor(TableId, i, QTABLE_NO_INDEX, RGB(220,220,220), RGB(0,0,0), RGB(0,220,220), RGB(0,0,0))
         else
        SetColor(TableId, i, QTABLE_NO_INDEX, RGB(255,255,255), RGB(0,0,0), RGB(0,220,220), RGB(0,0,0))
   
        end
    end
end

function PutDataToTableTimer()
     SetCell (TableId, 1, 1, "Время сервера =>")
      Highlight(TableId, 1, QTABLE_NO_INDEX, RGB(0,20,255), RGB(255,255,255),500)
end
  
function WriteToEndOfFile(sFile,sDataString)
    local serverTime = getInfoParam("SERVERTIME")
    local serverData = getInfoParam("TRADEDATE")
      sDataString = serverData..";"..serverTime..";"..sDataString.."\n"
        local f = io.open(sFile,"r+")
           if (f == nil) then
             f = io.open(sFile,"w")
      end
        if (f~=nil) then
           f:seek("end",0)
      f:write(sDataString)
      f:flush()
      f:close()
       end
end
 
Здравствуйте,
Проверьте визуально есть ли нужная строчка в таблице Позиции по клиентским счетам (фьючерсы)
Если нужной строчки нет, то и значения не будут возвращаться
 
Сам прохожу обучение по видео пистолетова такая же ошибка. Разобрался может кому поможет
Problem = ""

  local PosNow = PosNowFunc(Emit,MyAccount)
     
       PutDataToTable(posNow) не правильно должно быть с заглавной буквы  PosNow:  PutDataToTable(PosNow)
Страницы: 1
Читают тему
Наверх