Просьба уточнить параметры запуска терминала: запускаете ли Вы его при помощи каких-либо скриптов или дважды нажав на файл с расширением *.exe. Если при помощи скриптов, то попытайтесь запустить терминал напрямую (По умолчанию Info.exe)
Мы провели анализ предоставленных скриптов. Параметр timeout устанавливают интервал перезаполнения каждой таблицы в 20 мс. Отметим, что для таблиц qlua существует интервал перерисовки таблиц, равный 50 мс (для снижения процессорной нагрузки). В данном случае таблицы просто не успевают перерисовываться, так как в них постоянно поступают обновленные данные. Интервал перезаполнения в 20 мс кажется нам явно избыточным, рекомендуем его увеличить хотя бы до 100 мс.
Так же мы готовы разбираться с данной задачей, если вы можете предоставить нам скрипты, в которых такая частота обновления таблицы имеет практический смысл.
Приносим извинения, однако проблему воспроизвести не удалось.
Воспроизвели логику Вашего скрипта, добавив лишь секунду задержки. Скрипт работал на протяжении 2 часов, однако на протяжении данного времени функция работала исправно, никаких ошибок не было (См. скриншоты).
Проверяли на версии 9.1.3.11. Если у Вас данная проблема ещё актуальна, то просьба прислать следующие скриншоты: 1) скриншот, где функция исправно работает, например выводя информационное сообщение (на скриншоте укажите, пожалуйста, точное время) и скриншоты таблицы позиции по инструментам
2) скриншот в моменте, когда функция перестаёт корректно работать (Также укажите, пожалуйста, время и пришлите скриншот таблицы позиции по инструментам).
Также необходимо будет предоставить более детальный фрагмент кода, на котором проблема воспроизводится, либо полный используемый Вами скрипт. Если есть какие-либо дополнительные детали запуска, просьба их уточнить.
Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
Касательно 1. Если речь идёт о подачи транзакции при помощи lua-скриптов, необходимо указывать на английском языке, как в примере функции sendTransaction из документации QLUA.chm.
Касательно 2. В поле ACCOUNT необходимо указывать торговый счёт, а не код клиента. Его можно посмотреть в настройках клиентского места в разделе "Настройка счетов" (См. скриншот 1).
Прежде всего приносим извинения за задержку с ответом.
Касательно пункта 1. Могли бы Вы, пожалуйста, уточнить, на какой версии встречались с данным параметром, на каком рынке ?
Касательно пункта 2. Предлагаем в настройках терминала (См. скриншот 1) поставить галочку напротив '"Умным" заказом данных (рекомендуется)', также предлагаем в другом разделе (См. скриншот 2) поставить галочки напротив пунктов "Рассчитывать доступное кол-во" и "Исходя только из собственных средств".
Сергей написал: Здравствуйте! Заметил что на указанной версии не работает повторная подписка на обновления свечей через CreateDataSource + SetUpdateCallback Брокер ВТБ Ниже код для воспроизведения. Выполняеем подписку на свечи SiH2, ожидаем получения 10 обновлений, затем отписываемся, и через небольшую паузу снова подписываемся. В первый раз свечи приходят. Во второй раз никаких вызовов коллбэка не происходит.
Я что-то не так делаю? Это известный баг? Есть способы обхода? Уже исправлено в какой-то версии?
Код
run = true
ds = nil
datacounter = 0
recreatecounter = 0
--<BODY
message ( "started." )
--BODY>
function OnStop ()
run = false
end
function main ()
createds()
while run do
sleep ( 1000 )
message ( "running" )
if recreatecounter > = 1 then
recreatecounter = recreatecounter + 1
if recreatecounter > = 3 then
recreatecounter = 0
createds()
end
end
end
end
function createds ()
message ( "creating ds" )
datacounter = 0
ds, err = CreateDataSource ( "SPBFUT" , "SiH2" , INTERVAL_M5)
if err ~ = "" and err ~ = nil then
message ( "CreateDataSource error: " .. err)
end
message ( "CreateDataSource OK" )
ds: SetUpdateCallback (mycb)
end
function mycb (index)
message ( 'got data: idx=' .. index .. ", close=" .. ds:C(index));
datacounter = datacounter + 1
if datacounter > = 10 then
message ( 'closing' );
ds: Close ()
ds = nil
recreatecounter = 1
end
end
Здравствуйте! Ваше письмо получено, проблема изучается. Постараемся в ближайшее время дать ответ.
При наведении курсором мыши на свечу не видна легенда: характеристики свечи, открытие, закрытие., Перестало работать отображение цен после обновления quik
Прежде всего приносим извинения за задержку с ответом.
Касательно нагрузки на CPU. Воспроизвели запуск скриптов как Вы описали, однако с повышенной нагрузкой на CPU не столкнулись. Как и было описано Вами, запускали все скрипты одновременно, но получили увеличение загрузки CPU лишь на 10% (См. соответствующие скриншоты). Если есть какие-либо дополнительная информация, просьба её предоставить.
Касательно медленной отрисовки содержимого Lua-таблиц. Ваше письмо получено, проблема изучается. Постараемся в ближайшее время дать ответ.
Прежде всего предлагаем выполнить рекомендации указанные в сообщении #2 данного трэда. Также предлагаем обновиться до актуальной (9.3.3.3) версии, если у Вас версия ниже таковой. Если после проделанных действий проблема ещё будет актуальна, необходим будет сделать следующее:
2) как только программа зависнет, нужно из каталога с утилитой выполнить команду: procdump.exe -s 1 -n 30 -accepteula info.exe .\
3)после этого в каталоге, откуда выполняли команду, появятся DMP-файлы. Просьба создать архив директории терминала без *.txk ключей, выложить его и созданные DMP-файлы на какой-либо файлообменный сервер и на адрес quiksupport@arqatech.com прислать ссылку для скачивания.
Дополнительная просьба, в письме укажите, пожалуйста, ссылка на данную ветку форум, а также технические характеристики Вашей ОС.
Если у брокера не доступны для использования все виды приложений (QUIK для ПК, мобильная версия терминала и WebQUIK), то предложить какую-либо альтернативу, к сожалению, не сможем.
Предлагаем проверить, чтобы в настройках клиентского места (См. скриншот 1) стояла галочка напротив пункта '"Умным" заказом данных (рекомендуется)'. Также предлагаем проверить, чтобы в пункте "Сохранение данных" (См. скриншот 2) стояли галочки напротив "Данные, отражающие текущее состояние и всю историю изменений" и "Получать пропущенные данные". Если галочки напротив указанных Выше пунктов не стояли, то поставьте и нажмите "Сохранить".
Также необходимо перезаказать данные. Зайдите в система->Заказ данных->Перезаказать данные. В появившемся окне поставьте галочку напротив пункта "Архив данных для построения графиков" и нажмите "Перезаказать".
После проделанных действий пропущенные данные должны будут появиться.
Прежде всего приносим извинения за задержку с ответом.
Касательно неравномерной сетки. Действительно немного поторопились с запросом архива терминала. Данный эффект происходит по следующим причинам. Иногда по разным причинам информация с ТС не транслируется в терминал QUIK. Также важно отметить, что в QUIK есть настройка "Показывать пустые интервалы" (как правило, данная настройка не активна). Из-за этой настройки данный эффект и происходит. Суть следующая, когда информация не поступает в терминал по инструменту, терминалу не из-чего формировать свечу - поэтому свечи нет. Но как только информация начинает поступать, терминал сразу формирует свечу, таковая свеча формируется не со временем таймфрейма, а со временем получения хоть какой-либо информации. Вот эта смещённая сетка и отражает время получения таковой информации. И потому, что данное время не соответствует времени таймфрейма, данная сетка смещена.
Касательно проблемы с плохой отзывчивости подсказки при наведении на свечу. Ваше письмо получено, проблема изучается. Постараемся в ближайшее время дать ответ.
В таком случае, если рекомендации выше Вам не помогли, нужно создать dmp-файлы и вместе с директорией терминала прислать на quiksupport@arqatech.com. Более подробные инструкции в письме #11 от нас выше. Либо Вы также можете выложить данные файлы с архивом директории на файлообменный сервер и письмом прислать ссылку для скачивания.
Если выберите такой вариант, в письме просьба указать ссылку на данную ветвь форума.
При наведении курсором мыши на свечу не видна легенда: характеристики свечи, открытие, закрытие., Перестало работать отображение цен после обновления quik
Прежде всего приносим извинения за задержку с ответом.
Могли бы Вы, пожалуйста, подробнее описать, что происходит после редактирования алго-заявки, связная заявка по которой полностью исполнилась ? Регистрируется новая алго-заявка ? Опишите подробнее, пожалуйста.
Также просьба уточнить тип алго-заявки: GTD, стоп-заявка и т.д.
И дополнительно прошу наладить ( вернуть ) возможность сортировки на убывание / возрастание по колонкам в этом же Квике ( версия 9.1.3.11 ) в таблицах данных например " Состояние счета" , и в том числе в таблицах ""Луа скрипты" , эта сортировка перестала работать при переходе на последнюю 9- версию вашего Квика . При отсутствии возможности это исправить - прошу сообщить каким образом мне можно вернуться на более старую 8-ю версию Квика от БКС.
Проверили на 9.1.3.11 - фильтрация работает (См. скриншот 1,2,3) . Если речь идёт о какой-либо другой фильтрации, просьба уточнить подробнее, если имеется такая возможность, пришлите, пожалуйста скриншоты, на которых будет отчётливо видно, что фильтрация не работает.
Касательно фильтрации таблицы имеющихся скриптов. Правильно понимаем, что речь идёт о таблице "Доступные скрипты" (См. скриншот 4)? Если да, то как-либо фильтровать имеющиеся скрипты никогда нельзя было. Проверили на версии 8.7.1.3 и 8.13.1.16.
Если правильно понимаем, то через определённое время корректной работы функции GetDepoEx, функция начинает выводить нулевое значение. Если да, могли бы Вы, пожалуйста, уточнить, какое значение параметра "Текущий остаток", который Вы пытаетесь выводить при помощи QLUA, отображается в таблице позиции по инструментам, в момент когда функция начинает выводить нулевое значение ?
Дополнительно просьба прислать фрагмент кода, запуская который Вы сталкиваетесь с данной проблемой, а также уточнить версию используемого терминала.
В таком случае предлагаем выложить скриншоты на какой-либо файлообменный сервер и на почту quiksupport@arqatech.com прислать письмо с ссылкой для скачивания.
Дополнительная просьба, в письме укажите, пожалуйста, ссылку на данную ветвь форума
Евгений написал: как восстановить окна как было изначально, то есть в настройках wnd ?
Такой возможности на данный момент, к сожалению, нет.
Касательно
Цитата
Евгений написал: Предлагаю добавить пункт в меню "Окна" с названием "Восстановить" который буде возвращать исходное положение окон, так как было сохранено в файле настроек
Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
Ошибку, с которой Вы столкнулись, возвращается торговая система. На основе этого предлагаем Вам обратиться к брокеру, чтобы он в свою очередь сделал запрос на биржу по Вашей проблеме.
При наведении курсором мыши на свечу не видна легенда: характеристики свечи, открытие, закрытие., Перестало работать отображение цен после обновления quik
Могли бы Вы, пожалуйста, уточнить тему отправленного нам на почту письма? Либо же Вы можете прислать скриншот в данном трэде. Чтобы это сделать, нажмите на "Загрузить картинки" ниже Текста сообщения. (См. скриншот 1)
Благодарим за Ваше желание помочь, если для решения данной проблемы потребуется какая-либо дополнительная информация, мы обязательно её запросим в данной ветки форума.
предлагаем в настройках клиентского места (См. скриншот 1) выставить галочки напротив тех классов инструментов, которые Вам нужны, и нажать сохранить. После этого таблица обезличенных сделок должна будет наполняться без смены таймфрейма графика на тиковый.
Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
Проблема, описанная в данном трэде, на данный момент изучается, и на текущий момент, к сожалению, какой-либо содержательный комментарий предоставить не можем.
Когда какая-либо информация касательно данной проблемы появится, в данном трэде будет написано соответствующее сообщение.
При наведении курсором мыши на свечу не видна легенда: характеристики свечи, открытие, закрытие., Перестало работать отображение цен после обновления quik
Могли бы Вы, пожалуйста, предоставить скриншот, на котором отчётливо будет видно, что Вы наводите мышью на свечу, а подсказка не появляется? Также просьба создать архив директории терминала без *.txk ключей, выложить его на какой-либо файлообменный сервер и на адрес quiksupport@arqatech.com прислать ссылку для скачивания.
Дополнительная просьба в письме укажите, пожалуйста, ссылку на данную ветвь форума.
Ваши пожелания зарегистрированы. Мы постараемся рассмотреть их и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожеланий в будущих версиях ПО.
Касательно пункта 1. Могли бы Вы уточнить, если изменить размеры графика, приблизить, например, проблема будет сохраняться ? Если изменить вид графика, например с линий, как у Вас на скриншоте, на свечи, при наведении мышкой на таковую свечу будет ли актуальной данная проблема ?
Касательно пункта 2. Просьба создать архив директории терминала без *.txk ключей, выложить его на какой-либо файлообменный сервер и на адрес quiksupport@arqatech.com прислать ссылку для скачивания. Дополнительная просьба в письме укажите, пожалуйста, ссылку на данную ветвь форума.
Данная ветка форума для ознакомления была предоставлена для ответа на Ваш вопрос, почему SERVERTIME продолжает обновляться после выдергивания сетевого кабеля. Если конкретно, речь идёт о фрагменте данного сообщения: "...При физическом разрыве соединения время сервера будет продолжать отсчет. По факту это будет уже не время сервера, а время локального таймера...".
В качестве альтернативного решения получения временной метки сделок предлагаем анализировать таблицу обезличенных сделок при помощи Lua. В данной таблице транслируется время совершения сделки. Чтобы получить доступ к данной таблице можно использовать функцию getItem().
Касательно таблицы обезличенных сделок можно подробно почитать в документации info.chm в разделе "Раздел 3. Просмотр информации" в соответствующем подразделе "Таблица обезличенных сделок".
Касательно функции getItem() можно почитать в документации QLUA.chm в разделе "Функции для обращения к строкам произвольных таблиц QUIK" в соответствующем подразделе "getItem". Также рекомендуем обратить внимание на подраздел "Таблицы, используемые в функциях ..."
Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
Касательно проблемы с пропажей дробной части. Данный эффект в наших терминалах не воспроизводится (см. скриншот 1), поэтому просьба всё-таки создать архив директории терминала без *.txk ключей, выложить его на какой-либо файлообменный сервер и на адрес quiksupport@arqatech.com прислать ссылку для скачивания. В письме укажите, пожалуйста, ссылку на данную ветвь форума.
Касательно неудобного нововведения. Убедитесь, что в панели инструментов активна кнопка, указанная на скриншоте 2. Если данный эффект проявляется с активной данной кнопкой, то для анализа данной проблемы, также понадобиться архив директории Вашего терминала.
В таком случае, если необходимо накапливать информацию локально для последующего анализа, то предлагаем хранить информацию локально, как описано в данном сообщении. Напомним, что в таком случае нужно будет постоянно держать терминал и график по желаемому параметру открытыми.
Если история не будет накапливаться, предлагаем выполнить рекомендации под пунктом "Касательно сообщений #5 и #6" из данного сообщения.
В документации Info.chm в разделе "Раздел 6. Совместная работа с другими приложениями" в подразделе "Импорт транзакций" в пункте "Фиксированный формат файла импорта транзакций" в подпункте "Формат .tri-файла с параметрами транзакций" написано, что "MOVE_ORDERS" - операция для заявок рынка FORTS.
Касательно 1. Брокер может накапливать информацию у себя локально, а также транслировать информацию клиентам.
Касательно 2. Речь идёт про параметр таблицы текущих торгов "Оборот в деньгах". Если мы правильно поняли, то именно по этому параметру Вы хотите накапливать историческую информацию для графика.
Касательно 3. Информация будет накапливаться только по тому ТФ, который отражён на графике.
Касательно 4. Данная особенность обеспечена тем, что брокер может накапливать максимум 3000 свечек. Поэтому на графике с ТФ в 1 минуту отражается историческая информация за более короткий период. Накапливая информацию локально, Вы можете хранить около 65 тыс. свечек.
Могли бы уточнить, какое значение отображается в таблице текущих торгов по параметру оборота в деньгах по данному инструменту.
Касательно сообщений #5 и #6. Предлагаем проверить, чтобы в настройках клиентского места (См. скриншот 1) стояла галочка напротив пункта '"Умным" заказом данных (рекомендуется)'. Также предлагаем проверить, чтобы в пункте "Сохранение данных" (См. скриншот 2) стояли галочки напротив "Данные, отражающие текущее состояние и всю историю изменений" и "Получать пропущенные данные". Если галочки напротив указанных Выше пунктов не стояли, то поставьте и нажмите "Сохранить".
Также необходимо перезаказать данные. Зайдите в система->Заказ данных->Перезаказать данные. В появившемся окне поставьте галочку напротив пункта "Архив данных для построения графиков" и нажмите "Перезаказать".
Если данные рекомендации не помогут, необходимо будет с данной проблемой обратиться к брокеру, клиентом которого Вы являетесь.
s_mike@rambler.ru написал: Скрипт на луа, выставляющий 2 метки на один график
res = AddLabel("ri", { --IMAGE_PATH = "E:\\GoogleDisk\\ROBOT\\__TEST\\2-0.bmp", IMAGE_PATH = "E:\\GoogleDisk\\ROBOT\\__TEST\\2-0a.bmp", TEXT = "", DATE = 20220105, TIME = 150000, YVALUE = 151550, ALIGNMENT = "LEFT" }) res1 = AddLabel("ri", { IMAGE_PATH = "E:\\GoogleDisk\\ROBOT\\__TEST\\2-0.bmp", --IMAGE_PATH = "E:\\GoogleDisk\\ROBOT\\__TEST\\2-0a.bmp", TEXT = "", DATE = 20220105, TIME = 150000, YVALUE = 151650, ALIGNMENT = "LEFT" }) message(tostring(res).. " " .. tostring(res1))
Как видим, отличие лишь в бмп файле (yvalue изменены, чтобы видеть метки не друг на друге)
в результате выставляется всегда только вторая метка, при первая не выставляется. Терминал при исполнении этого скрипта выдает сообщение в окно сообщений: Произошла ошибка при загрузке файла чивотатам\2-0.bmp
скрипт выдает message вида 23465.0 nil
Из чего можно сделать вывод, что файл 2-0.bmp битый, а файл 2-0a.bmp нормальный.
ok. Но раньше то все было нормально!
Запускали мы сейчас скрипт на версии 9. Запустим его на версии 8.
_sk_ написал: Очень хочется увидеть ответ от разработчиков по поводу изучения данной проблемы, хотя бы после новогодних праздников. Ниже описывается пример, как большое количество таблиц может появляться в реальной программе.
Предположим, что скрипту нужно хранить в памяти для работы 3000 свечей (сколько отдаёт сервер при запросе данных по ликвидным инструментам) по 10 инструментам и 5 таймфреймам. Время свечи QLua отдаёт в виде таблицы
Код
datetime = { year = 2021 , month = 12 , day = 30 , hour = 11 , min = 0 , sec = 0 , ms = 0 , mcs = 0 , .. . }
Соответственно, сразу же имеем 3000 * 10 * 5 = 150 000 таблиц. А если скриптов несколько, то можно ещё на порядок увеличить количество таблиц в памяти.
Конечно, конкретно здесь можно закодировать дату в виде строки "2021-12-30T11:00:00.000" или вообще числом 20211230110000000 для эффективности, но придётся писать код для выделения из этого числа отдельных полей, и арифметика даты/времени станет неудобной.
В общем, просьба к разработчикам дать обратную связь, а то уже нехорошо выглядит такая техподдержка. Хоть пообещайте что-нибудь, как обычно.
Добрый день,
Проблема, описанная в данном трэде, на текущий момент изучается, поэтому сейчас содержательный комментарий предоставить, к сожалению, не можем.
После того, как появится какая-либо резолюция, здесь будет написано соответствующее сообщение.