После обновления у меня появилась следующая беда. Квик работает, а потом может зависнуть и выходит сообщение от windows, что он перестал отвечать на запросы. Такое бывает только тогда, когда работает робот по покупке — продаже синтетических облигаций. Я уже и слипов наставил в код и все равно не спасает. Причем когда я отслеживаю 2-3 инструмента, может нормально сутки отработать и не зависнуть, ставлю мониторинг 10 инструментов, может десять минут отработать и в аут уйти. На версии 8.5 или 8.6 вообще писал недопустимая ошибка, давал ссылку на файл и предлагал отправить его разработчикам и больше не запускался. Помогала только деинсталяция и повторная установка. На версии 8.8 уже не просит обратиться к разработчикам и повторно запускается. Уже голову сломал, может у кого такое бывает? Причем другие программы на компьютере не зависают, само железо и параллельно запущенные приложения продолжают работать.
Что-то с программой Луа и/или ее окружением. Такое бывает, обычно при отладке программ.
Слипы, имхо, лишние. Вообще, помогает всю обработку в main(), если без ДЛЛ работаете. В событиях оставить только необходимый минимум.
Роджер (веселый)., Функции Onxxx() свести к минимуму.
Про коллбэки, это уже конкретно программу надо смотреть — чего там, да как. Я так понял, коллбэки из ДЛЛ?
Роджер (веселый)., имхо, не совсем. Это не коллбэки, а предопределенные функции событий. В некотором смысле коллбэки.
А, понял, коллбэки определяются в подписках на данные. Да, их тоже к минимуму.
Винни Пух, Все верно, я вот думаю какую часть кода править, чтобы он заработал. Причем мониторинг без выставления заявок работает отлично, багов не было. Как только начинает выставлять снимать заявки, то приходит беда. Поставил паузу в виде слипа 100 мс между транзакциями, вроде помогло, увеличил количество инструментов опять беда. Не пойму что делать, либо еще паузу увеличивать или уменьшать нагрузку на функции обратного вызова.
Роджер (веселый)., хм… Без понятия что там в коде возвращается в виде результата сделок/выставления заявок, но быть может проблема в том, что происходит наслоение очередности?
Т.е. идет команда на создание заявки/вход в сделку по цене, начинается ожидание результата этого действия, в это время по другому инструменту аналогичная «запара», но т.к. поток один, то прога ждет пока отработает первый. А когда с десяток инструментов эти колбэки с результатами сами себя перегружают. Я не знаком с логикой робота. Это как догадка.
Ну и комент ниже про версию дллки наводит на определенные мысли (5.3 vs 5.1)
Винни Пух, заявки строго идут по Main и пока не будет получен результат от системы, другой заявки не будет и поставил паузу в 100 мс. а затем и в 200. не помогло. Закрыл все окна в квике, стал работать заметно дольше, но все равно повис и пришло сообщение от него с просьбой перекинуть данный файл разработчикам. Ставлю лимиты на операции по 0, программа себя гоняет в холостую не выставляя заявок, работает без зависаний, причем все callback работают. Где то, что то я перегружаю, плохо, что я пользуюсь их функциями не зная алгоритма, а только реакцию.
Роджер (веселый)., Дело не в интерпретаторе, он понятно, что 5.3. Если код писался под 5.1, то там у переменных (local x=1) нет дробной части, а у 5.3 уже есть. И если рассчитать цену как раньше и отправить транзакцию, то цена будет дробной. И квик будет ругаться.
Это один из нюансов.
📌На чем сегодня заработать?. Натуральный газ и АКЦИИ Всем привет!(цены спот) график вот этот в трейдингвью NATGAS (PEPERSTONE)На дневке по прежнему стоим в зоне цены 2,360.
Сегодня снова могут подт...
Резервный банк Индии увеличил запасы золота более чем на 9 тонн в июне - максимум с июля 2022г — Bloomberg Резервный банк Индии увеличил запасы золота более чем на девять тонн в июне. Это максимум с и...
ГК «МД Медикал» сообщает об исключении из реестра юридических лиц на территории Кипра ГК «МД Медикал» сообщает, что Компания получила от Регистратора Кипра сертификат об исключении с 28 мая 2024 года ...
Железный занавес (про валютный рынок РФ) После введения санкций на Мосбиржу и НРД, торги валютами недружественных стран переместились на внебиржевой рынок. А расчеты по валютными облигациям стали прои...
Железный занавес (про валютный рынок РФ) После введения санкций на Мосбиржу и НРД, торги валютами недружественных стран переместились на внебиржевой рынок. А расчеты по валютными облигациям стали прои...
Средний размер ипотечного кредита в России достиг десятилетнего максимума Средний размер ипотечного кредита в России за июнь 2024 года увеличился на 3,6%, до 4,4 млн рублей, и достиг максимальных знач...
Слипы, имхо, лишние. Вообще, помогает всю обработку в main(), если без ДЛЛ работаете. В событиях оставить только необходимый минимум.
Про коллбэки, это уже конкретно программу надо смотреть — чего там, да как. Я так понял, коллбэки из ДЛЛ?
А, понял, коллбэки определяются в подписках на данные. Да, их тоже к минимуму.
Раз зависает из-за робота, в нем и нужно ковырять.
Причем гениально описано: Выходит проблема не из-за обновления?
Предположу что программа делает слишком много запросов, т.к. 2 работают, а 10 нет. Оптимизация мб?
Т.е. идет команда на создание заявки/вход в сделку по цене, начинается ожидание результата этого действия, в это время по другому инструменту аналогичная «запара», но т.к. поток один, то прога ждет пока отработает первый. А когда с десяток инструментов эти колбэки с результатами сами себя перегружают. Я не знаком с логикой робота. Это как догадка.
Ну и комент ниже про версию дллки наводит на определенные мысли (5.3 vs 5.1)
Одно ясно, проблема с выставлением заявок)
Это один из нюансов.