В свою очередь, в сигнатуре этих функций присутствуют параметры
Код
STRING firm_id
STRING trdaccid
которые можно получить из функции getItem("trade_accounts", idx). При этом последовательность выведенных кодов клиентов из getItem("client_codes", idx) не соответствует результатам из getItem("trade_accounts", idx). Например для код под индексом 1 соответствует аккаунт под индексом 4.
Вопрос: как получить код клиента, соответствующий торговому аккаунту.
Q
Пользователь
Сообщений: Регистрация: 23.01.2015
18.09.2019 16:10:20
Цитата
QApplication написал: Вопрос: как получить код клиента, соответствующий торговому аккаунту.
Для одного кода клиента может быть несколько торговых счетов. Какой считать правильным? Однозначного ответа нет. По этой причине нет однозначной связи между trade_account и client_code. Вы можете по таблице depo_limits подобать нужный Вам счет.
Пользователь
Сообщений: Регистрация: 17.12.2017
18.09.2019 16:34:42
Цитата
Sergey Gorokhov написал: нет однозначной связи между trade_account и client_code
На сколько я понимаю, у разных аккаунтов могут быть одинаковые Идентификаторы фирмfirmid? Можно привести физическое назначение поля firmid. Что такое фирма во взаимоотношениях клиент-брокер-биржа.
Q
Пользователь
Сообщений: Регистрация: 23.01.2015
18.09.2019 16:41:50
Цитата
QApplication написал: На сколько я понимаю, у разных аккаунтов могут быть одинаковые Идентификаторы фирм firmid?
Да могут.
Цитата
QApplication написал: Можно привести физическое назначение поля firmid.
Внутри QUIK, фирма это некое объединение (группа) счетов. У брокера может быть несколько фирм.
Цитата
QApplication написал: Что такое фирма во взаимоотношениях клиент-брокер-биржа.
Для пользователя это просто некий идентификатор. Для брокера это раздел к которому принадлежат счета. Для биржи (если говорить про фондовый рынок), это некий Уникальный идентификатор участника торгов. Если говорить про срочный рынок, то это рездел, при чем для одной фирмы в QUIK может быть несколько разделов на бирже.
Пользователь
Сообщений: Регистрация: 17.12.2017
18.09.2019 17:17:58
Общий вопрос, из которого родился перовоначальный: Какими функциями QLUA и в каком порядке можно построить структуру данных о клиентских счетах и др. в виде дерева? например, userID--- | --- account 1 | --- money | --- T0 | --- T1 | --- T2 | --- depo (T0, T1, T2) | --- portfolioInfo(T0, T1, T2) | --- account 2 ... | --- account n
Если с функциями (money, depo , portfolioInfo) все понятно, то как посторить корень дерева - не понятно?
Q
Пользователь
Сообщений: Регистрация: 17.12.2017
19.09.2019 09:23:47
например, userID получаем из STRING getInfoParam (STRING param_name) с аргументов USERID client_codesполучаем из getItem(client_codes) список аккаунтов по каждому коду клиента получаем ??? (не понятно как) далее по каждому коду клиента (client_codes) и для каждого аккаунта, соответствующего этому коду клиента, получаем данные по известным функциям (get<Name>Ex(args...)).
Q
Пользователь
Сообщений: Регистрация: 17.12.2017
20.09.2019 15:00:16
Предлагаю добавить функцию в QLUA для получения списка аккаунтов по коду клиента.
Q
QUIK clients support
Сообщений: Регистрация: 27.01.2015
23.09.2019 03:36:40
Цитата
QApplication написал: Предлагаю добавить функцию в QLUA для получения списка аккаунтов по коду клиента.
Здравствуйте!
Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
Пользователь
Сообщений: Регистрация: 02.02.2015
миру мир!
24.09.2019 05:11:42
Цитата
QApplication написал: Какими функциями QLUA и в каком порядке можно построить структуру данных о клиентских счетах и др. в виде дерева?
Уже сейчас вам всё это доступно: надо просто проитерировать все лимиты по бумагам и по деньгам И из них выстроить требуемую вам структуру. (Зачем она вам нудна - вот что не понять)
Собственно QUIK в каком-то смысле так и делает: есть лимиты - из них достаётся вся информация. И всё. Никакой "структуры параметров" нет.
Пользователь
Сообщений: Регистрация: 24.05.2020
13.06.2020 19:31:45
Освежу темку. 1. Если фирма для брокера это группа счетов, то зачем в вызовах getDepoEx, getMoneyEx, getFuturesLimit, ... кроме номера счета указывать еще и фирму? Кажется, эта информация избыточна. 2. Практически всегда, номер счета фондового рынка МБ имеет код "L01~00000F00", получается это не счет клиента, и даже не брокера, а .... счет чего?
Пользователь
Сообщений: Регистрация: 30.01.2015
14.06.2020 06:49:14
Цитата
Сергей написал: Освежу темку. 1. Если фирма для брокера это группа счетов, то зачем в вызовах getDepoEx, getMoneyEx, getFuturesLimit, ... кроме номера счета указывать еще и фирму? Кажется, эта информация избыточна. 2. Практически всегда, номер счета фондового рынка МБ имеет код "L01~00000F00", получается это не счет клиента, и даже не брокера, а .... счет чего?
на бирже торгуют фирмы(брокеры) а не их клиенты поэтому информация о фирме нужна бирже. кроме того в сделке на бирже есть и идентификатор клиента, но идентификатор клиента(счет) нужен реально лишь брокеру для разнесения сделок по клиентам во внутренней "амбарной книге"
написал: Освежу темку. 1. Если фирма для брокера это группа счетов, то зачем в вызовах getDepoEx, getMoneyEx, getFuturesLimit, ... кроме номера счета указывать еще и фирму? Кажется, эта информация избыточна. 2. Практически всегда, номер счета фондового рынка МБ имеет код "L01~00000F00", получается это не счет клиента, и даже не брокера, а .... счет чего?
на бирже торгуют фирмы(брокеры) а не их клиенты поэтому информация о фирме нужна бирже. кроме того в сделке на бирже есть и идентификатор клиента, но идентификатор клиента(счет) нужен реально лишь брокеру для разнесения сделок по клиентам во внутренней "амбарной книге"
Информацию о фирме легко получить по номеру счета, судя по тому, что в таблице счетов есть поле с ид фирмы, сопоставление там однозначное.
Пользователь
Сообщений: Регистрация: 30.05.2020
21.06.2021 11:30:47
Здравствуйте. Торговому счету может соответствовать только один идентификатор фирмы?
QUIK clients support
Сообщений: Регистрация: 27.01.2015
23.06.2021 05:10:31
Цитата
Незнайка написал: Здравствуйте. Торговому счету может соответствовать только один идентификатор фирмы?
Добрый день.
Может.
Пользователь
Сообщений: Регистрация: 30.05.2020
23.06.2021 08:24:00
Торговому счету соответствует только ОДИН идентификатор фирмы или может быть НЕСКОЛЬКО ФИРМ для одного торгового счета?
QUIK clients support
Сообщений: Регистрация: 27.01.2015
23.06.2021 09:48:39
Цитата
Незнайка написал: Торговому счету соответствует только ОДИН идентификатор фирмы или может быть НЕСКОЛЬКО ФИРМ для одного торгового счета
В связи с чем возник данный вопрос? Технически может, но таких случаев в бою мы не встречали. Возможно и существует такая конфигурация, но надо у брокера выяснять и смотреть его настройки.
Пользователь
Сообщений: Регистрация: 27.01.2017
23.06.2021 10:00:17
Если считать, что Фирма - это некий код брокера, от имени которого выполняются поручения, то маловероятно. Но это, конечно, больше вопрос к брокеру.
Пользователь
Сообщений: Регистрация: 30.05.2020
23.06.2021 10:01:55
Цитата
Egor Zaytsev написал: В связи с чем возник данный вопрос?
Для заданного кода клиента ид фирмы, определяется однозначно, например из таблицы "trade_accounts"?
Пользователь
Сообщений: Регистрация: 30.05.2020
15.07.2021 09:31:43
Будет ли корректно работать функция получения фьючерсных позиций без указания фирмы?
Код
function getFuturesHoldingEx(ACCOUNT, SEC_CODE, TYPE)
if TYPE == nil then TYPE = 0 end
local n = getNumberOf("futures_client_holding")
if n == 0 then return nil end
local index = SearchItems("futures_client_holding", 0, n-1, function (trdaccid, sec_code, type)
if sec_code == SEC_CODE and trdaccid == ACCOUNT and type == TYPE then
return nil
else return false end
end, "trdaccid,sec_code,type")
if index then
return getItem("futures_client_holding", index[1])
else return nil end
end
Прошу прощения, не совсем правильно Вас понял. Вы просто реализовали поиск при помощи SearchItems.
В виду данного нами ранее ответа
Цитата
Egor Zaytsev написал: Технически может, но таких случаев в бою мы не встречали. Возможно и существует такая конфигурация, но надо у брокера выяснять и смотреть его настройки.
Однозначно сказать нельзя.
Однако, если взять частный случай, когда набор trdaccid, sec_code, type уникален только для одной конкретной фирмы, то да, Ваша функция будет работать корректно.
Пользователь
Сообщений: Регистрация: 30.05.2020
16.07.2021 07:26:35
Цитата
Roman Azarov написал: В виду данного нами ранее ответа
Цитата
написал: Технически может, но таких случаев в бою мы не встречали. Возможно и существует такая конфигурация, но надо у брокера выяснять и смотреть его настройки.
Однозначно сказать нельзя.
Другими словами в квике в общем случае нет однозначного соответствия торговый счет -> фирма? Но в форме ввода заявки нет идентификатора фирмы. Как же квик определяет, по какой фирме совершать сделку?
Пользователь
Сообщений: Регистрация: 23.01.2015
16.07.2021 07:38:22
Цитата
Незнайка написал: Но в форме ввода заявки нет идентификатора фирмы. Как же квик определяет, по какой фирме совершать сделку?
Если фирмы нет, значит в правах на классе только одна фирма. Возможность торговли от разных фирм доступна только сотрудникам брокера.