Старатель (Все сообщения пользователя)

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

Страницы: Пред. 1 ... 8 9 10 11 12 13 14 15 16 17 18 ... 47 След.
Перестают работать события SetTableNotificationCallback
 
При нажатии клавиш с кодами 107 (+), 109 (-), 111 (/) на цифровом блоке клавиатуры не работают события QTABLE_CHAR и QTABLE_VKEY.
Надо делать так, как надо. А как не надо - делать не надо.
Изменить версию Lua с 5.4.1 до 5.4.2
 
Чтобы обход таблицы был более корректным, изменим тестовый скрипт, так, чтобы добавление и удаление полей таблицы осуществлялось в одном потоке:
Скрытый текст

Ошибка "invalid key to 'next'" никуда не делась.
Для форсирования: перезаказать все обезличенные сделки.
Надо делать так, как надо. А как не надо - делать не надо.
Изменить версию Lua с 5.4.1 до 5.4.2
 
Цитата
Roman Azarov написал:
С некоторой вероятностью может появиться следующая ошибка?
Верно

Цитата
Roman Azarov написал:
У себя подобного за целый день не увидели
Можете форсировать события:
Скрытый текст
и сделать перезаказ всех обезличенных сделок.
Надо делать так, как надо. А как не надо - делать не надо.
Изменить версию Lua с 5.4.1 до 5.4.2
 
В Lua 5.3 и Lua 5.4:
Цитата
invalid key to 'next'
Надо делать так, как надо. А как не надо - делать не надо.
Изменить версию Lua с 5.4.1 до 5.4.2
 
Существует ненулевая вероятность, что сборщик придёт как раз во время обхода таблицы в одном из потоков.
Скрытый текст
Надо делать так, как надо. А как не надо - делать не надо.
Кривые шибки в QLua
 
QUIK v.8.11.0.66, Lua 5.4
Однократная ошибка
Цитата
attempt to call a nil value
в цикле for in pairs в main:
Код
local T = {}

function main()

    while run do
      ...
        for k, v in pairs(T) do  -- тут ошибка
          ...
        end
      ...
      sleep(1)
    end

end
stack traceback:
Цитата
in for iterator 'for iterator'

На момент возникновения ошибки таблица T была пуста: за время работы (3 часа) робота в таблицу элементы не добавлялись.
Написать тестовый скрипт для воспроизведения или повторить ошибку не удалось.
Надо делать так, как надо. А как не надо - делать не надо.
У снятой заявки не заполняется поле canceled_uid, если заявка снята вскоре после выставления
 
Цитата
swerg написал:
Согласитесь, то, что речь про демо-сервер
Да, как оказалось, отсутствие canceled_uid в заявках для "KILL_ORDER" относится к только демо-серверу.
В боевом квике все заявки без canceled_uid были сняты "MOVE_ORDERS".
Надо делать так, как надо. А как не надо - делать не надо.
У снятой заявки не заполняется поле canceled_uid, если заявка снята вскоре после выставления
 
Roman Azarov,
В заявках, снятых транзакцией "KILL_ORDER", не заполняется UID снявшего, если транзакция снята вскоре после выставления. В 8.11 наблюдается в junior.
В заявках, снятых в результате транзакций "MOVE_ORDERS" на FORTS и "Изменение заявки" на ФР, UID снявшего не заполняется в любом случае. Наблюдается как на демо, так и на боевом.

Будете ли вы это исправлять в своём ПО - это ваше решение.
Надо делать так, как надо. А как не надо - делать не надо.
У снятой заявки не заполняется поле canceled_uid, если заявка снята вскоре после выставления
 
Хотя инициатором "MOVE_ORDERS" был пользователь. Иногда, не сразу разберёшь...
Логичнее всё же проставлять canceled_uid
Надо делать так, как надо. А как не надо - делать не надо.
У снятой заявки не заполняется поле canceled_uid, если заявка снята вскоре после выставления
 
Цитата
Старатель написал:
Для "MOVE_ORDERS" актуально.
Видимо, canceled_uid = 0 - торговая система.
Вопрос можно пока закрывать, спасибо.
Надо делать так, как надо. А как не надо - делать не надо.
У снятой заявки не заполняется поле canceled_uid, если заявка снята вскоре после выставления
 
В боевом квике v.8.11 для "KILL_ORDER" вопрос снимается.
Для "MOVE_ORDERS" актуально.
Надо делать так, как надо. А как не надо - делать не надо.
Отладка QUIK 8.11
 
Цитата
Anton написал:
Так-то компилятор (одного файла) выглядит вот так и запускается в самом квике
Скомпилил библиотеку в 4к строк данным скриптом и в luac54.exe по ссылке выше. Результаты совпадают до байта.
Надо делать так, как надо. А как не надо - делать не надо.
У снятой заявки не заполняется поле canceled_uid, если заявка снята вскоре после выставления
 
