Пользователь высказала просьбу с пожеланием - мы его зарегистрировали.
Как уже было ранее сообщено - назвать конкретные сроки рассмотрения и реализации того или иного пожелания возможности нет. См. регламент работы с пожеланиями .
Учитывая, что прошло 6 лет с момента регистрации от МНОГИХ клиентов (т.е. пожелание носит массовый характер) особенно умиляет предложение в регламенте:
"Компания с большим вниманием относится к пожеланиям пользователей, стараясь реагировать на них максимально оперативно, понимая востребованность тех или иных доработок."
Это пожелание было зарегистрировано еще в 2017 году (о чем прекрасно видно в этой же ветке форума), прошло 6 лет, как оно зарегистрировано, причем от множества клиентов, что Вы здесь отписками занимаетесь?
nikolz написал: Один компьютер может обсчитывать очень сложный алгоритм по одному инструменту в реальном времени. Например нейронную сеть на 1 миллиард нейронных связей. ------------------------ Делаем в интернет пул скажем 1000 компьютеров Получаем распределенный кластер прогнозирования 1000 инструментов в реальном времени.
При таком размахе нужен не QUIK, а плаза, а там совсем другой подход.
Я поэтому и писал, что все задачи пока прекрасно решаются на голом Lua, мало того, мне приходится вставлять sleep для замедления работы и ожидания некоторых событий, т.к. мой скрипт слишком быстро обрабатывает некоторые события и не успевают прийти ответы от сервера брокера или мы упираемся в лимиты выставления заявок.
Не нужен никакой мощный компьютер, обычный QUIK, обычный компьютер, никаких лишних библиотек.
И главное результат есть, стратегии работают, как задумано.
Сами по себе цифры конечно красивые и проделана видимо огромная работа, но вот практическая целесообразность такой оптимизации под вопросом для реальных задач из под QUIK.
Мы делаем все возможное для скорейшего решения проблемы. Как только работы будут завершены, мы отправим Вам соответствующее уведомление. Еще раз приносим свои извинения за задержку и доставленные неудобства.
У вас ситуация усугубляется, а не улучшается. В 10й версии вообще началось переполнение памяти, чего не было в 9.7 (один и тот же скрипт с метками, дать не могу, он коммерческий, но без dll, чистый lua)
Мои клиенты начали жаловаться, что после перехода на 10ю версию текущие скрипты вдруг стали кушать память, что ДО 10й версии не было. Скрипт естественно предоставить не могу. т.к. он коммерческий и там не одна тысяча строк кода, но тенденция к стабильности каждой новой версии удручает.
До сих пор самая стабильная версия 8.13, все что дальше по стабильности становится все хуже и хуже.
Напоминаю Вам о критической ошибке в терминале версии 9.5.0.42, которую Вы подтвердили и обещали исправить в ближайшем релизе (код заявки QU-212213). Вышла уже версия 10, а проблема все не решена и мне ничего по решению не прислано.
Удивительно. 1. Я в мае создал заявку на критическую ошибку, при которой QUIK просто валится. При таких ошибках у нее должен автоматически высокий приоритет присваиваться. Это не просто пожелание о новой функциональности или какие-то удобства. 2. Я отправил тестовый скрипт 3. Я отправил дампы от НЕСКОЛЬКИХ пользователей 4. Вы подтвердили ошибку
nikolz написал: Добрый день, Специально для буратин и чайников выкладываю исходник индикатора арбитража.
У вас "y" каждый тик пересчитывается от себя же, на текущем баре "y" просто уйдет в цену, а не будет средней. Так что красиво рисуется только на истории.
Присоединяюсь к Старателю, в новых версиях QUIK (от 8.13 и выше), по DelLabel метки не удаляются в колбеке OnDestroy, хотя должны, а удалять их по DelAllLabels нельзя, т.к. на 1 графике может быть много индикаторов со своим набором меток.
Во всех моих роботах профит/просадка по позиции естественно считается. Это вообще базовая функция любого робота должна быть, так что думаю, что у коллег она естественно тоже наверняка есть.
Но я открытый код не предоставляю, т.к. там мои наработки по каркасу. Вы можете заказать робота у меня или попытаться найти код на просторах интернета. Но расчет профита - это самое простое, что должно быть в каркасе.
Не в QUIK точно, просто надо считать от среднеэффективной цены позиции и все и Вам будет неважно, какой контракт Вы закрываете по очередности. В QUIK вообще каждый клиринг пересчет позиции идет, а скрипте можно (и надо ИМХО) считать от открытия позиции и до ее закрытия.
В QUIK есть остаток по счету, у него нет понятия - первый/последний. Если вы хотите профит посчитать, то все это делается в рамках Вашего скрипта. Сам QUIK считает относительно среднеэффективной цены позиции/
Старатель написал: QUIK 9.5.0.42 По какой-то причине в таблице сделок отображались не все совершённые сделки: по фильтру аккаунта и кода бумаги в таблице сделок было 83 строки, хотя в реальности было совершено 92 сделки. Причина этого глюка, скорее всего в том, что терминал постоянно тупил, и сервер принудительно его отключал по таймауту. (Сделки совершались с другого терминала.) После переподключения к серверу всё повторялось по кругу. Когда я закрыл два двойных графика (оба графика были созданы давно, и раньше таких проблем не вызывали), терминал ожил. Но вот прогрузились не все сделки. Пришлось закрывать QUIK и удалять файл trades.dat (заодно удалил и orders.dat). И только после таких манипуляций все сделки прогрузились.
В общем, в QUIK не хватает в этом месте проверки на корректность загрузки и отображения заявок и сделок. Заодно в менеджер окон неплохо бы добавить CPU Usage каждым окном, чтобы было проще искать проблемное окно.
Видимо 9.5.0.42 вообще глючная. Я тоже завел проблему с тестовым скриптом, что терминал наглухо вешается, при считывании данным по метке на графике в потоке main, больше он ничего не делает, двигаешь метки, терминал падает.
Владимир написал: Айдар, Функции обратного вызова не имеют ни малейшего отношения к способу хранения данных - это просто прерывания. И немного найдётся способов затормозить терминал, чем использование OnAllTrade. ::
Согласен полностью. Мало того, если вам Айдар вдруг придет в голову обновлять поля таблицы из прерывания OnAllTrade, то вам можно будет только посочувствовать.
Описанная в данном обращении проблема была устранена в версии 9.4.0 терминала QUIK. Рекомендуем вам обновить версию ПО. Приносим извинения за причиненные неудобства.
Правильно понимаем, что имеется в виду возможность получения реального количества баров индикатора в случае, когда оно отличается от количества баров источника данных (в частности, индикатор "сдвинут вправо" от исходных данных)? В текущей реализации такая возможность отсутствует.
Регистрируем пожелание на соответствующую доработку?
Для меня достаточно получить реальное количество баров, как Вы написали. Регистрируйте. Можно прямо в функции Size() параметр добавить (если это из Индикатора вызов) или в функцию getNumCandles ("Идентификатор"), если это вызов из Индикатора или кода скрипта..
Александр М написал: Есть функция: num = getNumCandles ("Идентификатор") Она вернет число баров, включая фантомные бары, которых нет, но которые QUIK создает чтобы показать значения линий индикаторов в будущем.
В результате как получить текущий реальный бар со значениями цены через getCandlesByIndex("Идентификатор",Номер линии,num-1,1) ?
Перебор всех баров вглубь не предлагать.
Должна быть функция или флаг у функции getNumCandles, чтобы данная функция вернула число реальных баров Инструмента. Как минимум это относится к самой Цене, все остальное можно смотреть по ней.
перебор всех баров справа налево с конца не даёт результата, даже если идти этим путем. Индикатор может быть присвоен индикатору, который даёт значимые нулевые значения. Пример - фрактал. Поэтому отличить фантомные бары, полученные справа сдвигом от значимых э, дающих пустое значение, нет возможности.
вопрос к разработчикам. Как, использую ваш интерфейс, отличить фантомные бары, полученные сдвигом от значимых, дающих пустое значение?
Согласен. Как итог - как получить число баров, ИСКЛЮЧАЯ фантомные "будущие бары"? Если это число в результате запуска getNumCandles (может с доп. параметром) будет гарантированно выдаваться, то все остальное решаемо.
Есть функция: num = getNumCandles ("Идентификатор") Она вернет число баров, включая фантомные бары, которых нет, но которые QUIK создает чтобы показать значения линий индикаторов в будущем.
В результате как получить текущий реальный бар со значениями цены через getCandlesByIndex("Идентификатор",Номер линии,num-1,1) ?
Перебор всех баров вглубь не предлагать.
Должна быть функция или флаг у функции getNumCandles, чтобы данная функция вернула число реальных баров Инструмента. Как минимум это относится к самой Цене, все остальное можно смотреть по ней.
Ваше письмо получено, проблема изучается. Постараемся в ближайшее время дать ответ.
Подтверждаю проблему. Мало того, при добавлении метки из скрипта lua, данная галка привязки НЕ ставится, а в параметрах функции выставления метки этот флаг задать нельзя.
разве с 5.4.2 возникают проблемы? я как то не заметил их
Хотелось бы официальный ответ от разработчиков получить, что данный архив для компиляции можно использовать. Лично мне пока и 5.3.5 хватает, все работает стабильно, никаких проблем нет по моим продуктам.
информацию о данном изменении Вам должен был сообщить брокер, клиентом которого являетесь.
Прошу сообщить: 1. По какой логике в новой версии насильно снимаются галки "Оставлять трендовые линии, фигуры" 2. Где в описании по изменениям версий написано об этом? https://arqatech.com/ru/support/files/quik-workstation/ 3. Почему из-за фантазий Ваших разработчиков, которые данную галку сняли, мы должны каждому пользователю объяснять, как ее восстанавливать обратно, т.к. слетают все метки на всех графиках?
В первую очередь, рекомендуем выполнить обновление до актуальной версии программы (8.12). В случае, если описанное поведение сохранится, просим прислать примеры (в виде снимков экрана), которые явным образом ее демонстрируют.
Если Ваш брокер не предоставляет актуальную версию терминала, скачать ее можно с нашего FTP: ftp://ftp.quik.ru/public/updates/8.12/quik_8.12.0_upd.zip Необходимо будет закрыть терминал и распаковать скачанный архив в его корневую папку с обязательным подтверждением замены всех предложенных файлов.
Обновился до версии 8.13.1.16 (насколько я знаю, это самая последняя), проблема НЕ решена, брокер БКС:
Как видно итоги показывают, как сумму рубля и доллара, где доллар просто плюсуется как рублевое значение (Во всех показателях, которые выделены в синих прямоугольниках, включая те, что я заштриховал, как конфиденциальную информацию). Если купить 1000$ на валютной секции, то QUIK пишет убыток МИНУС 73000 рублей (-74000+1000).
Прошу срочно исправить данную ошибку или указать, как настроить терминал QUIK для корректного показа.
Добрый день.
Есть гипотеза, что у Вас нет в терминале кросс-курсов, откройте таблицу текущих торгов и проверьте наличие режима Кросс-Курсов (CROSSRATE), если таких нет, то необходимо обратиться к брокеру, чтобы он выдал Вам права на класс режима CROSSRATE.
Добавил в Котировках раздел Кросс-курсы валют, помогло, спасибо.
СергейК написал: Касательно первой проблемы (видеть инструменты в их валютах и значение средней цены), у меня показывается правильно, но у меня не акции, а облигации. Неправильно показывается только RUSB ETF, к-й я покупал за доллары, но он торгуется и в рублях, и видимо у него основная валюта - рубль.
Но с облигациями проще - там цена в процентах, и стоимость от валюты не зависит. Но я бы не возражал, чтобы в эту таблицу (Состояние счёта) добавили столбец с валютой, чтобы валюта бумаги была очевидна. Этот столбец будет немного избыточен для денежных позиций, но это мелочи. И его значение лучше показывать символом ($), а не текстом (USA Dollar).
Я на это не обращал внимание. т.к. про сами бумаги я и так знаю, какая в какой валюте, но сейчас посмотрел, что для строк столбца "валюта" вообще нету для выбора.
Но для начала надо исправить Итоговую строку, она то явно некорректно показывает.
В первую очередь, рекомендуем выполнить обновление до актуальной версии программы (8.12). В случае, если описанное поведение сохранится, просим прислать примеры (в виде снимков экрана), которые явным образом ее демонстрируют.
Если Ваш брокер не предоставляет актуальную версию терминала, скачать ее можно с нашего FTP: ftp://ftp.quik.ru/public/updates/8.12/quik_8.12.0_upd.zip Необходимо будет закрыть терминал и распаковать скачанный архив в его корневую папку с обязательным подтверждением замены всех предложенных файлов.
Обновился до версии 8.13.1.16 (насколько я знаю, это самая последняя), проблема НЕ решена, брокер БКС:
Как видно итоги показывают, как сумму рубля и доллара, где доллар просто плюсуется как рублевое значение (Во всех показателях, которые выделены в синих прямоугольниках, включая те, что я заштриховал, как конфиденциальную информацию). Если купить 1000$ на валютной секции, то QUIK пишет убыток МИНУС 73000 рублей (-74000+1000).
Прошу срочно исправить данную ошибку или указать, как настроить терминал QUIK для корректного показа.
Александр М написал: Не совсем понял Ваш ответ. После обновления на 8.3.0.106 на родной (НЕ измененной) библиотеке lua проблемы исчезли?
После упомянутого мною обновления QUIK 8.13.0.106, скорости на «смешанном» коде Lua (с обращениями к С-коду) в QUIK и на моем стенде сравнялись. Для меня это косвенный признак того, что, в обновленном QUIK 8.13.0.106 синхронизация могла быть реализована, как на моем стенде, то есть, по моему мнению, правильно. Для подтверждения этой гипотезы я в новой версии QUIK запустил 13.04.21 вечером свой тест, который не обновленную версию QUIK "ронял" гарантированно в пределах чуть более одних суток. Сейчас 15.04.21 17.56 тест идет нормально и установлен новый продолжительности его работы. При этом, в обновленном QUIK 8.13.0.106 я не наблюдаю никаких проблем. Если тест не "уронит" QUIK до субботы, то, наверное, можно будет, с большим основанием, предположить, что в обновленном QUIK 8.13.0.106 наблюдаемые мною ранее ситуации устранены, то есть синхронизация реализована корректно.
Спасибо за ответ, логику понял. Как я понимаю, уже к данной версии можно присматриваться. Я пока пользуюсь 8.8.4.3, она работает стабильно у меня.
Евгений написал: Придется оправдаться за неисправленные ошибки, лучше не читать
)
Читать не читают, но что характерно :: : 1. Мой комментарий был написан 10.04.21. 2. А вчера вечером (13.04.21) мой QUIK 8.13.0.106 совершенно неожиданно для меня автоматически обновился. Возможно это простое совпадение, но на всякий случай я запустил в нем свой тест (с подключением к серверу. Если он не "обрушит" обновленную версию QUIK в течении недели (до 20.04.21) то, наверное, разработчиков QUIK можно будет поздравить. При этом я не исключаю, что действительно поддержка ветку не читает (и особенно, длинные тексты ::)
Не совсем понял Ваш ответ. После обновления на 8.3.0.106 на родной (НЕ измененной) библиотеке lua проблемы исчезли?
Средства разработки многопоточных скриптов в QUIK., OS_Quesha, свидетельство регистрации в Роспатенте № RU 2020612905. Бесплатная для некоммерческого использования.
Александр М написал: Большинство перечисленных пунктов в "Основные функции OS_Quesha." решаются в виде простого lua скрипта, включая и графические интерфейсы
Когда обсуждаются любые средства, облегчающие разработку программ, возражение типа: «Это можно сделать существующими средствами», «не катит», так как, в конце концов, все можно сделать и на ассемблере. По существу же, обсуждать имеет смысл то, насколько быстро и качественно можно разрабатывать приложения, использую предлагаемые средства по сравнению с тем, что обеспечивают существующие средства их разработки. Конечно, только практика использования любого средства разработки программ может определить его реальную полезность для разработчиков. Такая возможность разработчикам роботов в QUiK предоставлена в виде кодов и документации OS_Quesha.
Цитата
Александр М написал: Очень специфическое возможное использование, я даже не смог придумать сходу, где бы мне это решение понадобилось с учетом всех реализованных мною проектов, включая заказные
Мне непонятно в чем состоит специфичность использования OS_Quesha, если вместо одной функции main в QLua, в OS_Quesha, при использовании исходника TS_QUIK_RT.lua, предоставляется четыре (количество определяется в исходнике, в описании схемы обработки в табличном виде), аналогичные функции, в которых доступен весь API QLua. Эти функции могут, при наличии нескольких ядер в ЦП компьютера, выполняться параллельно (с учетом особенностей версий QUIK > 8.4, описанных в моем начальном комментарии). Дополнительно они могут взаимодействовать между собой через готовые очереди. Кроме того, в них доступны все возможности, описанные в моем начальном комментарии. Причем, расход ресурсов ПК на функционирование OS_Quesha ничтожен и в этом можно убедиться, запустив немодифицированный исходник TS_QUIK_RT.lua. Все дополнительное использовать не обязательно, но это может потребоваться при последующем расширении возможностей робота.
Поскольку Вы спрашивали у меня, то отвечаю.
У разработчика уже есть готовые набор библиотек, каркасы роботов, индикаторов и т.д. из которых он собирает продукт. Все это переделывать на ЧУЖУЮ библиотеку: 1. Непонятно зачем, т.к. уже есть свое и готовое. 2. Опасно.
Возможно Ваш продукт заинтересует новых разработчиков, которые только только хотят что-то сделать, и им для этого обязательно понадобилась параллельная работа нескольких скриптов с общей очередью (достаточно сложный проект). Такое сочетание факторов достаточно редкое, поэтому я и написал про "специфичность".
Конечные пользователи Ваш продукт просто не потянут для написания на нем чего либо.
Присоединяюсь к пожеланию. Нужен колбек, который вызывается при любом изменении настроек (ДО перерасчета первого бара графика), в котором можно было бы оперировать настройками индикатора и генерировать любое количество линий с заданной толщиной, цветом, типом.
Алексей написал: По моим ощущениям принцип создания Квика такой : "Зачем просто, когда можно сложно". Кому-то может и надо столько таблиц, но кто с форекса пришёл, и кто пользовался, например, терминалами от форекс клуба, (Либритек-менее удобен, Румус- по мне так идеальный вариант) не надо столько наворотов. Сделайте кнопку - "Упрощённый вариант", при нажатии на которую выдет что-то похожее на Румус, Либритек или Метатрейдер (на худой конец). И будет всем счастье. И не надо будет читать инструкцию в 1000 листов, чтоб найти две кнопки "Купит" и "Продать" во всей этой мешанине таблиц и стаканов. Стакан по завершении сделки на столе я лучше увижу :)
Никто не мешает настроить минимум таблиц. Настроить торговлю по горячим клавишам или запустить сторонний скрипт, который это будет делать. Возможностей полно как по усложнению. так и по упрощению интерфейса и самой торговли.
Сделайте пожалуйста наконец формирование списка Lua-скриптов: возможность передвигать строки внутри списка вверх/вниз. Пусть при этом надо будет остановить скрипты, главное, чтобы строки каким-то образом можно было двигать. У многих ваших пользователей по несколько десятков строк в списке по разным стратегиям, добавляются, когда требуется запустить по новому инструменту или протестировать стратегию, в результате в списке полная каша и это никак не исправить.
Средства разработки многопоточных скриптов в QUIK., OS_Quesha, свидетельство регистрации в Роспатенте № RU 2020612905. Бесплатная для некоммерческого использования.
1. Решение явно сделано программистом для программиста. Простой пользователь ее не осилит в принципе 2. Большинство перечисленных пунктов в "Основные функции OS_Quesha." решаются в виде простого lua скрипта, включая и графические интерфейсы 3. Очень специфическое возможное использование, я даже не смог придумать сходу, где бы мне это решение понадобилось с учетом всех реализованных мною проектов, включая заказные
Понятно, что Вы это сделали в первую очередь для себя, а потом уже как-то решили выдать в массы, но чужой код всегда труден для понимания. у всех свои стандарты написания кода.