getDepoEx

Страницы: 1
RSS
getDepoEx, не работает getDepoEx
 
Подскажите пожалуйста не работает getDepoEx, выдает nil,  хотя в табл. лимитов по бумагам, бумаги есть, правда почему то указаны в количестве акций, а не в количестве лотов.
getMoneyEx - работает нормально все верно выдает.
Попробовал  getDepo и getMoney, в этом случае  getMoney опять же выдает все верно, а getDepo в полях указывает нули (depo_current_balance=0, depo_limit_available=0 и т. д. ).
Таблицы лимитов созданы и открыты.
tbl_depo=getDepoEx ("фирма" , "код клиента" , "код бумаги" , " счет депо", 2)
tbl_depo=getDepoEx ("NC0007900000" , "21455" , "GAZP" , " L01+00000F00", 2)
Версия quik 6.17.0.58
 
Добрый день.

Юрий, можете полный код программы выложить.
 
Цитата
Юрий Самсуни пишет:
tbl_depo=getDepoEx ("NC0007900000" , "21455" , "GAZP" , " L01+00000F00", 2)
У Вас лишний пробел перед счетом " L01+00000F00"
Исправьте так:
Код
tbl_depo=getDepoEx ("NC0007900000" , "21455" , "GAZP" , "L01+00000F00", 2)
 
Цитата
Egor Zaytsev пишет:
Добрый день.

Юрий, можете полный код программы выложить.
Не хотелось бы заграмаждать ветку , но если в кратце этот код выдает ошибку в основной программе, я его переписал в простейшую - только он и вывод полученной табл. в файл и там и там одна и та же ошибка  выдает nil причем повторяю рядом выполняется getMoneyEx он выдает все верно ?
 
Цитата
Sergey Gorokhov пишет:
Цитата
Юрий Самсуни пишет:
tbl_depo=getDepoEx ("NC0007900000" , "21455" , "GAZP" , " L01+00000F00", 2)
У Вас лишний пробел перед счетом " L01+00000F00"
Исправьте так:
Код
 tbl_depo=getDepoEx ("NC0007900000" , "21455" , "GAZP" , "L01+00000F00", 2) 
К сожалению, это возможно пробел в сообщении, в программе его нет.
Может причина какая то в самой табл. лимитов ?  
 
Цитата
juriy163 S пишет:
Может причина какая то в самой табл. лимитов ?
Боюсь что если бы это было действительно так, было бы гораздо больше обращений по данной проблеме.
Проблема именно в Вашем коде, и пробел это только доказывает.
Выложите копию куска кода в котором Вы работаете с функцией getDepoEx
 
" счет депо" - тоже пробел после первой ковычки, право не знаю влияет это или нет  :)
Цитата
Юрий Самсуни пишет:
tbl_depo=getDepoEx ("фирма" , "код клиента" , "код бумаги" , " счет депо", 2)
 
Цитата
Sergey Gorokhov пишет:
Цитата
juriy163 S пишет:
Может причина какая то в самой табл. лимитов ?
Боюсь что если бы это было действительно так, было бы гораздо больше обращений по данной проблеме.
Проблема именно в Вашем коде, и пробел это только доказывает.
Выложите копию куска кода в котором Вы работаете с функцией getDepoEx
--пример использования getMoneyEx и getDepoEx

function main(  )
   
 --tbl_depo=getDepo("21455","NC0007900000","GAZP","L01+00000F00")
 --tbl_money=getMoney("21455","NC0007900000","EQTV","SUR")

 tbl_depo=getDepoEx("NC0007900000","21455","GAZP","L01+00000F00",2)  
 tbl_money=getMoneyEx("NC0007900000","21455","EQTV","SUR",2)        -- 2 это Т2 ( 1 - Т1, 0 - Т0)

--============================================================­==================
--function table.val_to_str ( v )
 
--------------------------------------------------------------------------------------------------------
--function table.key_to_str ( k )

------------------------------------------------------------------------------------------------------
-- Преобразование таблицы или массива в текстовое представление в соответствии с синтаксисом языка lua

--function table.tostring( tbl )
 
------------------------------------------------------------------------------------------------------
-- Сохранение таблицы или массива в файл

--function table.save(tbl,filename)
 
