Евгений (Все сообщения пользователя)

Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Отладка QUIK 8.12
 
Цитата
Владимир написал:
Задержка реакции на события от мыши и клавы у меня вначале максимально могла достигать одной секунды, сейчас я понизил порог до 150 мс, так что реакция практически мгновенная. Как можно добиться "даже десятков  секунд"?
У меня все  работает нормально уже более года с разными версиями QUICK начиная с 7 и  с разными брокерами. Проблемы начались после  обновления на 8.12 .0.41   Сейчас откатился на предыдущую версию  (8,8,4,3) и все снова заработало идеально без задержек.  Это обновление  (8.12 .0.41) у меня выставили сразу 2 брокера .  У одного подвисает немного , но там заявки выставляются редко. У другого чаще (до нескольких заявок секунду ) , там QUICK замораживался наглухо и приходилось снимать его через диспетчер задач.
Отладка QUIK 8.12
 
 робот  мониторит 15-20 инструментов и периодически выставляет заявки на покупку и продажу. Все это работало без проблем до перехода на версию  8.12
В 8,12  после запуска робота весь интерфейс практически  зависает .  Отклика на нажатия мыши и клавиатуры приходимся ждать по несколько сеунд или даже десятков  секунд. Пришлось откатится на предыдущую версию , так как на 8.12 работать не возможно.  
Обработка ошибок из функции main
 
Цитата
s_mike@rambler.ru написал:
Используйте luac.exe для проверки синтаксиса перед запуском скрипта.  
Спасибо за совет. Прикрутил  компилер к notepad++ через плагин NppExec  
Обработка ошибок из функции main
 
Цитата
Anton написал:
Не совсем так, ошибку можно посмотреть в окне со скриптами
Точно , у меня окно скриптов было в этой части вынесено за границу экрана для экономии места.  Спасибо за подсказку
Цитата
Anton написал:
А если надо привлечь внимание, то можно как-то так сделатьКодfunction main()
 local s, e = pcall(function()
   -- вот тут ваш мейн
 end)
 if not s then
   message(e, 3) -- искомое сообщение, можно текст от себя добавить
   error(e) -- и выкидываем ошибку дальше, чтобы отработало как обычно
 end
end
В основном у меня ошибки синтаксические , 20 лет писал на скриптовом языке с  похожим синтаксисом , но именно с похожим. Руки уже сами  на автомате  набивают по привычным правилам.
Обработка ошибок из функции main
 
Обратил внимание , что сообщения об ошибках  , в случае выполнении скрипта внутри функции main ,  не выводятся в окно системных сообщений . Скрипт  просто молча останавливает работу. Есть ли возможность включить вывод ошибок в окно сист сообщений или получить текст сообщений об ошибках другим способом ?
Не верные данные в таблице заявок, Данные в таблице заявок обновляются с задержкой
 
С QLUA познакомился только неделю назад , так что прошу извинить , если пишу какие то глупости.
Суть проблемы такая . Скрипт работает на событии  OnQuote. Анализируется содержимое стакана , остатки депо по инструменту и текущие заявки. На основании анализа выставляются новые или отменяются  старые заявки на покупку. Создаются транзакции и далее работа приостанавливается до получения ответа  от OnTransReply. И вот тут то и возникает проблема. Допустим  была 1 заявка на покупку , скрипт дает транзакцию на отмену заявки ,   от OnTransReply приходит ответ об успешном выполнении. Далее сразу идет срабатывание  OnQuote и вызов логики моего скрипта. Скрипт читает таблицу заявок и там эта удаленная заявка  присутствует , как будто бы она не была удалена только что. Соответственно вся логика работы ломается на корню. При следующем вызове  OnQuote уже все OK. Эта же проблема присутствует и при выставлении заявок на покупку.  Пробовал вставлять временную задержку , но это не помогает.  Видимо мне  просто не  хватает  знаний по событийному механизму QLUA.  Просьба помочь с решением данной проблемы.
Страницы: 1
Наверх