И ещё: у снятой заявки в результате транзакции "MOVE_ORDERS" вообще не заполняется UID снявшего.

Цитата
Roman Azarov написал:
Действительно наблюдаем подобное поведение.
Я не понял: наблюдаете или нет? Запустите предложенный скрипт на своём демо.
Надо делать так, как надо. А как не надо - делать не надо.
Метки
 
Цитата
Andrey Bezrukov написал:
Зарегистрировали пожелание на возврат возможности изменения прозрачности меток и их фона из окна настроек метки.
У программиста всегда будет работа
Надо делать так, как надо. А как не надо - делать не надо.
Индикатор объема Volume, Корректность индикатора под сомнением
 
Цитата
Евгений написал:
растет цена или падает на свече тоже видно на свечках
На свече цены. Это надо ещё виртуальную линию провести от объёма к свече цены, и попасть в правильную. При мелком масштабе - не очевидно.

Цитата
Евгений написал:
сигнал индикатора объема в том и состоит чтобы видеть быстро скачки объемов
Скачки объёмов сразу видно, и цветовая индикация тут не помощник, имхо.
Ну раскрасили вы объёмы по росту-падению. Тут объём вырос на два лота, тут - упал, какая разница?
Надо делать так, как надо. А как не надо - делать не надо.
У снятой заявки не заполняется поле canceled_uid, если заявка снята вскоре после выставления
 
swerg,
canceled_uid - это UID снявшего заявку. Смотреть можно в скрипте или в визуальной таблице заявок.

Цитата
Roman Azarov написал:
Уточните, пожалуйста, версию терминала, на котором была обнаружена проблема.
Версия любая, вплоть до 8.11
Надо делать так, как надо. А как не надо - делать не надо.
У снятой заявки не заполняется поле canceled_uid, если заявка снята вскоре после выставления
 
Цитата
Anton написал:
Что будет, если в OnTransReply строку run = nil перенести после sendTransaction?
Можно эту строку вообще убрать, без разницы.

Цитата
Anton написал:
Зе пойнт что уже во время sendTransaction в колбеке скрипт мертв и что там серверу на самом деле посылается - загадка.
KILL_ORDER посылается, раз заявка снята. А заполнение полей в заявке - это уже дело сервера.
Надо делать так, как надо. А как не надо - делать не надо.
У снятой заявки не заполняется поле canceled_uid, если заявка снята вскоре после выставления
 
Цитата
Anton написал:
мейн завершается раньше sendTransaction из колбека
Как это должно повлиять на заполнение поля сервером?
Надо делать так, как надо. А как не надо - делать не надо.
Индикатор объема Volume, Корректность индикатора под сомнением
 
Цитата
Евгений написал:
При присвоении индикатору объема Volume цветовых настроек с учетом цвета для роста и падения учитывается рост и падение свечи
Вроде, норм, так и должно быть.

Цитата
Евгений написал:
Должно быть так: Цвет столбца гистограммы меняется в зависимости от предыдущего объема
Больше, меньше и так видно
Надо делать так, как надо. А как не надо - делать не надо.
У снятой заявки не заполняется поле canceled_uid, если заявка снята вскоре после выставления
 
Пример
Скрытый текст
Надо делать так, как надо. А как не надо - делать не надо.
Как определить абсолютный путь к исполняемому файлу lua?
 
Цитата
TGB написал:
вариант с локальным объявлением  gcrunner
Так __gc вызывается до OnInit
Скрытый текст

Убираем какую-нибудь строку, например
Код
file:write("OnInit\n")
и срабатывает при вызове collectgarbage. Как-то так.

Цитата
TGB написал:
вариант с локальным объявлением  gcrunner  не работает в QLua 5.3.5 для финализации скрипта.
Без collectgarbage сработает и для финализации.
Надо делать так, как надо. А как не надо - делать не надо.
Как определить абсолютный путь к исполняемому файлу lua?
 
Цитата
TGB написал:
Цитата
Старатель написал:
Цитата TGB  написал:-- collectgarbage ()  ---  Если эту строку раскомментировать и при этом local gcrunner = {}, то при запуске collectgarbage () сработает __gc.
Вроде, не срабатывает.
  Здравствуйте!
При этом необходимо, чтобы gcrunner был объявлен локальным:       local gcrunner = {}
__gc срабатывает до вызова collectgarbage, возможно при автоматической сборке.
Надо делать так, как надо. А как не надо - делать не надо.
Как определить абсолютный путь к исполняемому файлу lua?
 
Цитата
TGB написал:
-- collectgarbage ()  ---  Если эту строку раскомментировать и при этом local gcrunner = {}, то при запуске collectgarbage () сработает __gc.
Вроде, не срабатывает.
Надо делать так, как надо. А как не надо - делать не надо.
Не работают горячие клавиши
 
