Блог им. NikitaBortnikov

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')
Подскажите в чем проблема

★2
6 комментариев
message («текст»… tostring(cena), 1)
avatar
ну так ясно написано, у вас в переменную которая в ошибке ничего не присвоено. И вы хотите сложить пустую строку с nil (""… nil), вот и ругается.
Счастливый Конец, а что именно подставить в эту строку  message ("?"..cena), чтобы вывести portfolio_value
avatar
Счастливый Конец, чтобы вывести (firmid,client_code,limit_kind, portfolio_value)
avatar
Счастливый Конец, может есть пример  или ссылка?
avatar
Вот взял кусок, адаптируйте
— экспорт позиции и денег на фортс и валютном рынках
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

теги блога Никита

....все тэги



UPDONW
Новый дизайн