Где можно подробнее узнать о значениях этого параметра?
Надо делать так, как надо. А как не надо - делать не надо.
getParamEx
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
18.11.2015 20:10:11
Вот такой код:
Код
local status = getParamEx(class_code, sec_code, "tradingstatus")
message(status.param_value)
выводит "0.000000". Но мы уже наученные - понимаем, что ноль в QUIK - это не всегда ноль. Проверяем тип данных, чтобы не был равен 0:
Код
message(status.param_type)
выводит 2. Вроде, нормально. Ан, нет: для параметра "tradingstatus" тип должен быть 4. Значит данный параметр Квиком не получен. И так для многих параметров.
Но надо сделать так, чтобы можно было однозначно определить, без гаданий, получен ли параметр торговой системой или нет.
Надо делать так, как надо. А как не надо - делать не надо.
Дистрибутив программы
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
18.11.2015 14:36:42
Дайте, пожалуйста, ссылку на страницу со списком дистрибутивов программы, утилит, библиотек, справочных руководств... А то на сайте заблудился...
Надо делать так, как надо. А как не надо - делать не надо.
QUIK v.7.0.1.5, Доступные скрипты
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
10.11.2015 15:14:10
В таблице "Доступные скрипты" пропала полоса прокрутки.
Надо делать так, как надо. А как не надо - делать не надо.
Таблица заявок
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
27.10.2015 21:12:27
Добрый день. Правильно я понимаю, что параметры "Исходный номер" и "Стоп-заявка" в таблице заявок соответствуют параметру linkedorder? Как можно понять, что заявка выставлена именно при срабатывании стопа?
Надо делать так, как надо. А как не надо - делать не надо.
Обрезается текст в Окне сообщений
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
19.10.2015 13:19:19
Иногда сообщения в окне сообщений обрезаются: Но, если изменить размер окна (не обязательно в сторону увеличения), то текст отобразится полностью:
Надо делать так, как надо. А как не надо - делать не надо.
getParamEx
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
21.09.2015 11:40:25
Добрый день.
При отсутствии значения искомого параметра в ТТП всегда param_value = "0.000000" и param_image = "" ? Т.е., они не могут быть nil ни при каких обстоятельствах?
Надо делать так, как надо. А как не надо - делать не надо.
Графики: подсказка на свечке
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
19.09.2015 10:24:24
Добрый день.
1) Сделайте при наведении курсором на график вывод в подсказке значений всех индикаторов на данном временном баре, а то порой бывает сложно "поймать" какой-то конкретный индикатор в месте пересечения с ценой.
2) А также на панели "Координаты курсора" при включённом перекрестии (и снятой галке "Показывать подсказку на свечке") опцию "Всегда показывать подсказку", при включении которой в левом верхнем углу диаграммы отображались бы значения всех индикаторов в месте пересечения с горизонтальной линией курсора (на всех панелях данной диаграммы).
Надо делать так, как надо. А как не надо - делать не надо.
Торговые счета
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
18.08.2015 21:00:42
Может ли список торговых счетов измениться без переподключения к серверу?
Надо делать так, как надо. А как не надо - делать не надо.
Пользовательский фильтр и Условное форматирование
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
14.08.2015 12:23:54
Добрый день.
1. Предлагаю добавить в фильтры возможность задавать условия сравнения не только с текущим значением в другой колонке, но сравнение значения по другой колонке с любым произвольным заданным значением.
2. Сделать возможность добавления ещё строк с условиями. А то 2-3 иногда не хватает.
Надо делать так, как надо. А как не надо - делать не надо.
Процентное изменение
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
12.08.2015 12:53:04
Как сделать, чтобы на одной оси графика отображалась абсолютная цена, а на другой - процентное изменение?
Надо делать так, как надо. А как не надо - делать не надо.
Управление индикатором из Lua-скрипта
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
15.07.2015 17:46:40
Добрый день.
Не помню, было такое пожелание или нет... Сделайте возможным из QLUA-скрипта, если не добавлять индикатор на диаграмму, то хотя бы управлять уже созданным индикатором: вызывать функцию Refresh, ту самую, которая вызывается при нажатии на кнопку "Сохранить" в настройках индикатора, а также изменить значения параметров таблицы Settings.
Надо делать так, как надо. А как не надо - делать не надо.
Обмен данными между Lua-скриптами
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
14.07.2015 01:31:29
Добрый день.
Возможно ли сделать в QUIK общее хранилище данных для обмена информацией между скриптами?
Я знаю, что . Но оно не удобно тем, что при обращении к объекту из общего "пространства имён" создаётся новый экземпляр объекта (вместо ссылки), что негативно сказывается на ресурсах.
Надо делать так, как надо. А как не надо - делать не надо.
Динамическое изменение верхней/нижней границы вертикальной оси
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
13.07.2015 13:46:01
Добрый день.
Добавьте возможность из кода Lua-индикатора задавать и динамически изменять верхнюю и нижнюю границы вертикальной оси.
Надо делать так, как надо. А как не надо - делать не надо.
Добавить новый вид графика
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
12.07.2015 12:57:46
Добавьте новый вид графика, типа гистограммы, только полностью закрашенный:
Надо делать так, как надо. А как не надо - делать не надо.
Согласно , длина такой таблицы (#tab) должна быть 6, но у меня показывает 9. Это ошибка в документации или в самом Lua/QLUA?
Надо делать так, как надо. А как не надо - делать не надо.
SQL в Lua
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
17.06.2015 20:35:19
Какую БД и библиотеку лучше использовать в Lua? Сейчас использую SQLite 3 через . Но есть проблемы при одновременном доступе к БД из разных потоков/скриптов даже при чтении.
Надо делать так, как надо. А как не надо - делать не надо.
OnOrder без UID
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
14.06.2015 23:40:20
В ответ на транзакцию приходит колбек OnOrder без UID:
Надо делать так, как надо. А как не надо - делать не надо.
Показывать последнее значение на графике цены
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
11.06.2015 10:45:17
Как сделать, чтобы последнее значение цены отображалось над значением индикатора?
Надо делать так, как надо. А как не надо - делать не надо.
Контроль данных в МТС, Создание отказоустойчивой автоматизированной торговой системы
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
10.06.2015 14:11:39
Задача: Есть робот, торгующий по индикатору, рассчитываемому на основе графика цены. Нужно сделать контроль данных с графика на случай "потери" части свечей сервером (такое иногда случается). Кто как контролирует этот процесс? Или все полагаются на "авось"?
Надо делать так, как надо. А как не надо - делать не надо.
Ввод заявки
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
09.06.2015 22:18:30
Как сделать, чтобы в окне ввода заявки в поле "Код клиента" отображались только те коды, которые соответствуют выбранному торговому счёту? И как сделать, чтобы, если выбранному торговому счёту соответствует только один код клиента, то этот код автоматически подставлялся в соответствующее поле?
Надо делать так, как надо. А как не надо - делать не надо.
Автомасштабирование графиков
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
09.06.2015 13:30:20
Добрый день. Сделайте функцию "интеллектуального автомасштабирования" по оси Y графика с наложенным индикатором таким образом, чтобы в область диаграммы попадал график цены и правая часть индикатора. Чтобы было понятно:
Скрытый текст
По центру - текущая реализация автомасштабирования - график цены слишком сильно сжат. Справа - график масштабирован таким образом, чтобы в области диаграммы были видны график цены и правая часть индикатора
Надо делать так, как надо. А как не надо - делать не надо.
Цена заявки не соответствует установленному диапазону
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
07.06.2015 23:22:55
Какой параметр для фондовой секции показывает значения цен этого диапазона?
Надо делать так, как надо. А как не надо - делать не надо.
Узнать таймфрейм графика
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
06.06.2015 23:12:30
Как узнать таймфрейм графика с заданным идентификатором?
Надо делать так, как надо. А как не надо - делать не надо.
Узнать дату последней сделки
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
31.05.2015 10:00:00
Узнать дату последней сделки можно только с графика?
Надо делать так, как надо. А как не надо - делать не надо.
OnDisconnected, добавить код ошибки
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
26.05.2015 10:19:44
Добрый день.
Добавьте в функцию OnDisconnected() возвращаемое значение код ошибки для диагностики ошибки подключения.
Надо делать так, как надо. А как не надо - делать не надо.
CreateDataSource
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
19.05.2015 19:41:18
Задача: рассчитать индикатор по данным с графика. Устанавливаем колбек CreateDataSource(ClassCode, SecCode, Interval):SetUpdateCallback(fCB). В ответ приходят данные всех свечей с графика, по которым заполняем таблицу Candles[index].
Но! Если открыт график по данной бумаге, то в колбек приходят только данные с момента установки колбека.
Решение? (getCandlesByIndex не интересует)
Надо делать так, как надо. А как не надо - делать не надо.
Highlight
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
28.04.2015 16:55:14
Цитата
Если в качестве цвета задана константа QTABLE_DEFAULT_COLOR, то используется цвет, заданный в цветовой схеме операционной системе Windows.
Цвет чего используется для фона в функции Highlight? Почему при использовании следующего кода цвет фона становится чёрным? Ведь видно, что по-умолчанию цвет фона белый:
Надо делать так, как надо. А как не надо - делать не надо.
QLua: работа с таблицами Рабочего места QUIK
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
23.04.2015 19:52:38
Добавьте функцию определения номера выделенной строки в QLua
Надо делать так, как надо. А как не надо - делать не надо.
Таблица всех сделок
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
22.04.2015 13:38:45
В таблице всех сделок есть параметр "Время(мкс)", последние три цифры которого всегда равны нулю. Это у всех так или мой брокер что-то не обновил/не установил у себя?
Надо делать так, как надо. А как не надо - делать не надо.
64-битная версия QUIK
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
22.04.2015 12:17:42
Добрый день. Работаете ли вы над созданием 64-битной версией QUIK? Или хотя бы есть ли в планах перевод версии на 64-bit?
Надо делать так, как надо. А как не надо - делать не надо.
Объединение массивов
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
27.03.2015 10:30:58
Есть в Lua функция объединения массивов? Чтобы из двух массивов
Код
t1 = {4, 5, 6}
t2 = {1, 2, 3, 6, 7, 8}
получить один:
Код
t = {1, 2, 3, 4, 5, 6, 7, 8}
?
Надо делать так, как надо. А как не надо - делать не надо.
Архив графиков
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
19.03.2015 23:37:43
Добрый день. При работе с архивом графиков (экспортированных из dat в txt) обнаружилось, что данные за некоторые дни не совпадают с биржевыми:
Скрытый текст
На скриншете слева - данные из QUIK; справа - данные с сайта Финама, они совпадают с биржевыми.
Также в один из дней отсутствовала часть сделок в ТВС в период 10:32-10:34
Как такое возможно?
Надо делать так, как надо. А как не надо - делать не надо.
AddLabel
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
16.03.2015 23:37:29
Есть ли ограничение на длину параметра HINT?
Надо делать так, как надо. А как не надо - делать не надо.
Ограничение на количество отображаемых свечей на графиках
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
10.03.2015 17:36:47
Уберите, наконец, это ограничение на отображение максимум 3000 свечей. Неудобно анализировать историю на младших таймфреймах. При этом чтобы не грузить терминал пользователь может задать в настройках "Отображать последние x свечей", что уже реализовано.
Надо делать так, как надо. А как не надо - делать не надо.
Сохранение всех сделок
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
03.03.2015 23:04:17
При экспорте всех сделок в БД обнаружилось, что в один из торговых дней из архива "выпала" часть сделок в середине дня. Поэтому возникла необходимость проверки, все ли сделки закачаны. Для спота это можно проверить по параметрам "Кол-во сделок" и "Общее кол-во". Для ФОРТС сложнее: с вечерней сессии отсчёт начинается по-новой. Есть идеи, как проверить закачку всех сделок для ФОРТС?
Надо делать так, как надо. А как не надо - делать не надо.
Загрузка кода из строки
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
27.02.2015 18:58:26
Есть некоторая числовая переменная value и условие filter, заданное строкой, например:
Код
local value, filter = 5, " > 3"
Нужно вывести результат применения условия к переменной, как-то так:
Код
print(5 > 3)
Надо делать так, как надо. А как не надо - делать не надо.
Автоматическое переключение на другой сервер
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
12.02.2015 17:01:25
Добавьте в настройки соединений параметр "При n неудачных попыток переключаться на другой сервер". А то приходится отключать возможность автоматического переключения, иначе при каждом "чихе" QUIK будет прыгать с одного сервера на другой и перекачивать все данные заново.
Надо делать так, как надо. А как не надо - делать не надо.
Формат даты
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
11.02.2015 22:54:02
Задача: написать функцию форматирования даты:
Код
_DateFormat(date, input, output),
где date - дата в строковом формате, input - формат ввода, output - формат вывода.
Надо делать так, как надо. А как не надо - делать не надо.
Определить время начала интервала для заданного таймфрейма
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
10.02.2015 19:19:03
Задача: определить время начала интервала для заданного таймфрейма.
Код
function getTimeInterval(t, i)
i = i*60 -- переводим в минуты
return os.date('%d.%m.%Y %X', math.floor(t/i)*i)
end
local t = os.time({year=2015, month=02, day=10, hour=18, min=40, sec=20})
local i = 4*60 -- интервал 4 часа
print(getTimeInterval(t, i))
Но кажет не то время.
Надо делать так, как надо. А как не надо - делать не надо.
Перезаказать данные заново, Очистить все и начать новый сеанс, Перезаказать архив графиков
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
05.02.2015 14:18:29
Из документации:
Цитата
Перезаказать данные заново - Очистить полученные данные и заказать их заново Очистить все и начать новый сеанс - Очистить все накопленные данные и заказать их заново Перезаказать архив графиков - Очистить архив графиков и заказать заново данные с сервера
Описание довольно скудное. Не понятно, чем отличается "Очистить полученные данные и заказать их заново" и "Очистить все накопленные данные и заказать их заново". Поясните, пожалуйста, более подробно, что делает каждый пункт, какие настройки сбрасываются, какие файлы при этом очищаются/удаляются.
Надо делать так, как надо. А как не надо - делать не надо.
Некорректные данные в очереди котировок
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
02.02.2015 10:57:48
Начало:
Добрый день.
Прошёл почти год с момента обнаружения проблемы и отправки вам необходимой информации по данному вопросу. Ваша ИТС выдаёт неверные данные. Нужно выявить причину и устранить ошибку. Какие предприняты для этого меры?
Ответ типа "мы действительно не виноваты. Все необходимые данные для анализа мы передали специалистам биржи." не канает. Прошёл почти год. Ситуация не изменилась. Я ни за что не поверю, что в век информационных технологий вы отправили гонца с письмом пешком из Новосибирска в Москву, и по дороге в лесу его съели волки. Если "вы не виноваты", то нужно назначить "крайних" и пусть занимаются проблемой.
Надо делать так, как надо. А как не надо - делать не надо.
Закладки
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
01.02.2015 11:51:33
Нужны закладки по избранным темам. Что-то, вроде подписок, но чтобы по ним не приходили сообщения на e-mail
Надо делать так, как надо. А как не надо - делать не надо.
Списки кодов классов и бумаг
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
31.01.2015 15:28:35
Могут ли списки кодов классов и кодов бумаг обновиться (добавиться новый класс или бумага) на клиентском месте в течение торговой сессии без переподключения к серверу?
Надо делать так, как надо. А как не надо - делать не надо.
Заказ всех сделок, Использование CreateDataSource для заказа всех сделок
Пользователь
Сообщений: Регистрация: 30.01.2015
Роботорговец
31.01.2015 15:18:51
Продолжение этой темы:
QUIK v.6.16.0.42
Запускаем два скрипта: 1) Считаем количество всех сделок:
Код
function main()
local hID = AllocTable()
AddColumn(hID, 1, 'Количество', true, QTABLE_INT_TYPE, 13)
CreateWindow(hID)
InsertRow(hID, -1)
while bRun do
local nLen = getNumberOf('all_trades')
SetCell(hID, 1, 1, tostring(nLen), nLen)
sleep(100)
end
end
2) Заказываем все сделки:
Код
function main()
local sClassCode = 'QJSIM'
for sSecCode in string.gmatch(getClassSecurities(sClassCode), '([^,]*),') do
(CreateDataSource(sClassCode, sSecCode, INTERVAL_TICK)):SetEmptyCallback()
end
message('ТВС заказана', 2)
end
Через некоторое время QUIK падает с созданием дампа. После нескольких попыток все сделки наконец закачиваются в хранилище. Но при этом есть вероятность, что часть сделок теряется. Повторное переподключение к серверу не помогает. Помогает только удаление файла alltrade.dat с повторной закачкой данных.
Также удалось локализовать ошибку, когда все сделки заказываются только со 2-го вызова CreateDataSource: это происходит, если во время запуска QUIK инструмент уже находился в списке [ALL_TRADES_DATA] файла INFO.INI
Надо делать так, как надо. А как не надо - делать не надо.