При активном окне "Доступные скрипты" не работают никакие горячие клавиши.
Надо делать так, как надо. А как не надо - делать не надо.
Отладка QUIK 8.11
 
Цитата
Старатель написал:
Очень похоже
Хотя, может, из другой оперы...
Надо делать так, как надо. А как не надо - делать не надо.
Отладка QUIK 8.11
 
Цитата
Евгений написал:
Key removed from a table during traversal may not be accepted by 'next'.
Очень похоже:
https://forum.quik.ru/messages/forum10/message49163/topic5802/#message49163

Цитата
TGB написал:
при существующей архитектуре обработки событий в QLua, уборка мусора в нем должна быть потокобезопасной
Наверное, придётся согласиться ))
Надо делать так, как надо. А как не надо - делать не надо.
На демо сервере junior quik не передается таблица firms при смене пользователя
 
Цитата
Nikolay написал:
По какому признаку мне понять, что пока рано идти и смотреть позицию в таблице futures_client_holding?
Цитата
Andrey Bezrukov написал:
можем зарегистрировать пожелание на индикацию в скрипте о том, что необходимые для отображения таблиц данные были получены с сервера после очистки

Может, будет полезно добавить трансляцию таблицы sys_events со шлюза?
Скрытый текст
Надо делать так, как надо. А как не надо - делать не надо.
Highlight с дробным timeout, не работает, но возвращает true
 
Было бы неплохо в руководстве указывать тип данных, как для передаваемых параметров, так и возвращаемых, не number, а dooble или integer, раз уж теперь это важно.
Надо делать так, как надо. А как не надо - делать не надо.
Отладка QUIK 8.11
 
Цитата
Александр написал:
Как понять в каком окружении запущен скрипт?
_VERSION
Надо делать так, как надо. А как не надо - делать не надо.
Отладка QUIK 8.11
 
После этой ошибки при закрытии QUIK (крестиком) с остановленными скриптами - падение с дампом
Надо делать так, как надо. А как не надо - делать не надо.
Отладка QUIK 8.11
 
Lua 5.3.5 в QUIK 8.11 в этом тесте падает с ошибкой
Цитата
Critical error ACCESS_VIOLATION in script
Про Lua 5.4.1 пока сказать ничего могу.
Надо делать так, как надо. А как не надо - делать не надо.
Звуки в Qlua, Вопрос по звуковой индикации
 
Код
os.execute('start "SoundPlayer" /b "cmd /c PowerShell -c (New-Object Media.SoundPlayer "' .. File .. '").PlaySync();')
Надо делать так, как надо. А как не надо - делать не надо.
Зависание QUIK
 
Отправлял три дампа. Ответили:
Цитата
есть синхронизационная ошибка возникающая в момент остановки скрипта. Мы исправим её в очередном обновлении ПО.
Цитата
Речь идет об аварийной остановке скрипта из-за ошибки, сообщение о которой Вы не получаете по причине зависания терминала.
Думаю, это ошибки вида: раз, два
Об устранении самой проблемы, из-за которой возникают ошибки в рабочих скриптах, ни слова.

А тем временем поймал ещё одно зависание, уже в колбеке.
Тестовый скрипт для воспроизведения:
Скрытый текст
Запустил 4 скрипта. Через несколько часов квик повесился.
Надо делать так, как надо. А как не надо - делать не надо.
Отключение горизонтальных полос прокруток на графиках цен
 
Цитата
Andrey Bezrukov написал:
Мы постараемся рассмотреть его и сообщить Вам результаты анализа.
Рассмотреть пока не удалось?
Надо делать так, как надо. А как не надо - делать не надо.
Отключение горизонтальных полос прокруток на графиках цен
 
+1
Надо делать так, как надо. А как не надо - делать не надо.
Некорректная выгрузка DLL при завершении скрипта, Некорректная выгрузка DLL при завершении скрипта
 
Цитата
Виталий написал:
Код
  Critical error ACCESS_VIOLATION  in  script 
  

https://forum.quik.ru/messages/forum1/message50121/topic5947/#message50121
Надо делать так, как надо. А как не надо - делать не надо.
Createsource и смена сессии
 
Цитата
Egor Zaytsev написал:
Вы можете написать вопрос здесь, обязательно он будет отвечен.

Похоже, сообщение не дошло до адресата.

Надо делать так, как надо. А как не надо - делать не надо.
Доступные скрипты, Некорректное поведение в режиме "Показывать на всех вкладках"
 
На видео окну с графиком ставлю "Показывать на всех вкладках". Остальные окна размещаю поверх него.
Скрытый текст

Переключаюсь на вкладку 2 и сразу возвращаюсь на вкладку 1. В результате окна перетасовались
Скрытый текст

