rst9 написал: в том, что если квик завершит работу вашего скрипта, то про ваши потоки он ничего не знает, и если они не успели остановиться - то все, привет
Конечно, не знает. Скрипт сам долежен корректно завершать свои потоки, что он у меня успешно и делает. Выбор Lua в качестве интерпретатора скриптов, на мой взгляд, было отличным решением разработчиков. Этот язык прекрасно подходит для задач, для которых он там используется. Раньше немного расстраивало, что версия языка использована устаревшая. Главное, что бы он работал без глюков. Ну и хотелось бы более глубокой интеграции.
В частности до сих пор (8.4) часто бывает невозможно заказать обезличенные сделки, если не открыта таблица обезличенных сделок. Почему-то этот косяк все никак не устранят.
Sergey Gorokhov написал: В Lua машине 5.3.5 нет такой функции как lua_call (). Есть её аналог lua_callk.Используйте ее.Либо добавьте в свой код что то вроде этого:#define lua_call(L,n,r) lua_callk(L, (n), ®, 0, NULL)
Именно так и сделано в штатном файле lua.h из Lua 5.3.5 - lua_call является вызовом lua_callk Вот пример для воспроизведения:
Господа, а у вас вызов функций Квика через lua_call из своих потоков с новым состоянием вообще работет?
Создаю новое состояние через lua_newthread(L), передаю его с свой поток, созданный через _beginthreadex, из этого потока вызываю функцию через lua_call. И ничего не проиходит - на верхушке стека остается название функции. Если вызывать lua_call из потоков Квика (с его состоянием), все в порядке.
Раньше свою длл нужно было с qlua.dll линковать, как раз что-то с потоками было связано. Теперь в ней нет функций, прилинковал свою длл к lua53.dll.
Trans2QuikAPI_1.3_x64 + QUIK 7.9.1.1 = TRANS2QUIK_QUIK_TERMINAL_NOT_FOUND, Не удается добиться подключения к QUIK в варианте Trans2QuikAPI_1.3_x64 + QUIK 7.9.1.1
Mack написал: Где можно порыться в поисках решения?
В старых версиях TRANS2QUIK в параметре lpcstrConnectionParamsString должен быть указан не путь к папке, где лежат файлы терминала, а путь к его рабочей папке (working directory) - той, из которой он был запущен. Часто бывает, что это не одно и тоже.
Скажу больше: стоп-заявки на Московской Бирже не просто не снимаются, а их там вообще не существует. Невозможно снять то, чего не существует ;) А то, что у вас в терминале есть какая-то сущность с названием "стоп-заявка" - это исключительно заслуга разработчиков Квика ;)
Stanislav Tvorogov написал: Предыдущее сообщение было относительно фондового рынка.
Для фондового рынка (спота МБ) данная тема неприменима вообще, т.к. заявки там ночью не выживают - их снимает биржа и повторно уже не выставляет, в отличие от того, что происходит на срочке.
На срочном же рынке при смене сессии старые заявки снимаются в клиринг, после чего выставляются новые с точно такими же параметрами, но новыми номерами. За ночь при этом с заявками на бирже не происходит ничего. Корень проблемы в том, что ваши разработчики сделали предположение о том, что смена сессии на бирже происходит ночью. Это предположение для рынка FORTS является неверным. Это означает, что ваше ПО не до конца поддерживает работу на данной торговой площадке. А т.к. вы заявляете полную поддержку FORTS этим ПО, это должно быть не регистрация "пожелания пользователя", а регистрация тикета на исправление бага.
Так торговая сессия за ночь не меняется вообще-то. Торговая сессия меняется только в клиринг в 19:00. Присоединяюсь к пожеланию иметь возможность полноценно использовать TransId, как это сделано в других торговых платформах. К сведению, поле ext_id в заявках Plaza2 и MICEX остается даже при переносе заявки на реальную другую сессию (когда номер заявки меняется).
Это прекрасно :) Главное только, чтобы она заказывала обезличенные сделки без необходимости открытия таблицы обезличенных сделок. (CreateDataSource этого не делает, если Квик запущен без *.dat файлов - тикер есть, но не помню).
Подскажите, в чем практическое отличие использования функции ParamRequest от CreateDataSource для заказа данных для OnParam в 7.1? Если я правильно понял, она попрежнему не может заказать данные, если они не выбраны "Заказ данных - Поток котировок"?
Sergey Gorokhov, а вы могли бы как-то прокомментировать эту функцию? Почему она не документирована и можно ли использовать ее в своем софте без опаски, что в одной из следующих версиях Квика она не исчезнет и не изменит свое поведение?
Зависает Квик при запуске скрипта передачи данных под Win10, При апгрейде Win 7 и 8 до Win 10 возникла проблема - квик зависает при запуске скрипта передачи данных
Сергей, если насчет дампов вы писали мне, то я их уже присылал (CQ01744854), получил ответ, что проблема у вас не воспроизводится. Как только у меня будет какая-либо дополнительная информация, я ее сразу вам пришлю.
Возможно, дампы от топикстартера дадут новую информацию. Полагаю, если немного изменить окружение работы Квика, он будет падать, а не зависать.
Зависает Квик при запуске скрипта передачи данных под Win10, При апгрейде Win 7 и 8 до Win 10 возникла проблема - квик зависает при запуске скрипта передачи данных
У меня похожая проблема, только Квик не зависает, а падает иногда с дампом, иногда без. Происходит при создании нового Windows+Lua потока (через С код). От ОС не зависит. К сожалению, возникает не регулярно, поэтому провести подробный анализ не удается. Причем падение похоже происходит при вызове _beginthread, т.е. вообще до обращения к Lua.
Длина этого поля - 20 символов. Ранее в нем можно было указывать только свой комментарий вида "//комментарий" - сервер Квик сам подставлял туда код клиента. Но теперь у некоторых брокеров (Финам, прежде всего) это перестало работать. Несмотря на то, что общая длина код клиента + комментарий укладывается в эту длину, сервер сообщает о том, что длина превышена. Необходимо самому указать код клиента перед комментарием.
Т.е. "//qwe" - будет ошибка о превышении длины, "код клиента//qwe" - заявка выставится нормально. Я знаю, что подставлять код клинта или нет - это настройка сервера. Но, полагаю, сообщение об ошибке при этом было бы другое. Может разработчики Квика это прокомментируют?
О, в сделках появился trans_id? Здорово. Хотя высылать из-за него сделку повторно кажется странным: все биржи поддерживают числовой тег в заявках, который транслируется и для сделок. При этом нет необходимости искать соответствие сделки с trans_id на сервере.
OnTrade несколько раз - это, конечно, прикольно :) Я вот как чувствовал еще много лет назад, и изначально сделал проверку на возрастанаие номера сделки.
Впрочем, я неверно выразился. Нужно привлечь сюда дизайнера, т.к. его здесь вообще не было. Ни один дизайнер не будет использовать разные шрифты одного типа (без зачечек) на одной странице.
Для самих сообщений лучше сделать более плотный шрифт, такой же, как в форме ввода например. Столько растянутый читать не очень удобно (точнее неудобно).
И, повторюсь, уберите эту жуткую синию полоску снизу, пожалуйста!
Присоединюсь насчет шрифта - все же нужно дизайнеру отработать получку. Старый форум был хоть и морально уже стар, но по дизанерски оформлен отлично. Здесь же похоже дизайнера не было вообще.
И еще, пожалуйста, уберите эту ужасную сининюю полоску "Наверх" снизу!