ОШИБКА: (533) Неверно указан код клиента.

Страницы: 1
RSS
ОШИБКА: (533) Неверно указан код клиента.
 
Здравствуйте!

Вкратце суть в следующем - есть 2 единых счета, подключенных к 1 терминалу Quik, на 1 из которых данный скрипт работает без проблем, на втором нет.
Обращался в тех поддержку Финама, там все проверили и т.к. вручную все выставляется из квика был послан к разработчика.

Сам текст скрипта заявки (внутри функции main()):

account_a="L01+00000F00"
client_a="285563R2L2B"


function transaction_send_a (Operation_trans, Amount, Name)
   t = {
           ["ACTION"]="NEW_ORDER",
           ["ACCOUNT"]=account_a,
           ["CLIENT_CODE"]=client_a,
           ["TYPE"]="M",

       }


Trans_id_order=45678
t["TRANS_ID"]=tostring(Trans_id_order)
t["PRICE"]=tostring(0)
t["OPERATION"]=Operation_trans
t["QUANTITY"]=tostring(Amount)
       t["CLASSCODE"]="TQBR"
       t["SECCODE"]=Name

   res=sendTransaction(t)

end


do transaction_send_a ("S", 10, "SBER")
end

ОШИБКА: (533) Неверно указан код клиента.


Выставляю по счету:

Счет L01+00000F00
Код клиента 285563R2L2B


При этом подача заявки на другом моем счете проходит без проблем:

Счет L01+00000F00
Код клиента 285563RI1XAS


Вместо кода клиента я пробовал по совету тех поддержки подставить краткий код
выдается немного другое сообщение:

Неверный код клиента.

Подскажите что я делаю не так и как это исправить, спасибо.
 
Mikhail, Добрый день.
Ошибка биржевая. Означает что кода 285563R2L2B нет на бирже. Сервер QUIK пропускает заявку, а биржа нет . За разъяснениями рекомендуем обратиться Вашему брокеру на биржу
 
Здравствуйте!
На счете единой денежной позиции Финам при попытке создать заявку с помощью скрипта на 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
 
Цитата
Роман написал:
Здравствуйте!
На счете единой денежной позиции Финам при попытке создать заявку с помощью скрипта на 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   
Добрый день.

Данную ошибку возвращает Московская Биржа, нужно смотреть, что передаётся в транзакции в качестве кода клиента. Попросите Вашего брокера прислать нам Ваш отчёт по транзакциям.
 
В моем случае вопрос создания заявок решился добавлением символа "/" в конце строки кода клиента, например, "659364H2UR8/". Но это добавило неудобств, т.к. во всех таблицах QUIK (заявки, сделки и т.п.) код клиента без слэша.
 
Да, для основной секции, большинство брокеров, при подаче заявки проверяет наличие /. Поэтому проще принять за данность и просто добавлять его.
 
Цитата
Роман написал:
В моем случае вопрос создания заявок решился добавлением символа "/" в конце строки кода клиента, например, "659364H2UR8/". Но это добавило неудобств, т.к. во всех таблицах QUIK (заявки, сделки и т.п.) код клиента без слэша.
Добрый день.

Этот вопрос нужно адресовать Вашему брокеру, это его сфера ответственности.
Страницы: 1
Читают тему
Наверх