Кто-нибудь, кроме саппорта, считает такое поведение окон корректным?
Надо делать так, как надо. А как не надо - делать не надо.
Задержка при поиске инструментов
 
Цитата
Roman Azarov написал:
У себя подобного поведения не наблюдаем.
Нужно не на игровом квичке смотреть: в нём инструментов на порядок меньше.
Надо делать так, как надо. А как не надо - делать не надо.
Некорректная выгрузка DLL при завершении скрипта, Некорректная выгрузка DLL при завершении скрипта
 
Цитата
Anton написал:
в предыдущих все ок с выгрузкой
Не всё:
https://forum.quik.ru/messages/forum10/message46674/topic5336/#message46674
Надо делать так, как надо. А как не надо - делать не надо.
Как определить абсолютный путь к исполняемому файлу lua?
 
Цитата
Anton написал:
Это деструктор.

Финализатор не хочет с файлами работать:
Код
local run = true
local tid = nil
local file

local gcrunner = (function()
  local t = {}
  setmetatable(t, { __gc = function()
    local t = tid
    tid = nil
    if t then DestroyTable(t) end
    file:write("__gc\n")
    file:close()
  end })
  return t
end)()

function OnInit(script_path)
  file = io.open(script_path .. ".log", "w")
  file:write("OnInit\n")
end

function main()
  file:write("main\n")
  tid = AllocTable()
  AddColumn(tid, 1, '1', true, QTABLE_INT_TYPE, 1)
  CreateWindow(tid)
  while run do sleep(300) end
  file:write("main stopped\n")
end

function OnStop()
  run = nil
  file:write("OnStop\n")
end

В логе:
Цитата
OnInit
main
OnStop
main stopped
Надо делать так, как надо. А как не надо - делать не надо.
[BUG] Сортировка в таблицах
 
Цитата
Roman Azarov написал:
Значки не перепутаны, а сделаны как задумано.
Надо делать так, как надо. А как не надо - делать не надо.
[BUG] Сортировка в таблицах
 
Из проводника Windows:
Надо делать так, как надо. А как не надо - делать не надо.
[BUG] Сортировка в таблицах
 
Треугольник, указывающий вверх, показывает восходящий порядок.
Он соответствует порядку с самым малым элементом (вершиной треугольника) вверху списка и самым большим (основанием треугольника) внизу.
Надо делать так, как надо. А как не надо - делать не надо.
[BUG] Сортировка в таблицах
 
Да мало ли, где что написано. (Тут тоже писали... как оказалось неправду)
Вы сами не видите, что значки перепутаны?
Надо делать так, как надо. А как не надо - делать не надо.
[BUG] Сортировка в таблицах
 

Вроде как значок сортировки показывает увеличение, а по факту - убывание.
Надо делать так, как надо. А как не надо - делать не надо.
FAQ: Оптимизация производительности клиентского места QUIK, Обсуждение
 
Цитата
Roman Azarov написал:
Обеспечить хорошее качество каналов связи с учетом большого количества трейдеров - это задача Вашего брокера
Вы (ваши коллеги) пишите, что у вас нет возможности подключения к реальным торговым серверам.
Вопрос: как вы осуществляете нагрузочные тестирования в боевых условиях и проводите ли их вообще?
Имеете ли вы возможность дать брокеру рекомендации по организации серверного оборудования в зависимости от количества клиентов?
Надо делать так, как надо. А как не надо - делать не надо.
FAQ: Оптимизация производительности клиентского места QUIK, Обсуждение
 
Цитата
Roman Azarov написал:
при "умном заказе данных"
Что за зверь?
Надо делать так, как надо. А как не надо - делать не надо.
FAQ: Оптимизация производительности клиентского места QUIK, Обсуждение
 
Цитата
Александр Кашников написал:
Берем таблицу "securities" и сохраняем в файл, а там - дохлые инструменты (опционы, фьючерсы) аж с 2018г. о какой производительности речь?
Вот откуда берутся 17к + инструментов - из них 70% просто не существуют.
В таблицу securities только добавляются новые инструменты. Старые не удаляются.
Чтобы избавиться от дохлых инструментов, удалите файл sec.dat. После подключения к серверу у вас будут только актуальные инструменты.
Надо делать так, как надо. А как не надо - делать не надо.
Lua-таблицы. Интерфейс. Управление свойствами lua-таблиц., Как тонко настроить lua-таблицу? Механизмы взаимодействия пользователя с lua-таблицами.
 
Цитата
swerg написал:
Цитата
Kolossi написал:
16. Как привязать таблицу к конкретной вкладке?
https://quik2dde.ru/viewtopic.php?id=329
Есть возможность контекстное меню убить в QLua таблицах?
Надо делать так, как надо. А как не надо - делать не надо.
Страницы: Пред. 1 ... 8 9 10 11 12 13 14 15 16 17 18 ... 47 След.
Наверх