Вообще-то пропадают пункты меню, которые как раз не могут быть неактивными, например: "Редактировать таблицу"
Надо делать так, как надо. А как не надо - делать не надо.
Добавить график, Добавить график, Price, Новое окно.
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
16.10.2015 08:43:10
Это отдельный инструмент, типа линейки. Не трендовая линия. И процентная шкала (рядом с ценами) не связана с линией на графике.
Надо делать так, как надо. А как не надо - делать не надо.
Добавить график, Добавить график, Price, Новое окно.
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
15.10.2015 18:36:04
Процентная шкала отображается для последнего значения графика. Можно сделать опциональную настройку в свойствах диаграммы "Показывать процентную шкалу". Если графиков на диаграмме несколько, надо сделать соответствующую привязку, как это сделано для линий.
Надо делать так, как надо. А как не надо - делать не надо.
7.0, 7.0
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
15.10.2015 11:39:46
А, понял: "Действия" актуальны только для активного окна.
Надо делать так, как надо. А как не надо - делать не надо.
7.0, 7.0
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
15.10.2015 11:38:08
У меня вобще меню "Действия" не разворачивается. QUIK Junior v.7.0.0.289.
Надо делать так, как надо. А как не надо - делать не надо.
message, параметры
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
13.10.2015 15:45:40
Ну вот к примеру: я задаю фильтр и не хочу видеть отфильтрованные сообщения ни в одном из окон сообщений. На данный момент контекстный фильтр так не работает (фильтр задан давно):
Надо делать так, как надо. А как не надо - делать не надо.
OnClose()
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
11.10.2015 03:43:33
Также возникает ещё следующий вопрос: Всегда ли дата торгов на сервере QUIK сопровождается сменой идентификатора сессии?
Надо делать так, как надо. А как не надо - делать не надо.
OnClose()
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
09.10.2015 09:07:47
Так, а на вопрос вы не ответили:
Цитата
Старатель пишет: Вы можете определённо сказать, что является критерием для вызова колбека OnCleanUp()?
В разных источниках - разная информация.
Надо делать так, как надо. А как не надо - делать не надо.
OnClose()
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
08.10.2015 17:00:21
Цитата
Egor Zaytsev пишет: Под сменой сессии имеется ввиду дата торгов.
Из Руководства пользователя QLua:
Цитата
OnCleanUp Функция вызывается терминалом QUIK при смене сессии.
Примечание: Под сменой сессии подразумевается изменение идентификатора сессии при подключении к серверу QUIK.
Из Изменения в Рабочем месте QUIK 7.0.0:
Цитата
39. Исправлена обработка события OnCleanUp. Теперь событие вызывается при смене даты торгов на сервере QUIK.
Вы можете определённо сказать, что является критерием для вызова колбека OnCleanUp()? Насколько я понимаю, идентификатор сессии меняется после рестарта сервера, что не обязательно совпадает со сменой даты торгов. Верно?
Надо делать так, как надо. А как не надо - делать не надо.
Добавить график, Добавить график, Price, Новое окно.
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
08.10.2015 15:05:36
Кроме задания точных координат и свойств линии более ничего не нахожу. Что где надо включить по остальным пунктам?
Надо делать так, как надо. А как не надо - делать не надо.
Проверка исполнения стоп-заявки
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
05.10.2015 17:35:31
Цитата
WennY пишет: Вы тогда в сл. раз уточняйте, в каком именно месте что искать.
WennY, чё уж там мелочиться: требуйте код сразу :D
Надо делать так, как надо. А как не надо - делать не надо.
Вручную снять галки в настройках метки. Но не думаю, что это - то, что вам нужно: после снятия привязки метка будет смещаться относительно осей при масштабировании.
Надо делать так, как надо. А как не надо - делать не надо.
Проверка исполнения стоп-заявки
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
05.10.2015 15:51:53
Из справочного руководства к Lua 5.1:
Цитата
Функции table.foreach и table.foreachi удалены. Вы можете использовать цикл for loop с pairs или ipairs вместо них.
Надо делать так, как надо. А как не надо - делать не надо.
и убеждаемся, что метку переместить вручную уже нельзя.
Обратил внимание, что если после SetLabelParams в настройках метки снять привязку ко времени и цене, то метку можно двигать вручную. Может, это имеет отношение к обсуждаемой проблеме.
Надо делать так, как надо. А как не надо - делать не надо.
Старатель пишет: Если речь о Lua-индикаторе, то ответ очевиден: индикатор должен уметь обратиться как к графику, по которому он построен, так и к самому себе. Можно например, ввести две константы, которые заменяли бы тэг графика или индикатора.
В таком виде пожелание можно зарегистрировать.
Регистрируйте.
Цитата
Sergey Gorokhov пишет: Вопрос не понятен. Предмет спора, предложить вариант избавления от идентификаторов. Я привел не более чем пример решаемой задачи. Не нравится одно окно с шестью графиками, пусть будет 10 окон с 200 графиками.
Поэтому я и уточнил: нет смысла искать график, если не известно, где его искать. Сам Auto_ID, как таковой не даст ничего. Но, если иметь список ID всех открытых графиков и иметь возможность получить свойства этих графиков, такие, как код бумаги, таймфрейм, название индикатора и др., то эта информация уже даст возможность обратиться к нужному графику.
Надо делать так, как надо. А как не надо - делать не надо.
Справка по AddLabel
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
05.10.2015 09:30:22
Если речь о Lua-индикаторе, то ответ очевиден: индикатор должен уметь обратиться как к графику, по которому он построен, так и к самому себе. Можно например, ввести две константы, которые заменяли бы тэг графика или индикатора.
Если речь вообще о любом скрипте, тогда не понятен предмет спора: как вы определили, что вам нужно вот именно это
Цитата
Sergey Gorokhov пишет: Вот есть окно с графиками. В нем 6 графиков по разным инструментам.
а не какое-то другое окно?
Надо делать так, как надо. А как не надо - делать не надо.
Справка по AddLabel
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
05.10.2015 09:08:19
Цитата
Sergey Gorokhov пишет: Дмитрий, к Вам тот же вопрос. Вот есть окно с графиками. В нем 6 графиков по разным инструментам. Вот Вы предлагаете чтоб на каждом был Auto_ID. Хорошо, допустим мы это сделали. Дальше что? Как скрипт сам должен понять на каком графике рисовать метку?
Речь идёт о нанесении меток из индикатора?
Надо делать так, как надо. А как не надо - делать не надо.
Вывод графиков
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
01.10.2015 19:58:53
Цитата
Egor Zaytsev пишет: значит нужно смотреть в сторону сервера брокера.
А сервер кто разрабатывал?
Надо делать так, как надо. А как не надо - делать не надо.
SetLabelParams, особенности использования
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
01.10.2015 16:15:25
Цитата
Viktor MMM пишет: После использования SetLabelParams метку не возможно сдвинуть с мета вручную.
В принципе, этой информации уже достаточно для воспроизведения проблемы. Далее пишем простенький код:
Viktor MMM пишет: Я менял файл отображение метки. Отображение не изменилось)).
Попробуйте использовать только bmp-файл: с gif бывают проблемы. Также поиграйте с прозрачностью метки (TRANSPARENCY): при замене файла прозрачной становится вся метка полностью.
Надо делать так, как надо. А как не надо - делать не надо.
Вывод графиков
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
30.09.2015 19:48:20
Не только за 29 число. С 22.09 нет данных по RTSI по классу RTSIDX.
Надо делать так, как надо. А как не надо - делать не надо.
Добавить график, Добавить график, Price, Новое окно.
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
28.09.2015 15:45:06
Цитата
Stanislav Tvorogov пишет: 2) "стакан" на графике; просьба описать функционал подробнее.
А что тут описывать? На всё видно: отображение на графике объёмов в заявках на соответствующих ценовых уровнях.
Надо делать так, как надо. А как не надо - делать не надо.
Как быть с ошибками вида "function: 94A71D38"
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
24.09.2015 13:38:14
Можно добавить логирование непосредственно перед вызовом функции из socket:
Код
function getTime()
toLog("Определяем текущее время...")
local Time = socket.gettime()
toLog("Текущее время: "..Time)
return Time
end
Тогда при возникновении подобной ошибки будет ясно, виноват ли в этом socket. Ну и держите нас в курсе ;-) , бо я думал, что с работой функции socket.gettime у QUIK давно нет проблем.
Надо делать так, как надо. А как не надо - делать не надо.
Добавить график, Добавить график, Price, Новое окно.
Старатель пишет: Предлагаю зарегистрировать пожелание на добавление подобного функционала в QUIK:
Что здесь есть: 1) линейка; 2) "стакан" на графике; 3) процентная шкала; 4) задание точных координат и на каких таймфреймах отображать для линий.
Регистрируем?
Надо делать так, как надо. А как не надо - делать не надо.
вопрос разработчикам, структура файлов с графиками
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
23.09.2015 10:26:47
Кстати функция "Вывод инструмента по всем интервалам" не работает, пока не выполнишь функцию "Вывод инструмента".
Надо делать так, как надо. А как не надо - делать не надо.
вопрос разработчикам, структура файлов с графиками
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
23.09.2015 10:25:15
Цитата
Egor Zaytsev пишет: Так и было задумано.Вместо "1" в поле период всегда подставляется "all" -это означает, что в этом массиве содержатся ВСЕ имеющиеся на данный момент не агрегированные свечки - данные по остальным интервалам являются агрегированными.
Серьёзно? Вы внутрь файлов вообще заглядывали? Вас не смущает, что содержимое файлов по всем периодам совпадает?
Скрытый текст
Надо делать так, как надо. А как не надо - делать не надо.
Как быть с ошибками вида "function: 94A71D38"
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
23.09.2015 08:30:24
Цитата
_sk_ пишет: Применяется только gettime() из библиотеки Socket. Остальное всё самописное.
Самописное в Lua-коде?
Цитата
Николай Камынин пишет: попробуйте убратьсвой перехват ошибок. возможно тогда ошибка вывалится в dump, либо получите больше сообщений из перехвата луа машины.
Возможно действительно без xpcall получите больше информации об ошибке, и будет понимание, где искать.
Цитата
_sk_ пишет: Такой вариант не удобен, т.к. свои ошибки тоже нужно контролировать с подробностями (трасса стека не пишется в окно об ошибках скриптов).
Код всё ещё модифицируется? Или не все "блохи отловлены"? В любом случае, после того, как найдёте причину возникновения ошибки, вернёте xpcall.
Надо делать так, как надо. А как не надо - делать не надо.
Как быть с ошибками вида "function: 94A71D38"
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
22.09.2015 19:22:31
Цитата
Николай Камынин пишет: еще можно попытаться найти function: 94A71D38 в таблицах луа машины:
Полагаю ID функций меняется при каждом новом запуске скрипта.
Надо делать так, как надо. А как не надо - делать не надо.
Как быть с ошибками вида "function: 94A71D38"
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
22.09.2015 13:19:13
В скрипте используются какие-то сторонние библиотеки? Так при использовании сторонних библиотек, скрипты в QUIK иногда могут падать с ошибкой "Unknown error."
Надо делать так, как надо. А как не надо - делать не надо.
CreateDataSource
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
22.09.2015 08:28:54
Цитата
_sk_ пишет: Нет ли в QUIK ситуации, когда сборщик мусора не может избавиться от каких-то старых данных DataSource из-за того, что не все ссылки сброшены в nil?
Есть такая ситуация. Когда данные стали не нужны, их необходимо принудительно сбросить в nil, иначе они ещё долго могут висеть в памяти (даже при ручном вызове collectgarbage()).
Надо делать так, как надо. А как не надо - делать не надо.
getParamEx
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
21.09.2015 18:38:53
Полагаю, тоже, что и вы: таблицу с указанными выше значениями.
Надо делать так, как надо. А как не надо - делать не надо.
getParamEx
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
21.09.2015 11:40:25
Добрый день.
При отсутствии значения искомого параметра в ТТП всегда param_value = "0.000000" и param_image = "" ? Т.е., они не могут быть nil ни при каких обстоятельствах?
Надо делать так, как надо. А как не надо - делать не надо.
Рисовать линию на графике
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
20.09.2015 21:32:46
Две метки?
Надо делать так, как надо. А как не надо - делать не надо.
Графики: подсказка на свечке
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
19.09.2015 10:24:24
Добрый день.
1) Сделайте при наведении курсором на график вывод в подсказке значений всех индикаторов на данном временном баре, а то порой бывает сложно "поймать" какой-то конкретный индикатор в месте пересечения с ценой.
2) А также на панели "Координаты курсора" при включённом перекрестии (и снятой галке "Показывать подсказку на свечке") опцию "Всегда показывать подсказку", при включении которой в левом верхнем углу диаграммы отображались бы значения всех индикаторов в месте пересечения с горизонтальной линией курсора (на всех панелях данной диаграммы).
Надо делать так, как надо. А как не надо - делать не надо.
Не обновляется на win 10, не работают шаблоны вообще!
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
18.09.2015 16:46:49
Цитата
Юрий Жбаков пишет: Жаль, что не сохраняются, приходится вытаскивать и настраивать их на каждый график в ручную((
Ctrl+N - создастся дубликат окна графика. Затем меняете инструмент любым удобным для вас способом.
Надо делать так, как надо. А как не надо - делать не надо.
текущая таблица параметров
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
18.09.2015 13:13:16
Этот параметр транслируется биржей?
Надо делать так, как надо. А как не надо - делать не надо.
message, параметры
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
18.09.2015 10:26:02
Тогда надо добавить функционал: двойной клик по строке - открывает сообщение в окне сообщений.
Надо делать так, как надо. А как не надо - делать не надо.
Рисовать линию на графике
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
17.09.2015 22:41:04
Ну да, графическую метку. Потому что текстовую линию у меня не получилось расположить строго по заданной цене.
Надо делать так, как надо. А как не надо - делать не надо.
Проблемы с обновлением Спектры, Проблемы после обновления Спектры и изменения механизма ГО
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
17.09.2015 17:28:43
Цитата
Юрий пишет: нашел временное простое решение без "заморочек" на расчеты биржи
Что-то я не пойму, зачем так "заморачиваться"? Рассчитывайте ГО по предложенным формулам, подставляя в качестве L в них 0.5 базового ГО, транслируемого в QUIK. Ведь блокирую-то именно эту сумму, как для рублёвых, так и долларовых контрактов. Или нет?
Надо делать так, как надо. А как не надо - делать не надо.
Рисовать линию на графике
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
17.09.2015 16:47:26
Как вариант: если скрипт обнаружил, что метка сместилась, задать некий таймаут ожидания полного перемещения метки, после окончания которого считать, что метка установлена на нужном уровне цены.
Надо делать так, как надо. А как не надо - делать не надо.
Старатель пишет: И чтобы эти фильтры можно было применить в окне сообщений.
Могли бы подробнее описать желаемый функционал.
Добавить опцию (относится к фильтру, заданному по условию «Исключать выбранные»), при выборе которой сообщения, удовлетворяющие условию, также не будут отображаться в окне сообщений.
Надо делать так, как надо. А как не надо - делать не надо.
Лимитированная, рыночная заявка
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
17.09.2015 15:29:21
Цитата
Фёдор Сухов пишет: Но ещё раз подчёркиваю, что мне необходимы правила открытия позиции по мной заданной цене.
Т.е., вы хотите, чтобы для вас переписали правила торгов?
Цитата
Фёдор Сухов пишет: Ещё раз хочу уточнить, что вручную я могу поставить заявку и она, если выполнится, то по той йене что я указал в окне заявки.
Вот вы прямо сейчас можете это проверить, выставив лимитированную заявку на покупку SiZ5 по 70000 ;-)
Цитата
Фёдор Сухов пишет: Объясните почему складывается такая ситуация с спредом и реальными сделками вне спреда на бирже.
Когда вы ответите на последний поставленный вам вопрос в той теме, я объясню вам, почему так происходит.
Надо делать так, как надо. А как не надо - делать не надо.
message, параметры
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
17.09.2015 13:21:40
Сделайте в таблице системных сообщений возможность задавать несколько контекстных фильтров. И чтобы эти фильтры можно было применить в окне сообщений.
Надо делать так, как надо. А как не надо - делать не надо.
Вывод графиков
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
17.09.2015 12:25:15
Цитата
Vitaly Skorobogatov пишет: И вполне может, обновив данные на сервере, дальше известить об этом факте своих клиентов.
Я понимаю, что если брокер не извещает клиентов об обновлении архива, как в этой ситуации
Скрытый текст
Цитата
Роман пишет: Два раза перезаказал графики, на разных серверах, на второй раз исправилась.
Цитата
Egor Zaytsev пишет: Роман, как поняли проблема решилась после перезаказа графиков. По всей видимости какое то время у брокера действительно на сервере были не корректные графики, брокер проблему исправил, но чтобы и на клиентском месте транслировались корректные данные необходим перезаказ графиков.
то это и не ваша забота вовсе. Но, даже если гипотетически предположить, что в день, когда брокер обновил архив графиков на сервере, то известил бы об этом факте, пользователь мог отсутствовать за терминалом в этот день и пропустить данное сообщение.
Цитата
Vitaly Skorobogatov пишет: К сожалению, ни сам график, ни сервер QUIK, его транслирующий, не могут догадаться о том, что данные некорректны
Это я уже выяснил с вашими коллегами. Но можно сделать и для графиков:
Цитата
Sergey Gorokhov пишет: есть специальная процедура восстановления в случае сбоев. Если процедура выполняется то на клиентских терминалах данные перезакажутся.
Т.е., на сервере в случае восстановления архива графика добавить какую-то метку, которая сообщала бы клиенту, что имеющийся у него график "битый", и если он желает, то может перезаказать новый. Как вам тут неоднократно указывали, программа должна быть "User Friendly"
Надо делать так, как надо. А как не надо - делать не надо.
Рисовать линию на графике
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
17.09.2015 10:56:05
Проще сделать не хоткей, а именно кнопочку "Готово", при нажатии которой будут применены новые координаты линии (т.к. в любом случае после смещения линии надо будет кликать в окно таблицы).
Надо делать так, как надо. А как не надо - делать не надо.
Старатель пишет: Пользователям, естественно, нужно будет перезаказывать архив графиков вручную?
Да. После того, как брокеры выложат восстановленный график RTS на свои сервера.
А вы не находите такой вариант работы не совсем удобным? Ну, т.е.: 1) пользователь должен узнать, что вот такой-то график некорректный; 2) восстановленный график брокер уже выложил на сервере; 3) и нужно перезаказать весь архив графиков.
Если с последним пунктом проблем не возникает: вместо всего архива можно вручную удалить только графики по нужному инструменту, минуя стандартную процедуру "Перезаказать архив графиков". (Как уже указывалось на форуме меню "Перезаказать архив графиков" следовало бы убрать совсем, т.к. оно грохнет весь архив).
То как быть с первыми двумя пунктами? По-хорошему надо бы как-то предупредить пользователя, о том, что на сервере доступен новый вариант графика.
Надо делать так, как надо. А как не надо - делать не надо.
Рисовать линию на графике
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
17.09.2015 10:19:04
В рабочих скриптах, которые должны работать автономно весь день, стараюсь не использовать сторонние библиотеки ввиду их возможной нестабильной работы с QUIK (часто при выходе новой версии что-то ломается).
Цитата
Viktor MMM пишет: Я ведь правильно понимаю, что SetTableNotificationCallback будет работать только тогда, когда событие произошло при нахождении курсора в границах созданной таблицы?
Только, когда окно таблицы активно.
Надо делать так, как надо. А как не надо - делать не надо.
Получение данных с помощью getParamEx
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
17.09.2015 10:07:54
offtop
Цитата
green_X5 пишет: Что же по-вашему должна ответить ТТП, если она даже не знает о существовании такого тикера?
А что по-вашему отвечает CreateDataSource, если ей задать несуществующий код бумаги в реальном классе? Как ни странно, CreateDataSource возвращает таблицу! А что при этом говорит SetUpdateCallback? true, что согласно документации означает "успешное завершение".
Надо делать так, как надо. А как не надо - делать не надо.
Вывод графиков
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
17.09.2015 09:52:05
Цитата
Vitaly Skorobogatov пишет: Пропущенные данные мы уже получили, графики скорректируем, после чего "фикс" будет доступен брокерам.
Пользователям, естественно, нужно будет перезаказывать архив графиков вручную?
Надо делать так, как надо. А как не надо - делать не надо.
Получение данных с помощью getParamEx
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
17.09.2015 09:15:19
Цитата
_sk_ пишет: По-хорошему, это должно быть указано разработчиками QUIK в документации явным образом.
Если сотрудники сами об этом "забывают"? По-хорошему, это должно быть указано разработчиками QUIK в документации явным образом в первую очередь для сотрудников техподдержки.
Надо делать так, как надо. А как не надо - делать не надо.