--============================================================­==================
   filename="Get_Money.txt"  --81

      table.save(tbl_money,filename)
       
   filename="Get_Depo.txt"

      table.save(tbl_depo,filename)

   message (tostring(tbl_money["currentbal"]),2)
   
        sleep(3000)

   message (tostring(tbl_depo["currentbal"]),2)

end  

Закоментированные функции - работающие, не обращайте на них внимания
 
приведенный выше пример работает на валютном рынке, в реальном квике, для этого пишу вот так:
t=getDepoEx('MC0139600000','00000FX','USD000000TOD','MB0139600999',0)

но! не работает в QUIK JUNIOR.
t=getDepoEx('MB1000100000','11154','USD','RTOD',0)
значение 'RTOD' беру из колонки "Счет депо", а 'USD' - из колонки "Код бумаги", ну т.е. из тех же колонок, что и в рабочем квике.

может кто-нибудь знает, как правильно вызывать эту функцию из демо-квика?
 
Счет депо RTOD? в самом деле?
 
Цитата
Николай написал:
приведенный выше пример работает на валютном рынке, в реальном квике, для этого пишу вот так:
t=getDepoEx('MC0139600000','00000FX','USD000000TOD','MB0139600999',0)

но! не работает в QUIK JUNIOR.
t=getDepoEx('MB1000100000','11154','USD','RTOD',0)
значение 'RTOD' беру из колонки "Счет депо", а 'USD' - из колонки "Код бумаги", ну т.е. из тех же колонок, что и в рабочем квике.

может кто-нибудь знает, как правильно вызывать эту функцию из демо-квика?
Добрый день,

Просьба проверить, что строка в лимитом в таблице лимитов по бумагам присутствует на момент ее запроса.
Регламент работы рынков в QUIK Junior:
http://arqatech.com/ru/products/quik/basic-sets/quik-broker-training-copy

Ниже прикладываем пример использования getDepoEx для Вашего фондового счета в QUIK Junior. В случае с Валютным рынком необходимо заменить фирму, инструмент и счет депо взяв их из таблицы лимитов по бумагам.
Код
function main()
  local res = getDepoEx('NC0011100000', '11154', 'SBER', 'NL0011100043', 0) 
  message("Текущий остаток="..res.currentbal,1)
end
 
Подскажите как получить при помощи getDepoEx количество позиций не Т0, Т1 и Т2. А TX? Какую цифру указать?
 
Здравствуйте, Ярослав.

Используйте цифру 365.
 
Здравствуйте. Подскажите плиз, что может быть не так. Написал функцию для получения объема из таблицы "Позиция по инструментам". При начале работы работает несколько циклов, после чего Quik-демо зависает. Проверил: входящие параметры поступают, функция возвращает значения, но в один прекрасный момент при получении local table происходит зависание Quik. Код ниже.

Код
function get_depo_ex(Firm_, ClientCode_, sec_code_, AccountNumber_)
  --Возвращает из таблицы "Позиция по инструментам" позицию в лотах, если Buy то volume > 0, если Sell то volume < 0, если позы нет то 0
  local volume = 0
  --local lot_size = ArrayAll[I][7][2][1] --размер лота по инструменту
  local limit_kind_ = 2
  if QUIK_LOGIN == DEMO_LOGIN then limit_kind_ = 0 end
  local table = getDepoEx(Firm_, ClientCode_, sec_code_, AccountNumber_, limit_kind_)
  --if table and lot_size then volume = table.currentbal / lot_size end
  if table then volume = table.currentbal end
  return volume --позицию в лотах, если Buy то volume > 0, если Sell то volume < 0, если позы нет то 0
  --Пример: local volume = get_depo_ex(ArrayAll[i][6], ArrayAll[i][4], ArrayAll[i][2], ArrayAll[i][5])
  --Получили из таблицы "Позиция по инструментам" позицию в лотах, если Buy то volume > 0, если Sell то volume < 0, если позы нет то 0
end
 
Роман, добрый день.

Просим Вас сообщить используемую версию Рабочего места QUIK, а также предоставить полный код программы для анализа.
Вы можете прислать запрошенную информацию на нашу почту quiksupport@arqatech.com, указав в письме ссылку на данную тему форума.
 
Цитата
Anton Belonogov написал:
quiksupport@arqatech.com
Здравствуйте. Направил все вам на емайл
Страницы: 1
Читают тему (гостей: 1)
Наверх