В соответствии с инструкцией формат вызова функции TABLE getFuturesLimit(STRING firmid, STRING trdaccid, NUMBER limit_type, STRING currcode) Почитал форумы и не вполне понимаю какие аргументы подставлять и что они значат Firmid - это SPBFUT или индекс фирмы вида MC0061... trdaccid -- аккаунт? везде пишут что он должен иметь вид SPBFUT...TT, но у меня не так, я в lua использую аккаунт вида 76..0 limit_type -- какие типы лимита бывают, чт currcode - это что вообще? код валюты?
Использовал строку вида FutLimit = getFuturesLimit("SPBFUT", ACCOUNT, 0, "SUR").cbplimit но она возвращает нулевые значения...
Значение всех параметров функции можно посмотреть в таблице "Ограничения по клиентским счетам": Firmid - Фирма, trdaccid- Торговый счет, limit_type - Тип лимита. Коды возможных типов лимитов можно найти в документации QLUA.chm Раздел "Структуры данных/Лимиты по фьючерсам". currcode - Валюта позиции.
Цитата
Иван Ру написал: Использовал строку вида FutLimit = getFuturesLimit("SPBFUT", ACCOUNT, 0, "SUR").cbplimit но она возвращает нулевые значения...
ACCOUNT вероятно, неверное значение параметра trdaccid, кроме того, значения счета нужно указывать в кавычках. Убедитесь, что вводимые Вами параметры соответствуют тем, которые отображены в таблице Рабочего места QUIK.
Значение всех параметров функции можно посмотреть в таблице "Ограничения по клиентским счетам": Firmid - Фирма, trdaccid- Торговый счет, limit_type - Тип лимита. Коды возможных типов лимитов можно найти в документации QLUA.chm Раздел "Структуры данных/Лимиты по фьючерсам". currcode - Валюта позиции.
Цитата
Иван Ру написал: Использовал строку вида FutLimit = getFuturesLimit("SPBFUT", ACCOUNT, 0, "SUR").cbplimit но она возвращает нулевые значения...
ACCOUNT вероятно, неверное значение параметра trdaccid, кроме того, значения счета нужно указывать в кавычках. Убедитесь, что вводимые Вами параметры соответствуют тем, которые отображены в таблице Рабочего места QUIK.
ACCOUNT -- строковая переменная содержащая код моего аккаунта. У меня (Финам) он имеет вид 7...kb0 Есть еще код клиента вида 3...MYJ . НИ с одним, ни с другим функция не работает.
Иван Ру написал: ACCOUNT -- строковая переменная содержащая код моего аккаунта. У меня (Финам) он имеет вид 7...kb0 Есть еще код клиента вида 3...MYJ . НИ с одним, ни с другим функция не работает.
Просьба привести полный текст вызова функции, а также скриншот таблицы "Ограничений по клиентским счетам" с видимыми задаваемыми параметрами.
Иван Ру написал: ACCOUNT -- строковая переменная содержащая код моего аккаунта. У меня (Финам) он имеет вид 7...kb0 Есть еще код клиента вида 3...MYJ . НИ с одним, ни с другим функция не работает.
Просьба привести полный текст вызова функции, а также скриншот таблицы "Ограничений по клиентским счетам" с видимыми задаваемыми параметрами.
Вы также можете прислать запрошенные данные нам на адрес: quiksupport@arqatech.com указав в письме ссылку на данную ветку форума.
Иван Ру написал: ACCOUNT -- строковая переменная содержащая код моего аккаунта. У меня (Финам) он имеет вид 7...kb0 Есть еще код клиента вида 3...MYJ . НИ с одним, ни с другим функция не работает.
Просьба привести полный текст вызова функции, а также скриншот таблицы "Ограничений по клиентским счетам" с видимыми задаваемыми параметрами.
Спасибо, решетка осталась еще с попыток считать всю таблицу, а не ее параметр .cbplimit Я написал, что ошибка появляется не в строке с message, а в предыдущей строке FutLimit = getFuturesLimit... т.е. интерпретатор даже не доходит до строки, которую предлагается исправить. Ожидаемо, исправление не изменило результат.
Иван Ру написал: Спасибо, решетка осталась еще с попыток считать всю таблицу, а не ее параметр .cbplimit Я написал, что ошибка появляется не в строке с message, а в предыдущей строке FutLimit = getFuturesLimit... т.е. интерпретатор даже не доходит до строки, которую предлагается исправить. Ожидаемо, исправление не изменило результат.
При подстановке собственных данных в Ваш код он отработал корректно. Ошибка может быть только в заполнении значений параметров таблицы. Также, в коде вы указываете фирму SPBFUT, в то время как в таблице - MC. Если разобраться не удастся, просьба все же направить письмо на адрес: quiksupport@arqatech.com приложив скриншот таблицы и скриншот ошибки, указав в письме ссылку на данную ветку форума.
Иван Ру написал: Спасибо, решетка осталась еще с попыток считать всю таблицу, а не ее параметр .cbplimit Я написал, что ошибка появляется не в строке с message, а в предыдущей строке FutLimit = getFuturesLimit... т.е. интерпретатор даже не доходит до строки, которую предлагается исправить. Ожидаемо, исправление не изменило результат.
При подстановке собственных данных в Ваш код он отработал корректно. Ошибка может быть только в заполнении значений параметров таблицы. Также, в коде вы указываете фирму SPBFUT, в то время как в таблице - MC. Если разобраться не удастся, просьба все же направить письмо на адрес: quiksupport@arqatech.com приложив скриншот таблицы и скриншот ошибки, указав в письме ссылку на данную ветку форума.
Проблема решена. 1. Первый параметр у меня должен был быть не 'SPFUT' как везде пишут, а иной код характерный для моего брокера (МС... у Финам). 2. Параметр "валюта расчетов" у меня в таблице пустой, здесь он должен быть в виде пустой строки "" (опускать его нельзя).
Однако, выяснилось что поставленную задачу я решить не могу. Мне нужно узнать объем свободных средств, которые я могу использовать для октрытия новых позиций (сопоставлю его с ГО). В терминале Quik я вижу эту цифру в таблице "Состояние счета" на дату T2 внизу строки в поле "Свободно". Не подскажете, какой функционал Lua не необходимо использовать чтобы получить этот показатель программно.
Иван Ру написал: Однако, выяснилось что поставленную задачу я решить не могу. Мне нужно узнать объем свободных средств, которые я могу использовать для октрытия новых позиций (сопоставлю его с ГО). В терминале Quik я вижу эту цифру в таблице "Состояние счета" на дату T2 внизу строки в поле "Свободно". Не подскажете, какой функционал Lua не необходимо использовать чтобы получить этот показатель программно.
Значение можно получить из таблицы "Клиентский портфель" с помощью функции getPortfolioInfoEx, параметр - "lim_non_margin" (НаПокупкуНеМаржин).