Иван написал: Возможно ли для добавленной метки задать идентификатор?
Здравствуйте, Идентификатор задается НЕ на метке, а на графике на котором надо эту метку нарисовать. задать программно идентификатор к сожалению нельзя
Sergey Denegin написал: Очень печально, потому что весь форум бухтит о том, что проблем с версией 8.5 стало гораздо больше, как с тормозами, так и с зависаниями.
По тем проблемам которые были озвучены выпущен патч 8.5.2 Если у Вас есть какие-то жалобы к текущей версии 8.5.2 готовы разбираться Транслировать тип строку там где архитектурно заложено число мы не будем.
Цитата
Sergey Denegin написал: Как можно обратиться к руководству компании, которая находится выше штата разработчиков, и которые принимают решения?
s_mike@rambler.ru, по идее должно быть целое число 123 Однако как оказалось возвращается не то. Проблема изучается. Постараемся в ближайшее время дать ответ.
Айдар написал: return ---как правильно прописать весь массив? return arr1[1] это понятно, возвращается 1 элемент массива. А как прописать, что бы возвращалось 5 элементов массива?
s_mike@rambler.ru, В колонке с числовым типом Вы записываете два значения, одно текстовое другое числовое. В качестве текстового можно написать что угодно и оно будет так отображаться. Вопрос в том что возвращает getItem по проблемной колонке, а не в том что визуально там отображается.
Sergey Denegin написал: Придумайте другой способ. Например через телеграм.
Большинство почтовиков предлагают выложить большой файл на облако и в письме приходит ссылка вместо вложения.
Цитата
Sergey Denegin написал: Где прочитать, как это делается? не вижу такой функции в диспетчере задачь.
Правой кнопкой мыши по процессу и нажать "Создать файл дампа"
Цитата
Sergey Denegin написал: Очень странно, т.к. при отправке заявки отправляется текстовое поле.
При отправке вообще все параметры отправляются в виде текста. Проблема не в том чтобы отправить текст а в том чтобы получить его из тела заявки в котором он в виде числа а не текста. Или Вы привыкли парсить текст ответа на транзакцию для получения номера? Увы 99% пользователей не привыкло, так что кроме как обновить Lua выходя нет.
_sk_ написал: Из-за увеличения длины текстового поля,
В документации сказано что поле не текстовое, и Вы можете самостоятельно это легко проверить.
Цитата
Sergey Denegin написал: еще и терминал начал виснуть по непонятным причинам, просто виснет и все, без каких либо причин, хотя на версии 7.2 мог проработать целый день без зависания.
Если есть проблема, мы готовы исследовать ее причины. Просьба снять дамп процесса info.exe в момент зависания (это делается через диспетчер задач), после чего прислать нам дамп и архив всей папки с терминалом (без ключей доступа) на адрес quiksupport@arqatech.com. Архив с терминалом следует паковать при закрытом терминале сразу после повторения проблемы.
s_mike@rambler.ru, Михаил, Давайте поконкретней, что именно Вас смущает, то что Вы видите глазами в таблице? Или то что на самом деле внутри ячейки? Если что - это разные вещи.
s_mike@rambler.ru написал: Я правильно понимаю, что колонки пользовательских таблиц этих типов по прежнему уверенным домкратом выводят float циферки? )
Приведите пример для понимания вопроса
Цитата
_sk_ написал: Получается, что trade_num и order_num из 19 знаков уже не влезут?
Здравствуйте, Для заказа данных по обезличенным сделкам, достаточно вызвать CreateDataSource с параметром INTERVAL_TICK по нужному инструменту и подписаться на колбек через SetEmptyCallback или SetUpdateCallback
swerg написал: Так что я просто-таки требую ответа на вопрос, ибо в противном случае вы утаиваете часть необходимой пользователям информации.
Добрый день!
Переход на LUA 5.3 был вынужденным, в связи с планируемым введением 19-значных номеров заявок и сделок на срочном рынке Московской Биржи.
Начиная с версии торгового терминала 8.5 все QLUA скрипты должны быть адаптированы под LUA 5.3. Это в частности означает, что все внешние библиотеки должны быть залинкованы на библиотеку lua53.dll.
Библиотеку lua5.1.dll, оставленную в дистрибутиве на "переходной" период, использовать не следует. В дальнейшем lua5.1.dll будет удалена из дистрибутива.
Переход на LUA 5.3 был вынужденным, в связи с планируемым введением 19-значных номеров заявок и сделок на срочном рынке Московской Биржи.
Начиная с версии торгового терминала 8.5 все QLUA скрипты должны быть адаптированы под LUA 5.3. Это в частности означает, что все внешние библиотеки должны быть залинкованы на библиотеку lua53.dll.
Библиотеку lua5.1.dll, оставленную в дистрибутиве на "переходной" период, использовать не следует. В дальнейшем lua5.1.dll будет удалена из дистрибутива.
Андрей, Просьба прислать на quiksupport@arqatech.com архив всей папки с терминалом, созданный сразу после очередного падения И скриншоты из журнала событий Windows относящиеся к проблеме. В письме укажите ссылку на эту ветку форума
Валерий написал: Подскажите пожалуйста какой файл звука использовал quik для message()?
QUIK в данном случае не причем. Звук настраивается исключительно в свойствах системы. Панель управления - Звук, вкладка "звуки", Для message ("текст",1) - Звук "Звездочка" Для message ("текст",2) - Звук "Восклицание" Для message ("текст",3) - Звук "Критическая ошибка"
Александр написал: то ли всё-таки при каких-то настройках в Квике обновление само собой происходить не будет.
Странно, обычно пользователи на оборот борются за то чтобы заказ данных происходил автоматически. Вы же почему-то пытаетесь избавиться от автозаказа.
Как уже было сказано CreateDataSource без колбеков будет показывать то что есть в терминале. Если в терминале актуальные данные то и в CreateDataSource Вы получите актуальные данные. Значит где то у Вас есть подписка, возможно есть другой lua скрипт? Без указанного скрипта и с закрытыми всеми графиками, в папке archive появляется что-нибудь? А вообще на графики влияет галка "Получать пропущенные данные"
Старатель написал: getTradeDate() в OnCleanUp всегда даёт актуальную дату торгов или это у меня так совпало?
getTradeDate возвращает дату торговой сессии. Торговая сессия это НЕ тоже самое что астрономическая дата. например если брокер дает доступ к своему серверу в субботу, то Вы увидите дату пятницы.
Иван, Ну вкладки есть, с этим никто не спорит. А вот функционала работы с ними в QLUA нету. Т.е. QLUA не умеет заранее определять на какой вкладке ему рисовать окно, поэтому рисует его на всех.
Здравствуйте, Всё просто. В QLUA нет функционала работы со вкладками терминала и никогда не было. Если он Вам требуется можем предложить зарегистрировать пожелание на доработку
Александр М написал: Хороший ответ, поясняющий. Зачем в дистрибутиве, по которому официально обьявлено, что он переведен на lua 5.3 нужен файл lua5.1.dll?
Ответ уже был дан, просто так надо. Потом может удалим.
Евгений, QLUA тут не причем, от слова совсем. Сама трансляция с биржи происходит несколькими, не связанными потоками. заявки, стаканы и транзакции как раз таки транслируются тремя разными потоками. И эти потоки друг с другом никак не синхронизируются. От сюда и чудеса в поступлении данных. Ловите свою заявку в OnOrder, так будет более надежней.
Alexk написал: но мне нужен небольшой робот, который, в принципе, рабочий,
Ваше право. Хотя смысла нет ибо скрипт будет работать не долго, потом сами будете себя корить когда он вдруг сломается и переходить на QLUA будет уже поздно.
Цитата
Alexk написал: Можете написать, пожалуйста, почему не работает функция "УДАЛЯЕМ ЗАЯВКИ" на опционах (повторюсь, на фьючерсах работает отлично)?
У нас работает, почему у Вас не работает непонятно, опять что то недоговариваете. Посмотрите что возвращается в TRANS_RESULT Для этого добавьте строку сразу после TRANS_RESULT message("Result: " & get_value (TRANS_RESULT, "RESULT") & ", Result_ex: " & get_value (TRANS_RESULT, "RESULT_EX") & ", OrderNum: " & get_value (TRANS_RESULT, "ORDER_NUMBER") & ", Description: " & get_value (TRANS_RESULT, "DESCRIPTION"),1)
Биржа вот вот переведет срочный рынок на новую систему в которой будут 19ти значные номера заявок. А в QPILE нет поддержки 19ти значных цифр. В результате, после обновления ТС Вы вообще не сможете снимать заявки через QPILE.
Судя по всему, Вы только начали изучение программирования в QUIK В связи с чем рекомендуем даже не начинать пытаться что то делать на QPILE, а сразу перейти на работу с QLUA скриптами.
К сожалению затруднимся назвать причины, присланный код у нас также нормально работает, даже на версии 8.4.1.6
Проверьте внимательней корректно ли указан Ваш счет (параметр ACCOUNT) особо отметим что регистр символов имеет значение т.е. если в QUIK в счете присутствуют маленькие буквы, то и в скрипте тоже должны быть указаны маленькие буквы.
Если разобраться не получится пришлите на quiksupport@arqatech.com архив всей папки с терминалом QUIK (без ключей доступа) Архив следует паковать при закрытом терминале QUIK
Alexk написал: Уточню: в целом код на фьючерсах работает отлично, но тут робот для опционов (INSTRUMENT="RI107500BQ0B" - это пут опцион), на них не работает почему-то.
Здравствуйте, Описанная проблема у нас не воспроизводится. Проверьте в самой таблице позиций по клиентским счетам, какое значение в колонке "Акт. покупка"? Также уточните какая версия терминала QUIK используется.
Иван написал: Можно пример привести пожалуйста, можно проверить как? через ~= nil?
лучше проверить наличие легенды на графике, а не данные. Т.к. бывают ситуации когда график есть а данных на нем еще нет. Легенду можно увидеть через параметр l функции getCandlesByIndex Если пусто (не nil а именно пустое значение) значит идентификатора нет. t, n, l = getCandlesByIndex (tag, line, first_candle, count) if (l~="") then message("GOOD") else message("BAD") end
Таблица текущих торгов обновляется средами, т.е. раз в период. графики обновляются по факту прихода сделки. Следовательно графики всегда будут показывать более актуальную инфомрацию
Цитата
Vitaliy написал: 2) Чтобы один раз получить актуальные данные (при закрытых графиках) достаточно только
Без подписки на колбек, CreateDataSource вернет только то что в данные момент есть в терминале. Если в данный момент в терминале не актуальные данные (закрыли окна с графиками), то и от функции CreateDataSource Вы ничего внятного не добьетесь.
Цитата
Vitaliy написал: после этого в любой момент работаю с последними данными в ds_sber? Все верно?
Чтобы получить актуальные данные, требуется подписаться на информацию с сервера, для этого нужно вызвать SetUpdateCallback или SetEmptyCallback
Цитата
Vitaliy написал: 4) Какие будут последствия если при завершении скрипта не делать ds_sber:Close()
ничего не будет, терминал сам закроет поток, если он не используется.
Цитата
Vitaliy написал: 5) Можно как-то определять для интервала, например М30, что свеча закрылась и началась новая свеча?
Этому вопросу уже десятки лет. Все просто, дайте определение термину "свеча закрылась" и Вы сами найдете ответ. если для Вас, закрытие свечи происходит по времени, то проверяйте время. если для Вас, закрытие свечи происходит по факту открытия новой свечи, значит проверяйте появление новой свечи Ну или скомбинируйте оба варианта, как Вам нравится. Само собой, если время еще не прошло, то узнать о том закрылась свеча или нет не представляется возможным, в будущее мы смотреть еще не научились.
Цитата
Vitaliy написал: 6) У меня в цикле 1сек обсчитываются 10-20 инструментов ( массив ), инструменты меняются, т.е. статичные ds не сделать. Как правильно организовать запрос данных (свечей) в таком случае ?
закрывайте старые ds и открывайте новые, не видим тут какой-либо проблемы.
Nikolay, Да создатели Lua изменили логику в этом месте, имеют полное право. Значит они посчитали что так будет лучше. Понятно что неудобно и придется переделать логику в коде. Однако в обновлении Lua до 5.3 это далеко не единственное изменение. К сожалению мы никак не можем переделать Lua 5.3 под полную совместимость с Lua 5.1
Александр написал: Ответить прямо религия запрещает? Мне ваши ответы не понятны, поэтому задаю уточнящие вопросы.
Что именно не понятно во фразе "интерфейс и все значения будут на английском"?
Цитата
Александр написал: В русском терминале название акции - "Газпром", а в английском - она будет называться по-другому?
Хорошо, отвечаем прямо, да будет по другому, а если точнее по английски, а если еще точнее то GAZPROM. такой ответ понятен?
Цитата
Александр написал: Есть ли квик джуниор с интерфейсом на английском языке для теста?
отдельного терминала QUIK на английском языке не существует. Есть просто терминал, и в нем есть просто настройка, которую просто надо поменять. меню Система - Настройки - Языковые установки. Нюанс в том, что не каждый сервер брокера поддерживает английский, это можно уточнить у брокера.