Роман (Все сообщения пользователя)

Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
ОШИБКА: (533) Неверно указан код клиента.
 
В моем случае вопрос создания заявок решился добавлением символа "/" в конце строки кода клиента, например, "659364H2UR8/". Но это добавило неудобств, т.к. во всех таблицах QUIK (заявки, сделки и т.п.) код клиента без слэша.
GET_CLIENT_MARGINAL_BUY_SELL_INFO_EX в QUIK 8.0, Unknown (or illegally called) function при запросе данных GET_CLIENT_MARGINAL_BUY_SELL_INFO_EX в QUIK 8.0
 
Большое спасибо! Все работает.
GET_CLIENT_MARGINAL_BUY_SELL_INFO_EX в QUIK 8.0, Unknown (or illegally called) function при запросе данных GET_CLIENT_MARGINAL_BUY_SELL_INFO_EX в QUIK 8.0
 
Добрый день!

В версии QUIK 8.0 строка получения данных из массива GET_CLIENT_MARGINAL_BUY_SELL_INFO_EX возвращает ошибку:
Цитата
Произошла ошибка при расчете скрипта "TEST", идентификатор организации "ALL_FIRMS", сообщение об ошибке "File: test.qpl, line: 9. Unknown (or illegally called) function  [ MESSAGE(GET_VALUE(GET_CLIENT_MARGINAL_BUY_SELL_INFO_EX("NC0011100000","10534","QJSIM","SBER",0),"LIMIT_KIND"),1) ] "
В версии 7 все работает корректно. Изменений в руководстве пользователя не нашел. Режим отладки не помогает. Подскажите, пожалуйста, как следует запрашивать данные в QUIK 8.0. Спасибо!
Код
PORTFOLIO_EX TEST;
DESCRIPTION TEST;
CLIENTS_LIST ALL_CLIENTS;
FIRMS_LIST ALL_FIRMS;
USE_CASE_SENSITIVE_CONSTANTS;

PROGRAM

MESSAGE(GET_VALUE(GET_CLIENT_MARGINAL_BUY_SELL_INFO_EX("NC0011100000","10534","QJSIM","SBER",0),"LIMIT_KIND"),1)

END_PROGRAM

PARAMETER TEST;
PARAMETER_TITLE TEST;
PARAMETER_DESCRIPTION TEST;
PARAMETER_TYPE STRING(16);
END

END_PORTFOLIO_EX
ОШИБКА: (533) Неверно указан код клиента.
 
Здравствуйте!
На счете единой денежной позиции Финам при попытке создать заявку с помощью скрипта на lua (код ниже) QUIK возвращает сообщение "ОШИБКА: (533) Неверно указан код клиента". Специалисты технической службы брокера утверждают, что с их стороны все работает корректно, т.к. счет открыт не первый год, и причина в скрипте. Со своей стороны вручную без использования скрипта заявки в QUIK создаются. На других счетах единой денежной позиции Финам и счетах других брокеров скрипт заявки успешно создает.
Просьба подсказать, в чём может быть причина возникновения ошибки по этому счету? Спасибо!
Код
local sec_code    = "NVTK"  -- код инструмента (по другим ценным бумагам ситуация аналогичная)
local class_code  = "TQBR"  -- код класса инструмента
local client_code = "..."  -- код клиента единой денежной позиции Финам (для выполнения задается реально существующий, троеточие только для форума)
local account     = "L01+00000F00"  -- торговый счет
local operation   = "B" -- операция "B" или "S"
local quantity    = 1   -- количество лотов
local price       = 1200 -- цена заявки

function main()
    message("Результат создания заявки: "..send_order(sec_code, class_code, client_code, account, operation, quantity, price),1)
end

-- Создание trans_id заявки
function get_trans_id()
--------------------- АРГУМЕНТЫ ----------------------
--------------------- ВОЗВРАЩАЕТ ---------------------
-- (number) trans_id

    local s   = tostring(os.clock())
    local x,g = string.find(s, "(%d+)")
    s = string.sub(s, g+2)
    for i = 1, 3-string.len(s) do
        s = "0"..s
    end
    return tonumber(os.date("%H%M%S")..s)
end

-- Создание заявки по инструменту
function send_order(sec_code, class_code, client_code, account, operation, quantity, price)
--------------------- АРГУМЕНТЫ ----------------------
-- (string) sec_code    - код инструмента
-- (string) class_code  - код класса инструмента
-- (string) client_code - код клиента (торговый счет на срочном рынке)
-- (string) account     - торговый счет
-- (string) operation   - операция "B" или "S"
-- (number) quantity    - количество лотов
-- (number) price       - цена заявки
--------------------- ВОЗВРАЩАЕТ ---------------------
-- (string) trans_id транзакции создания заявки, иначе причина отказа

    -- trans_id заявки
    local trans_id = tostring(get_trans_id())

    -- Транзакции заявки
    local trans_params = {
        ["ACTION"]      = "NEW_ORDER",
        ["TYPE"]        = "L",
        ["TRANS_ID"]    = trans_id,
        ["SECCODE"]     = tostring(sec_code),
        ["CLASSCODE"]   = tostring(class_code),
        ["CLIENT_CODE"] = tostring(client_code),
        ["ACCOUNT"]     = tostring(account),
        ["OPERATION"]   = tostring(operation),
        ["QUANTITY"]    = tostring(quantity),
        ["PRICE"]       = tostring(price)
    }
    -- Результат обработки транзакции
    local res = sendTransaction(trans_params)

    return res == "" and ("заявка с trans_id ["..trans_id.."] создана") or res
end
Страницы: 1
Наверх