Никита
Никита личный блог
11 июля 2022, 13:23

LUA QUIK ОШИБКА

Здравствуйте, подскажите пожалуйста, прописываю вот такой код:
firmid = «XXXXXXXXX»;
client_code = XXXX;
limit_kind = 2;
cena = getPortfolioInfoEx (firmid,client_code,limit_kind, portfolio_value)
message (""..cena)

Но выдает ошибку:
attempt to concatenate a nil value (global 'cena')
Подскажите в чем проблема

6 Комментариев
  • Виталий
    11 июля 2022, 14:03
    message («текст»… tostring(cena), 1)
  • Счастливый Конец
    11 июля 2022, 14:05
    ну так ясно написано, у вас в переменную которая в ошибке ничего не присвоено. И вы хотите сложить пустую строку с nil (""… nil), вот и ругается.
  • Счастливый Конец
    11 июля 2022, 15:58
    Вот взял кусок, адаптируйте
    — экспорт позиции и денег на фортс и валютном рынках
    function ExportMoney()
    — Если не соединено то выходим
    if isConnected() == 0 then return; end
    — PapersForts (позиции ФОРТС)
    local portfolio = «S|»
    local count1 = getNumberOf(«futures_client_holding»)
    for i = 0, (count1 — 1) do
    local r = getItem(«futures_client_holding», i)
    portfolio = portfolio… r.sec_code… ","… r.totalnet… "|"
    end
    — собираем Позиции по валютному рынку
    — количество строк валюты
    local count2 = getNumberOf(«depo_limits»)
    — проходимся по строкам
    for i = 0, (count2 — 1) do
    — строка позиции
        local r = getItem(«depo_limits», i)
    portfolio = portfolio… r.sec_code… ","… r.currentbal… "|"
    end
    — Добавим E на конце
    portfolio = portfolio… «E»
    — Если текст для portfolio изменился и запись прошла
    if g_LastPortfolioText ~= portfolio and WriteText(«d:\\G\\»… g_folder… "\\Portfolio\\"… GetTime()… ".txt", portfolio) then
    — Запоминаем текст
    g_LastPortfolioText = portfolio
    — Добавим в лог
    Log(«запись portfolio»)
    end
    — собираем деньги на фортс
    local money = «S|»
    — собираем все деньги
    local myMoney = ""
    — количество строк в лимитах фьючерсов
    local count2 = getNumberOf(«futures_client_limits»)
    — проходим по строкам
    for i = 0, (count2 — 1) do
    — получаем строку
    local r = getItem(«futures_client_limits», i)
    myMoney = myMoney… r.firmid… " " ..r.trdaccid ..  " "… r.cbplimit… " "… r.cbplplanned… "\n"
    if (r.cbplimit ~= 0) then
    money = money… r.cbplimit… "|"… r.cbplplanned… "|"
    end
    end
    — количество строк в лимитах денег
    count2 = getNumberOf(«money_limits»)
    — проходим по строкам
    for i = 0, (count2 — 1) do
    — получаем строку
    local r = getItem(«money_limits», i)
    myMoney = myMoney… r.firmid… " "… r.currcode… " "… r.openbal… " "… r.openlimit… " "… r.currentbal… " "… r.currentlimit… "\n"
    end
    — количество строк в Денежные позиции
    count2 = getNumberOf(«account_positions»)
    — проходим по строкам
    for i = 0, (count2 — 1) do
    — получаем строку
    local r = getItem(«account_positions», i)
    myMoney = myMoney… r.firmid… " "… r.currcode… " "… r.openbal… " "… r.currentpos… "\n"
    end
    — Добавим E на конце
    money = money… «E»
    — Если текст для money изменился и запись прошла
    if g_LastMoneyText ~= money and WriteText(«d:\\G\\»… g_folder… "\\Money\\"… GetTime()… ".txt", money) then
    — Запоминаем текст
    g_LastMoneyText = money
    — Добавим в лог
    Log(«запись money»)
    end
    — Если текст для myMoney изменился и запись прошла
    if g_LastMyMoneyText ~= myMoney and WriteText(«d:\\G\\Logs\\»… g_folder… "\\MyMoney.log", myMoney) then
    — Запоминаем текст
    g_LastMyMoneyText = myMoney
    — Добавим в лог
    Log(«запись myMoney»)
    end
    — конец функции экспорта позиции и денег
    end

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

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