Александр Никитин написал: Подскажите пожалуйста как получить вот эти цифры используя LUA?
Здравствуйте, В текущей реализации к сожалению нет доступа через Lua к этой таблице. Решить проблему можно воспроизведя расчеты. Формулы есть в документации.
Максим написал: Но стоит открыть ТВС хоть для одного инструмента - в файле начинают появляться записи.
Здравствуйте, Чтобы в OnAllTrade что-то поехало, нужно инициировать заказ таблицы обезличенных сделок. Это делается либо путем открытия таблицы в терминале, либо через CreateDataSource с тиковым интервалом.
Здравствуйте, В нашей документации описаны только наши функции. Синтаксис чистого Lua и его функций приведены в документации на язык Lua Например можно посмотреть их на сайте http://www.lua.ru/ или http://www.lua.org/
tdm написал: значит нельзя ограничить количество получаемых свечей(
Почему нельзя? Конечно можно. Другой вопрос что мы это за Вас делать не будем. Примеры предоставляются "как есть" и каждый может их переписать на свое усмотрение.
Цитата
tdm написал: может быть есть способы распараллеливания вычислений в lua чтобы ускорить вычисления? многопоточность поддерживается?
"многопоточность" есть только в виде функции main. Другие варианты, можно посмотреть в документации на язык lua.
tdm написал: почему аналогично нельзя сделать для последних 30 значений? сначала будет "ничего", а для последних свечек получу значение, этого вполне достаточно
Сделайте. Те функции которые Вы используете не более чем пример. А значит Вы вольны их переписывать как угодно.
UID это номер пользователя, отображается в заголовке программы QUIK после подключения. Обычно его спрашивают чтобы идентифицировать пользователя. Но он уже не нужен.
Александр написал: Добрый день. Пытаюсь получить денежные лимиты, но getFuturesLimit("SPBFUT", "SPBFUT...", 0). возвращает nil. Система демо, версия 7.2.0.45. В чём может быть причина?
Согласно документации в функции getFuturesLimit должно быть 4 параметра а не три как у Вас. Если необходимо получить информацию по фьючерсному лимиту без валюты, то в качестве curr_code задается пустая строка.
Алексей написал: Хотелось бы когда окна не активны не напрягать глаза, выбирая график с нужным эмитентом, а быстрым просмотром увидеть искомое свернутое окно.
Возможно поможет менеджер окон? (меню Окна - Менеджер окон) там даже поиск есть
Роман, На самом деле, Ваш вопрос звучит так "как сделать так чтобы код содержащий ошибки не останавливался" Ответ уже был озвучен, избавьтесь от ошибок. Пока в коде есть ошибки он не будет "всегда" работать. И да, проблема не в LUA.
Если возникает ошибка при работе кода, то код не должен работать и это абсолютно правильно. Если Вы не знаете в каком месте ошибка, добавьте логирование и найдите. Если знаете но не можете устранить покажите нам код, постараемся помочь.
Сергей Семёнов написал: Если не затруднит - дайте пожалуйста ссылку, а то я теряюсь по этому сайту. Извините
Документация к терминалу QUIK находится в терминале QUIK в файле info.chm и вызывается клавишей F1 в терминале QUIK Также копию документации на терминал можно скачать по ссылке: Руководство пользователя QUIK
Здравствуйте, Если интересует только просмотр, то есть система экспорта в SQL базу данных (Модуль экспорта биржевой информации) или его бесплатный аналог в виде экспорта по ODBC. чистого API для web приложений не существует
возьмем для примера 5минутную свечку от 31го числа в 19:05:00 Вы говорите что последняя сделка данной свечи (то есть в период с 19:05:00 до 19:09:59) была по ТВС 14395, а по графику 14388 Смотрим ТВС, последняя сделка данной свечи была в 19:09:59, по цене 14388 это Вы и видите на графике. номер сделки 1580832536 (если требуется подтверждение можете отправить запрос на биржу) От куда взялось 14395 совершенно непонятно Делаем вывод что Ваш скрипт, который формирует данные по ТВС, работает некорректно.
Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
Здравствуйте, К сожалению через lua нет возможности определить в чем считаются бумаги в лотах или штуках. То что сам терминал это определяет, не значит что в Lua есть для этого функция
индикатор ADX действительно поменялся. Если быть точнее раньше он округлялся по математическим правилам а теперь нет. Меняться он не будет. Если интересно есть реализация индикаторов на Lua Все индикаторы на Lua
Николай Камынин написал: В первом случае Вы получаете все значения. Во втором лишь значения из срезов пришедших в ТТП. Т е во втором случае возможны пропуски.
А можете подробней расписать, что могу пропустить? Значение теоретической цены? В каком случае? Запускал на проверку на полчаса и получал одинаковые данные от обоих вариантов в одно и то же время.
Николай говорит о том что в SetUpdateCallback вы получаете поток данных, а getParamEx возвращает данные по запросу. а раз по запросу, значит есть шанс пропустить изменение значений. Другой вопрос защищена ли логика скрипта от пропусков. Если правильно вызывать getParamEx в OnParam то конечно риск сводится к минимуму или вообще отсутствует. Но возникает проблема когда предыдущее значение равно новому. И именно по этому Вам была дана рекомендация использовать SetUpdateCallback где если сработало значит изменение было. Конечно гуру форума могут поправить, что SetUpdateCallback или getParamEx на самом деле ловят не все изменения которые были на бирже. так как сами по себе данные по параметрам инструментов попадают на сервер также по запросу (раз в период)
Про SetUpdateCallback следует отметить что в него будут поступать вообще все данные по нужному параметру, а не только текущие. Поэтому проверяйте индекс чтобы была последняя свеча.
Женя написал: Не туда щелкнул, спасибо за терпение, нашел)) Только у меня график стоит и показывает до закрытия вчерашнего дня. У меня демо, это из-за него?
Проверьте настройки терминала меню Система - Настройки - Основные настройки в "Получение данных" установить галку "Исходя из настроек открытых пользователем таблиц" в "Сохранение данных" установить галку "Данные, отражающие текущее состояние и всю историю изменений" и "Получать пропущенные данные"
Цитата
Женя написал: Выдает закрытие вчерашнего дня. Теперь, проверяя параметр Size() на изменение, можно уверенно сказать, что прошло обновление теоретической цены?
Все проще, достаточно установить колбек через SetUpdateCallback
правой кнопкой мыши по значению в таблице текущих торгов и там выбрать график
Цитата
Женя написал: Да, с ее помощью я получаю теоретическую цену. Но если цена обновилась и осталась прежней, то, простите, не могу сообразить, как с помощью getParamEx понять, что она обновилась?
Цитата
Sergey Gorokhov написал: Смотрите в событии CreateDataSource по нужному параметру
Женя написал: ЦитатаSergey Gorokhov написал: Например проверять только нужный параметр через getItem.Если подскажите еще какую имеете в виду таблицу))
тут имеет место ошибка. имелась ввиду функция getParamEx
Цитата
Женя написал: Sergey Gorokhov написал: Смотрите в событии CreateDataSource по нужному параметру Для этого нужно построить график теоретической цены опциона? А каким образом?
для CreateDataSource не нужно строить график. функция сама закачает нужные данные.
max max написал: А как брать текущее время с БИРЖИ ?
В чистом виде через QUIK никак, только если смотреть последнее время изменение параметра в таблице текущих торгов, или время последней сделки в таблице обезличенных сделок.