Блог им. YUROCK13

quick 8.8 не работает.

  После обновления у меня появилась следующая беда. Квик работает, а потом может зависнуть и выходит сообщение от windows, что он перестал отвечать на запросы. Такое бывает только тогда, когда работает  робот по покупке — продаже синтетических облигаций. Я уже и слипов наставил в код и все равно не спасает. Причем когда я отслеживаю 2-3 инструмента, может нормально сутки отработать и не зависнуть, ставлю мониторинг 10 инструментов, может десять минут отработать и в аут уйти.  На версии 8.5 или 8.6 вообще писал недопустимая ошибка, давал ссылку на файл и предлагал отправить его разработчикам и больше не запускался. Помогала только деинсталяция и повторная установка. На версии 8.8 уже не просит обратиться к разработчикам и повторно запускается. Уже голову сломал, может у кого такое бывает? Причем другие программы на компьютере не зависают, само железо и параллельно запущенные приложения продолжают работать. 
  • обсудить на форуме:
  • QUIK
★1
17 комментариев
Что-то с программой Луа и/или ее окружением. Такое бывает, обычно при отладке программ.
Слипы, имхо, лишние. Вообще, помогает всю обработку в main(), если без ДЛЛ работаете. В событиях оставить только необходимый минимум.
avatar
3Qu, работу функций callback свести вообще к минимуму, правильно я понял?
 
Роджер (веселый)., Функции Onxxx() свести к минимуму.
Про коллбэки, это уже конкретно программу надо смотреть — чего там, да как. Я так понял, коллбэки из ДЛЛ?
avatar
3Qu, все onхххх я и называю callback
Роджер (веселый)., имхо, не совсем. Это не коллбэки, а предопределенные функции событий. В некотором смысле коллбэки.
А, понял, коллбэки определяются в подписках на данные. Да, их тоже к минимуму.
avatar
Как думаете, много ли на трейдерском форуме медиумов?
Раз зависает из-за робота, в нем и нужно ковырять.

Причем гениально описано:
После обновления у меня появилась...

На версии 8.5 или 8.6 вообще писал недопустимая ошибка… и больше не запускался
Выходит проблема не из-за обновления?

Предположу что программа делает слишком много запросов, т.к. 2 работают, а 10 нет. Оптимизация мб?
avatar
Винни Пух, Все верно, я вот думаю какую часть кода править, чтобы он заработал. Причем мониторинг без выставления заявок работает отлично, багов не было. Как только начинает выставлять снимать заявки, то приходит беда. Поставил паузу в виде слипа 100 мс  между транзакциями, вроде помогло, увеличил количество инструментов опять беда. Не пойму что делать, либо еще паузу увеличивать или уменьшать нагрузку на функции обратного вызова.
Роджер (веселый)., хм… Без понятия что там в коде возвращается в виде результата сделок/выставления заявок, но быть может проблема в том, что происходит наслоение очередности?
Т.е. идет команда на создание заявки/вход в сделку по цене, начинается ожидание результата этого действия, в это время по другому инструменту аналогичная «запара», но т.к. поток один, то прога ждет пока отработает первый. А когда с десяток инструментов эти колбэки с результатами сами себя перегружают. Я не знаком с логикой робота. Это как догадка.
Ну и комент ниже про версию дллки наводит на определенные мысли (5.3 vs 5.1)
avatar
Винни Пух, заявки строго идут по Main и пока не будет получен результат от системы, другой заявки не будет и поставил паузу в 100 мс. а затем и в 200. не помогло.  Закрыл все окна в квике, стал работать заметно дольше, но все равно повис и пришло сообщение от него с просьбой перекинуть данный файл разработчикам. Ставлю лимиты на операции по 0, программа себя гоняет в холостую не выставляя заявок, работает без зависаний, причем все callback работают. Где то, что то я перегружаю, плохо, что я пользуюсь их функциями не зная алгоритма, а только реакцию.
Роджер (веселый)., тогда вряд ли помогу чем
Одно ясно, проблема с выставлением заявок)
avatar
Версия Lua у робота какая? Нужна 5.3.
avatar
Karim, я с этой версией не смогу снять не одну заявку по фьючерсам. там числа меньше по количеству знаков чем сейчас номера ордеров по фьючерсам. 
Роджер (веселый)., Вы что то путаете. Это новая версия Lua для 64-битного Квика. Там немного изменены некоторый операторы и типы переменных.
avatar
Karim, у робота такая же 5.3 интерпретатор кода сам квик последней версии, код в текстовом формате без подключенных библиотек.
Роджер (веселый)., Дело не в интерпретаторе, он понятно, что 5.3. Если код писался под 5.1, то там у переменных (local x=1) нет дробной части, а у 5.3 уже есть. И если рассчитать цену как раньше и отправить транзакцию, то цена будет дробной. И квик будет ругаться.
Это один из нюансов.
avatar
Karim, это все я уже победил, внес коррективы по представлению данных. 
Делал как-то c# коннектор ко квику, работало все нестабильно особенно с ростом трафика.
avatar

теги блога Роджер (веселый).

....все тэги



UPDONW
Новый дизайн