Воспроизвести описанное поведение у себя не удалось. Просим Вас сделать копию Рабочего места QUIK (без файлов pubring.txk, secring.txk, если используется аутентификация по ключам), в котором наблюдается данный эффект. Вы можете загрузить архив терминала на любой удобный Вам файлообменный сервис и отправить ссылку на файл на нашу почту .
Подскажите я правильно понял, что нужно просто за архивировать всю папку Quik без указанных файлов и выслать ссылку на архив на указную почту ?
[Вопрос разработичкам Квика] SetUpdateCallback - не срабатывает после первого запуска скрипта
Пользователь
Сообщений: Регистрация: 13.05.2022
26.12.2022 14:30:21
Скриншот окна "котировок":
Скриншот окна "Обезличенные сделки":
Отписка от колбека SetUpdateCallback и сразу же подписка
Пользователь
Сообщений: Регистрация: 13.05.2022
26.12.2022 14:21:22
Спасибо.
Bad Allocation [критические дни] Квика
Пользователь
Сообщений: Регистрация: 13.05.2022
15.12.2022 17:33:49
Цитата
nikolz написал: пардон, поправлю, интенсивно создаете объекты или расширяете таблицы, но не уничтожаете не нужные объекты
Так и не смог найти причину, так как ошибка плавающая. Переписал код по другому - ошибка исезла. Все таки гарантировано, что это проблема в Квике не могу на данный момент сказать.
[Вопрос разработичкам Квика: попытка №3] CreateDataSource и SetUpdateCallback - не срабатывает после первого запуска скрипта
Пользователь
Сообщений: Регистрация: 13.05.2022
15.12.2022 16:37:35
Цитата
Mike Orbita написал: Бестолочь ты не образованная. Мамба - это Московская биржа, если ты кодишь для Квика такие вещи знать нужно.
Лапуль, если у тебя месячные, возьми у своей Мамы прокладки и используй по назначению, больше ты не на что не способна. Ну и пусть тебе твой папаша еще говнецом мордочку твою умоет.
[Вопрос разработичкам Квика: попытка №3] CreateDataSource и SetUpdateCallback - не срабатывает после первого запуска скрипта
Пользователь
Сообщений: Регистрация: 13.05.2022
13.12.2022 21:53:00
Цитата
Mike Orbita написал: Слушай, ОКОЛОрыночник, я Мамбу шатаю более 15 лет и своими руками написал не один десяток высокочастотных алгоритмов, и тут какая-то бездарная личность из ПТУ, которая не может даже обычный парсер котировок из Квика закодить будет мне пальцем тыкать - иди сначала БЭЙСИК подучи, невежда.
Тебе в детстве кто-то говорил, что ты прохрамист и ты в это поверил ? Шатай и дальше свою маму, папашу видимо шатать силенок не хватает. Иди и дальше тыкай пальцем - это все на что ты способен.
[Вопрос разработичкам Квика: попытка №3] CreateDataSource и SetUpdateCallback - не срабатывает после первого запуска скрипта
Пользователь
Сообщений: Регистрация: 13.05.2022
12.12.2022 23:46:43
Цитата
Mike Orbita написал: Думаю что с таким настроем тебе вряд ли кто-то захочет помогать, мальчик.
Видимо девочка ты решила, что тебя кто то просил помогать ? Или ты таким образом ищешь помощи от своего папаши говно-натирателя ?
Разберись сначала со своим зрением ;)
[Вопрос разработичкам Квика: попытка №3] CreateDataSource и SetUpdateCallback - не срабатывает после первого запуска скрипта
Пользователь
Сообщений: Регистрация: 13.05.2022
12.12.2022 23:09:30
Цитата
Mike Orbita написал: Тебя вежливости отец не учил что ли!? Говнокод начертил какой-то и еще спорит.
У тебя какие то проблемы с отцом ? Разбирайся с ним сам. Говнокод у тебя в ж%пе. Видимо твой папаша твою рожу им вытирал.
Ты так и не ответила на вопрос: у тебя проблемы со зрением ?
[Вопрос разработичкам Квика: попытка №3] CreateDataSource и SetUpdateCallback - не срабатывает после первого запуска скрипта
Пользователь
Сообщений: Регистрация: 13.05.2022
12.12.2022 19:09:32
Цитата
Mike Orbita написал: if my_table1.Size() == 0 then message("data requested from the server") end if на while поменяй и sleep(100) поставь
У тебя со зрением проблемы ?
Отписка от колбека SetUpdateCallback и сразу же подписка
Пользователь
Сообщений: Регистрация: 13.05.2022
12.12.2022 17:15:49
Цитата
Anzhelika Belokur написал: , к сожалению, мы не можем Вам назвать сроков решения Вашего обращения.
Тогда я буду опрашивать в цикле.
Отписка от колбека SetUpdateCallback и сразу же подписка
Мы продолжаем изучение вопроса по Вашему обращению. Как только работы будут завершены, мы отправим Вам соответствующее уведомление. Приносим извинения за задержку и доставленные неудобства.
А можете обозначить хотя бы приблизительное сроки ? А то на форуме не мало подобных сообщения по типу "проблема изучается. Постараемся в ближайшее время дать ответ." - которые висят годами без ответа. :(
Отписка от колбека SetUpdateCallback и сразу же подписка
Ваше обращение получено, проблема изучается. Постараемся в ближайшее время дать ответ.
Здравствуйте,
Подскажите, излучилась ли проблема ?
[Вопрос разработичкам Квика: попытка №4] CreateDataSource и SetUpdateCallback - не срабатывает после первого запуска скрипта
Пользователь
Сообщений: Регистрация: 13.05.2022
12.12.2022 11:01:37
Прошу пожалуйста подтвердить, что это ошибка или что это корректное поведение Квика:
Заказываю данные через CreateDataSource:SetUpdateCallback():
Запускаю Квик: -Загружаю скрипт. -Запускаю скрипт. -Скрипт вызывает CreateDataSource. -CreateDataSource возвращает нулевую таблицу, что говорит о том, что данные придут позже в колбек. -Колбек больше НИКОГДА не вызывается ... проверка размера таблицы в цикле - так же не дает результата, а точнее размер таблицы всегда нулевой - хоть крути цикл минуту, хоть 10 минут.
Выгружаю Скрипт и СРАЗУ же его запускаю - данные сразу же начинают приходить.
Вот простейший скрипт подтверждающий это поведение:
Код
Версия Квика 9.7.1.10
function my_callback_CreateDataSource(my_table_data_, code_class_, code_paper_)
message(code_paper_) //В первый запуск скрипта - НИКОГДА не вызывается.
end
-----------------------------------------------------------------------------------------------------------int main:-----------------------------------------------------------------------------------------------------
function main()
local code_class1 = "TQBR"
local code_paper1 = "GAZP"
local interval1 = INTERVAL_TICK
local code_class2 = "TQBR"
local code_paper2 = "SBER"
local interval2 = INTERVAL_TICK
----------------------------------------------------------------------Вызов CreateDataSource_1------------------------------------------------------------------------------
local my_table1, error_desc1 = CreateDataSource(code_class1, code_paper1, interval1) --Вызываем собственно CreateDataSource
------------------------Проверка на ошибки:-------------------
if error_desc1 ~= nil then
message("Error")
end
--------------------------------------------------------------
message(tostring(my_table1.Size())) //В первый запуск скрипта - размер табилцы ВСЕГДА нулевой - сколько бы времени не ожидал.
if my_table1.Size() == 0 then
message("data requested from the server")
end
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------Вызов CreateDataSource_2------------------------------------------------------------------------------
local my_table2, error_desc2 = CreateDataSource(code_class2, code_paper2, interval2) --Вызываем собсвенно CreateDataSource
------------------------Проверка на ошибки:-------------------
if error_desc2 ~= nil then
message("Error")
end
--------------------------------------------------------------
message(tostring(my_table2.Size())) //В первый запуск скрипта - размер табилцы ВСЕГДА нулевой - сколько бы времени не ожидал.
if my_table2.Size() == 0 then
message("data requested from the server")
end
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
my_table1:SetUpdateCallback(function(idx)my_callback_CreateDataSource(my_table_data1, code_class1, code_paper1) end)
my_table2:SetUpdateCallback(function(idx)my_callback_CreateDataSource(my_table_data2, code_class2, code_paper2) end)
[Вопрос разработичкам Квика: попытка №3] CreateDataSource и SetUpdateCallback - не срабатывает после первого запуска скрипта
Пользователь
Сообщений: Регистрация: 13.05.2022
09.12.2022 10:58:54
Прошу пожалуйста подтвердить, что это ошибка или что это корректное поведение Квика:
Заказываю данные через CreateDataSource:SetUpdateCallback():
Запускаю Квик: -Загружаю скрипт. -Запускаю скрипт. -Скрипт вызывает CreateDataSource. -CreateDataSource возвращает нулевую таблицу, что говорит о том, что данные придут позже в колбек. -Колбек больше НИКОГДА не вызывается ... проверка размера таблицы в цикле - так же не дает результата, а точнее размер таблицы всегда нулевой - хоть крути цикл минуту, хоть 10 минут.
Выгружаю Скрипт и СРАЗУ же его запускаю - данные сразу же начинают приходить.
Вот простейший скрипт подтверждающий это поведение:
Версия Квика 9.7.1.10
Код
function my_callback_CreateDataSource(my_table_data_, code_class_, code_paper_)
message(code_paper_) //В первый запуск скрипта - НИКОГДА не вызывается.
end
-----------------------------------------------------------------------------------------------------------int main:-----------------------------------------------------------------------------------------------------
function main()
local code_class1 = "TQBR"
local code_paper1 = "GAZP"
local interval1 = INTERVAL_TICK
local code_class2 = "TQBR"
local code_paper2 = "SBER"
local interval2 = INTERVAL_TICK
----------------------------------------------------------------------Вызов CreateDataSource_1------------------------------------------------------------------------------
local my_table1, error_desc1 = CreateDataSource(code_class1, code_paper1, interval1) --Вызываем собственно CreateDataSource
------------------------Проверка на ошибки:-------------------
if error_desc1 ~= nil then
message("Error")
end
--------------------------------------------------------------
message(tostring(my_table1.Size())) //В первый запуск скрипта - размер табилцы ВСЕГДА нулевой - сколько бы времени не ожидал.
if my_table1.Size() == 0 then
message("data requested from the server")
end
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------Вызов CreateDataSource_2------------------------------------------------------------------------------
local my_table2, error_desc2 = CreateDataSource(code_class2, code_paper2, interval2) --Вызываем собсвенно CreateDataSource
------------------------Проверка на ошибки:-------------------
if error_desc2 ~= nil then
message("Error")
end
--------------------------------------------------------------
message(tostring(my_table2.Size())) //В первый запуск скрипта - размер табилцы ВСЕГДА нулевой - сколько бы времени не ожидал.
if my_table2.Size() == 0 then
message("data requested from the server")
end
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
my_table1:SetUpdateCallback(function(idx)my_callback_CreateDataSource(my_table_data1, code_class1, code_paper1) end)
my_table2:SetUpdateCallback(function(idx)my_callback_CreateDataSource(my_table_data2, code_class2, code_paper2) end)
[Вопрос разработичкам Квика] SetUpdateCallback - не срабатывает после первого запуска скрипта попытка №2
Пользователь
Сообщений: Регистрация: 13.05.2022
08.12.2022 11:08:38
Прошу пожалуйста подтвердить, что это ошибка или что это корректное поведение Квика:
Заказываю данные через CreateDataSource:SetUpdateCallback():
Запускаю Квик: -Загружаю скрипт. -Запускаю скрипт. -Скрипт вызывает CreateDataSource. -CreateDataSource возвращает нулевую таблицу, что говорит о том, что данные придут позже в колбек. -Колбек больше НИКОГДА не вызывается ... проверка размера таблицы в цикле - так же не дает результата, а точнее размер таблицы всегда нулевой - хоть крути цикл минуту, хоть 10 минут.
Выгружаю Скрипт и СРАЗУ же его запускаю - данные сразу же начинают приходить.
Вот простейший скрипт подтверждающий это поведение:
Код
function my_callback_CreateDataSource(my_table_data_, code_class_, code_paper_)
message(code_paper_) //В первый запуск скрипта - НИКОГДА не вызывается.
end
-----------------------------------------------------------------------------------------------------------int main:-----------------------------------------------------------------------------------------------------
function main()
local code_class1 = "TQBR"
local code_paper1 = "GAZP"
local interval1 = INTERVAL_TICK
local code_class2 = "TQBR"
local code_paper2 = "SBER"
local interval2 = INTERVAL_TICK
----------------------------------------------------------------------Вызов CreateDataSource_1------------------------------------------------------------------------------
local my_table1, error_desc1 = CreateDataSource(code_class1, code_paper1, interval1) --Вызываем собственно CreateDataSource
------------------------Проверка на ошибки:-------------------
if error_desc1 ~= nil then
message("Error")
end
--------------------------------------------------------------
message(tostring(my_table1.Size())) //В первый запуск скрипта - размер табилцы ВСЕГДА нулевой - сколько бы времени не ожидал.
if my_table1.Size() == 0 then
message("data requested from the server")
end
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------Вызов CreateDataSource_2------------------------------------------------------------------------------
local my_table2, error_desc2 = CreateDataSource(code_class2, code_paper2, interval2) --Вызываем собсвенно CreateDataSource
------------------------Проверка на ошибки:-------------------
if error_desc2 ~= nil then
message("Error")
end
--------------------------------------------------------------
message(tostring(my_table2.Size())) //В первый запуск скрипта - размер табилцы ВСЕГДА нулевой - сколько бы времени не ожидал.
if my_table2.Size() == 0 then
message("data requested from the server")
end
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
my_table1:SetUpdateCallback(function(idx)my_callback_CreateDataSource(my_table_data1, code_class1, code_paper1) end)
my_table2:SetUpdateCallback(function(idx)my_callback_CreateDataSource(my_table_data2, code_class2, code_paper2) end)
Версия Квика 9.7.1.10
Bad Allocation [критические дни] Квика
Пользователь
Сообщений: Регистрация: 13.05.2022
08.12.2022 11:05:48
Буквально 8 часов назад скрипт в кивке без проблем запускался, сегодня при попытке запустить скрипт Квик выдает "bad allocation".
Что это ??? Это "критические дни" Квика или что ??? Откуда эта ошибка ?
Блин, так вот он и секрет. Не надо require внутрь main() размещать. Должно быть расположено вне любых функций.
Работает!!! Большое Спасибо!
[Вопрос разработичкам Квика] SetUpdateCallback - не срабатывает после первого запуска скрипта
Пользователь
Сообщений: Регистрация: 13.05.2022
03.12.2022 18:18:17
Цитата
nikolz написал: поставьте галочки для торгуемых вами инструментов в подписке на обезличенные сделки.
[Вопрос разработчикам Квика]
[Вопрос разработичкам Квика] SetUpdateCallback - не срабатывает после первого запуска скрипта
Пользователь
Сообщений: Регистрация: 13.05.2022
03.12.2022 14:54:36
Прошу пожалуйста подтвердить, что это ошибка или что это корректное поведение Квика:
Заказываю данные через CreateDataSource:SetUpdateCallback():
Запускаю Квик: -Загружаю скрипт. -Запускаю скрипт. -Скрипт вызывает CreateDataSource. -CreateDataSource возвращает нулевую таблицу, что говорит о том, что данные придут позже в колбек. -Колбек больше НИКОГДА не вызывается ... проверка размера таблицы в цикле - так же не дает результата, а точнее размер таблицы всегда нулевой - хоть крути цикл минуту, хоть 10 минут.
Выгружаю Скрипт и СРАЗУ же его запускаю - данные сразу же начинают приходить.
Вот простейший скрипт подтверждающий это поведение:
Код
function my_callback_CreateDataSource(my_table_data_, code_class_, code_paper_)
message(code_paper_) //В первый запуск скрипта - НИКОГДА не вызывается.
end
-----------------------------------------------------------------------------------------------------------int main:-----------------------------------------------------------------------------------------------------
function main()
local code_class1 = "TQBR"
local code_paper1 = "GAZP"
local interval1 = INTERVAL_TICK
local code_class2 = "TQBR"
local code_paper2 = "SBER"
local interval2 = INTERVAL_TICK
----------------------------------------------------------------------Вызов CreateDataSource_1------------------------------------------------------------------------------
local my_table1, error_desc1 = CreateDataSource(code_class1, code_paper1, interval1) --Вызываем собственно CreateDataSource
------------------------Проверка на ошибки:-------------------
if error_desc1 ~= nil then
message("Error")
end
--------------------------------------------------------------
message(tostring(my_table1.Size())) //В первый запуск скрипта - размер табилцы ВСЕГДА нулевой - сколько бы времени не ожидал.
if my_table1.Size() == 0 then
message("data requested from the server")
end
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------Вызов CreateDataSource_2------------------------------------------------------------------------------
local my_table2, error_desc2 = CreateDataSource(code_class2, code_paper2, interval2) --Вызываем собсвенно CreateDataSource
------------------------Проверка на ошибки:-------------------
if error_desc2 ~= nil then
message("Error")
end
--------------------------------------------------------------
message(tostring(my_table2.Size())) //В первый запуск скрипта - размер табилцы ВСЕГДА нулевой - сколько бы времени не ожидал.
if my_table2.Size() == 0 then
message("data requested from the server")
end
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
my_table1:SetUpdateCallback(function(idx)my_callback_CreateDataSource(my_table_data1, code_class1, code_paper1) end)
my_table2:SetUpdateCallback(function(idx)my_callback_CreateDataSource(my_table_data2, code_class2, code_paper2) end)
Версия Квика 9.7.1.10
Связывание глобальной callback функции
Пользователь
Сообщений: Регистрация: 13.05.2022
02.12.2022 10:54:29
Цитата
nikolz написал: покажите где КВИК в скрипте, который написали Вы, загрузил вашу dll
Вот полный скрипт в Квике:
Код
function OnQuote(class, sec)
end
function main()
Quik_Lua_connector = require("Quik_Lua_connector ")
-------------------------
while not stopped do
sleep(1)
end
-------------------------
end -- end main()
Связывание глобальной callback функции
Пользователь
Сообщений: Регистрация: 13.05.2022
01.12.2022 19:18:19
Цитата
nikolz написал: Так Вы просто сделали функцию OnQuote но ваша dll вообще здесь не причем. -------------------------- Вы dll сделали правильно (если выкинуть лишнее, из того что Вам написали) Но Вы не объявили Вашу функцию колбеком. -----------------------
Как вариант,вы можете вызвать вашу функцию внутри например так:
Код
--здесь загрузите вашу dll
function OnQuote (class, sec)
---- здесь вызов вашей функции из вашей dll
end
Не понимаю, что значит я просто обьявил функцию, но не сделал ее колбеком ? Я обявил Сишную функцию и связал ее с именем реальной глобальной квиковской функции - OnQuote.
Что значит не сделал ее колбеком ? И что такое " ---- здесь вызов вашей функции из вашей dll". Функция OnQuote вызывается не мной - а самим Квиком.
написал: Хмммм, в моем случае - начинает работать когда я объявляю callback-функцию в самом скрипте, без этого в dll - не вызывается.
надо с самой dll разбираться...
Я даже не знаю, что там еще можно разобрать. В Luaopen - я добавил функцию на стек, определил ее, как глобальную "OnQuote". Не вызывается. Как только добавляю в Lua скрипт эти две строчки - то начинает вызываться. Ну и хорошо, что мне еще нужно :)
Проблема в том что Вы неправильно ее описываете в dll. Ваша DLL - это таблица которая размещается в глобальном стеке, а колбек - это функция которая размещается в глобальном стеке Когда Вы присвоите функции вашу функцию тогда и вызывается.
написал: Хмммм, в моем случае - начинает работать когда я объявляю callback-функцию в самом скрипте, без этого в dll - не вызывается.
надо с самой dll разбираться...
Я даже не знаю, что там еще можно разобрать. В Luaopen - я добавил функцию на стек, определил ее, как глобальную "OnQuote". Не вызывается. Как только добавляю в Lua скрипт эти две строчки - то начинает вызываться. Ну и хорошо, что мне еще нужно :)
Проблема в том что Вы неправильно ее описываете в dll. Ваша DLL - это таблица которая размещается в глобальном стеке, а колбек - это функция которая размещается в глобальном стеке Когда Вы присвоите функции вашу функцию тогда и вызывается.
написал: Хмммм, в моем случае - начинает работать когда я объявляю callback-функцию в самом скрипте, без этого в dll - не вызывается.
надо с самой dll разбираться...
Я даже не знаю, что там еще можно разобрать. В Luaopen - я добавил функцию на стек, определил ее, как глобальную "OnQuote". Не вызывается. Как только добавляю в Lua скрипт эти две строчки - то начинает вызываться. Ну и хорошо, что мне еще нужно :)
написал: В этой ситуации смысла наезжать на разработчиков никакого нет.
Оставь свои фантазии при себе.
Хамить обязательно?
Вот и мне интересно - обязательно ли тебе нужно было начинать с хамства ?
sendTransaction - требует какой то "торговый счет"
Пользователь
Сообщений: Регистрация: 13.05.2022
29.11.2022 11:05:11
Цитата
Даниил Волошин написал: Данная информация не является устаревшей, так как действительно данный параметр обязателен при «ACTION» = «KILL_ALL_FUTURES_ORDERS». Если Вы желаете, чтобы в описании параметра ACCOUNT также было сказано о том, что при вводе заявки указание данного параметра (торгового счёта) является обязательным , ты мы можем зарегистрировать пожелание.
Ну Вы могли бы согласится, что это было бы логично ?
А то написано, что ACCOUNT обязателен при «ACTION» = «KILL_ALL_FUTURES_ORDERS», но когда я ставлю «ACTION» = "NEW ORDER" или "KILL ORDER" - ACCOUNT - все равно оказывается Обязательным.
Разве для поддержания документации в Корректном Актуальном состоянии - Вам нужно регистрировать мое пожелание ?
sendTransaction - требует какой то "торговый счет" - попытка #2
Пользователь
Сообщений: Регистрация: 13.05.2022
29.11.2022 10:36:25
Цитата
nikolz написал: читайте внимательно документацию, там даже пример написали, чтобы было понятно:
Ну так читайте внимательно документацию. Каким глазом читаете ?
sendTransaction - требует какой то "торговый счет"
Пользователь
Сообщений: Регистрация: 13.05.2022
29.11.2022 10:27:48
Цитата
Даниил Волошин написал: ACCOUNT Номер счета Трейдера. Параметр обязателен при «ACTION» = «KILL_ALL_FUTURES_ORDERS». Параметр чувствителен к верхнему/нижнему регистру символов
Это устаревшая информация:
Цитата
ACCOUNT Номер счета Трейдера. Параметр обязателен при «ACTION» = «KILL_ALL_FUTURES_ORDERS». Параметр чувствителен к верхнему/нижнему регистру символо
?
sendTransaction - требует какой то "торговый счет" - попытка #2
Пользователь
Сообщений: Регистрация: 13.05.2022
28.11.2022 23:16:51
Цитата
Kolossi написал: В этой ситуации смысла наезжать на разработчиков никакого нет.
Оставь свои фантазии при себе.
Цитата
Kolossi написал: Вот если бы этот параметр требовал ваш терминал перед отправкой на сервер то он был было обязательным.
Документацию к Квику Брокер - что ли писал ?
sendTransaction - требует какой то "торговый счет" - попытка #2
Пользователь
Сообщений: Регистрация: 13.05.2022
28.11.2022 21:44:15
Цитата
Kolossi написал: Ну просит, так поставьте. Ваш брокер так решил.
Дамочка, если Вас кто то просит, то дайте ему.
А по теме, читайте внимательно:
В ОПИСАНИИ обязательных параметрах sendTransaction - ОТСУТСТВУЕТ значение "торговый счет" для фондового рынка.
sendTransaction - требует какой то "торговый счет" - попытка #2
Пользователь
Сообщений: Регистрация: 13.05.2022
28.11.2022 19:51:46
Подскажите почему sendTransaction - не хочет работать.
Вызываю sendTransaction:
Во простой скрипт:
Код
function OnTransReply(Table_)
message(tostring(Table_.trans_id) .. ":" .. tostring(Table_.status) .. ":" .. tostring(Table_.result_msg) .. ":" .. tostring(Table_.client_code))
end
function main()
transaction_table =
{
CLIENT_CODE="XXXXX",
TYPE="M",
TRANS_ID="7",
CLASSCODE="TQBR",
SECCODE="GAZP",
ACTION="NEW_ORDER",
OPERATION="B",
PRICE="0",
QUANTITY="1"
}
local result = sendTransaction(transaction)
//Проверяю на ошибку:
if result ~= nil then
if res ~= "" then
message("Error:"..result )
end
end
-------------------------
while not stopped do
sleep(1)
end
-------------------------
end
sendTransaction - Завершается ошибкой: "Не указано значение поля "Торговый счет" Что за торговый счет такой ? И почему он требуется ? В ОПИСАНИИ обязательных параметрах sendTransaction - ОТСУТСТВУЕТ значение "торговый счет" для фондового рынка.
Получить дату закрытия реестра по дивидендам
Пользователь
Сообщений: Регистрация: 13.05.2022
28.11.2022 18:34:57
Цитата
Роман написал: Если кому нужно переходите по ссылке берите параметры getParamEx К сожалению параметра с "Дата закрытия реестра" там нет. Если у кого есть скиньте плиз.
Именно, этого параметра нет даже в официальной документации -
Получить дату закрытия реестра по дивидендам
Пользователь
Сообщений: Регистрация: 13.05.2022
28.11.2022 17:45:08
Цитата
Роман написал: Вопрос актуален. Требуется програмно получить дату закрытия реестра по акциям из таблицы "Текущие торги" колонка "Дата з.р." (дата закрытия реестра). Подскажите плиз как это сделать.
Вот так можно сделать:
Код
function main()
Class_name = "TQBR"
paper_name = "SBER"
-------------------------
while not stopped do
my_table = getParamEx2 (Class_name, paper_name , "VALUE") //Только за место "VALUE" нужно указать параметр отвечающий за "дату закрытия реестра"
message(tostring(my_table.param_value))
sleep(1000)
end
-------------------------
end
А параметры для функции getParamEx2 - видимо по умозаключению сутулых собак, нужно искать хрен знает где.
Связывание глобальной callback функции
Пользователь
Сообщений: Регистрация: 13.05.2022
28.11.2022 16:25:44
Оказывается в самом Lua-Скрипте нужно еще прописать вызов OnQuote.
Спасибо за помощь!
Связывание глобальной callback функции
Пользователь
Сообщений: Регистрация: 13.05.2022
28.11.2022 16:09:51
Хммммм, у меня не работает.
Ошибок не вызывает, но callback квиком не вызывается.
sendTransaction - требует какой то "торговый счет"
Пользователь
Сообщений: Регистрация: 13.05.2022
28.11.2022 14:03:26
Цитата
ACCOUNT Номер счета Трейдера. Параметр обязателен при «ACTION» = «KILL_ALL_FUTURES_ORDERS». Параметр чувствителен к верхнему/нижнему регистру символов
sendTransaction - требует какой то "торговый счет"
Пользователь
Сообщений: Регистрация: 13.05.2022
28.11.2022 14:01:29
Цитата
Даниил Волошин написал: sendTransaction - Завершается ошибкой: "Не указано значение поля "Торговый счет"Что за торговый счет такой ? Где его найти ? И почему он требуется ?
А по вопросу почему sendTransaction требует какой то торговый счет подскажите ? В обязательных параметрах sendTransaction - я не нашел "торгового счета" для фондового рынка.
sendTransaction - требует какой то "торговый счет"
В обязательных параметрах sendTransaction имеется такой параметр как ACCOUNT, который является торговым счётом и который вы не указали. Торговый счет – раздел учета в биржевой торговой системе, в котором отображаются средства участника торгов, зарезервированные для совершения сделок на бирже. Торговый счёт указывается при вводе заявки. Посмотреть данный счет Вы можете в терминале в таблице "Позиции по инструментам" в столбце "Счет депо".
Спасибо, это получается устаревшая информация:
Код
ACCOUNT Номер счета Трейдера. Параметр обязателен при «ACTION» = «KILL_ALL_FUTURES_ORDERS». Параметр чувствителен к верхнему/нижнему регистру символов
Рекомендуем Вам пользоваться документацией QLUA с нашего сайта, там приведена наиболее актуальная информация. Ссылка на документ:
Спасибо:
Цитата
В качестве параметра принимает таблицу, в которой имена и значения полей соответствуют параметрам tri-файла, описанным в Руководстве пользователя QUIK, Раздел 6 «Совместная работа с другими приложениями» / «Формат .tri-файла с параметрами транзакций».
А где этот Раздел номер 6 ? В присланном Вами руководстве QLUA - я не нахожу такого раздела.
sendTransaction - требует какой то "торговый счет"
В обязательных параметрах sendTransaction имеется такой параметр как ACCOUNT, который является торговым счётом и который вы не указали. Торговый счет – раздел учета в биржевой торговой системе, в котором отображаются средства участника торгов, зарезервированные для совершения сделок на бирже. Торговый счёт указывается при вводе заявки. Посмотреть данный счет Вы можете в терминале в таблице "Позиции по инструментам" в столбце "Счет депо".
Спасибо, это получается устаревшая информация:
Код
ACCOUNT Номер счета Трейдера. Параметр обязателен при «ACTION» = «KILL_ALL_FUTURES_ORDERS». Параметр чувствителен к верхнему/нижнему регистру символов
sendTransaction - требует какой то "торговый счет"
Пользователь
Сообщений: Регистрация: 13.05.2022
28.11.2022 12:41:28
Подскажите почему sendTransaction - не хочет работать.
Вызываю sendTransaction:
Во простой скрипт:
Код
function OnTransReply(Table_)
message(tostring(Table_.trans_id) .. ":" .. tostring(Table_.status) .. ":" .. tostring(Table_.result_msg) .. ":" .. tostring(Table_.client_code))
end
function main()
transaction_table =
{
CLIENT_CODE="XXXXX",
TYPE="M",
TRANS_ID="7",
CLASSCODE="TQBR",
SECCODE="GAZP",
ACTION="NEW_ORDER",
OPERATION="B",
PRICE="0",
QUANTITY="1"
}
local result = sendTransaction(transaction)
//Проверяю на ошибку:
if result ~= nil then
if res ~= "" then
message("Error:"..result )
end
end
-------------------------
while not stopped do
sleep(1)
end
-------------------------
end
sendTransaction - Завершается ошибкой: "Не указано значение поля "Торговый счет"
Что за торговый счет такой ? Где его найти ? И почему он требуется ? В обязательных параметрах sendTransaction - я не нашел "торгового счета" для фондового рынка.
Связывание глобальной callback функции
Пользователь
Сообщений: Регистрация: 13.05.2022
28.11.2022 11:35:04
Подскажите, есть к примеру callback`и - OnQuote, OnAllTrade - которые вызываются самим Квиком.
Я пытаюсь их объявить Lua C api:
Код
static int global_callback__OnQuote(lua_State* L)
{
std::cout << "global_callback__OnQuote" << std::endl;
return 0;
}
int main()
{
lua_pushcfunction(L, global_callback__OnQuote); //Помещаю Си-шную функцию в стек.
lua_setglobal(L, "OnQuote"); //Присваиваю ей глобальное имя.
}
Вроде бы должно работать, но функция не вызывается. Получение стаканов предварительно естественно заказана, да и в самом квике открыты, да и обычный Lua-скрипт с OnQuote - тоже работает. Но из dll-ки не хочет почему то.
Почему не работают функции getBuySellInfo, getBuySellInfoEx?, Не работают функции getBuySellInfo, getBuySellInfoEx
Данное пожелание в настоящий момент не реализовано. Если доработка будет выполнена, мы отправим соответствующее уведомление.
А может быть хотя бы результаты анализа ?
Получить дату закрытия реестра по дивидендам
Пользователь
Сообщений: Регистрация: 13.05.2022
26.11.2022 19:18:26
Цитата
Роман написал: Вопрос актуален. Требуется програмно получить дату закрытия реестра по акциям из таблицы "Текущие торги" колонка "Дата з.р." (дата закрытия реестра). Подскажите плиз как это сделать.
А данные там вообще актуальные ?
getBuySellInfoEx - параметр "оценка кол-во лотов"
Пользователь
Сообщений: Регистрация: 13.05.2022
26.11.2022 17:58:35
Цитата
nikolz написал: у меня в Квике - выдает именно в лотах.
читайте внимательно документацию. Там стоит звездочка - т е надо читать сноску, а в сноске написано: (*) В зависимости от настроек сервера QUIK, величина может выражаться в лотах или в штуках. Уточните единицы измерения у обслуживающего брокера.
Какая звездочка ??? Где сноска ???
не надо хамить, это Вы просите а не я. чтобы понятнее было бестолковым еще раз КОПИРУЮ из документации:
У меня в Квике - выдает именно в Лотах.
Отписка от колбека SetUpdateCallback и сразу же подписка
Ваше обращение получено, проблема изучается. Постараемся в ближайшее время дать ответ.
Может быть Вы изучите и проблему с SetUpdateCallback ? Который срабатывает Только после второго запуска скрипта или подтвердите, что такая странная работа SetUpdateCallback и задумана разработчиками Квика ?
Вот тут проблема описана:
Отписка от колбека SetUpdateCallback и сразу же подписка
Ваше обращение получено, проблема изучается. Постараемся в ближайшее время дать ответ.
Может быть Вы изучите и проблему с SetUpdateCallback ? Который срабатывает Только после второго запуска скрипта или подтвердите, что такая странная работа SetUpdateCallback и задумана разработчиками Квика ?
getBuySellInfoEx - параметр "оценка кол-во лотов"
Пользователь
Сообщений: Регистрация: 13.05.2022
25.11.2022 21:06:47
Более того у меня в Квике - выдает именно в лотах.
Так что уберите летающие звездочки вокруг головы и читайте внимательно:
Параметр функции getBuySellInfoEx:
Цитата
can_buy; // Оценка количества лотов, доступных на покупку по указанной цене
Не соответствует действительности.
Данные в can_buy - указаны не в лотах, а в количествах штук акций, то есть лот умноженный на кол-во акций в лоте.
Это ошибка описания или ошибка в функции getBuySellInfoEx и в параметре can_buy - должно находится именно кол-во Лотов, а не Акций. ??