Данный вопрос необходимо исследовать. Если сейчас у Вас проблема повторяется, то нужен будет конкретный пример стоп заявки и архив рабочего места QUIK с данным стопом. Архив необходимо сделать при закрытой программе QUIK, без ключей доступа и файла chm.
В пункте меню Система - Заказ данных - Поток котировок пропал? Сейчас проблема повторяется? Если класс пропал из настроек "Потока котировок", то необходимо к брокеру обращаться.
Если из скрипта переустанавливать на графике скществующую метку, а в это время идёт перерисовка графика при смене инструмента, метка не только не переустанавливать я, но ещё и вовсе пропадает из таблиц терминала, делая невозможными любые последующие с ней действия.
Смена инструмента осуществляется при помощи настроек диаграммы? Можете выложить Ваш скрипт. На вопрос выше ответим позднее.
Здравствуйте! Ошибка воспроизводится на следующем скрипте:
Код
Settings = {
Name = 'Example4' ,
Mult = 1 ,
Identifier = 'TESTCHART'
}
ChartID = 0
function Init ()
-- ChartID = 0 -- идентификатор метки
plDate = '' -- дата метки
plTime = '' -- время метки
Data = 0 -- данные для графика
PrintDbgStr ( '[QLUA]: DelAllLabels ' .. tostring( DelAllLabels (Settings.Identifier)))
PrintDbgStr ( '[QLUA]: Init' )
testmodify = false
return 1
end
function OnCalculate (index)
-- получение информации об инструменте
local t = getDataSourceInfo ()
SecCode = t.sec_code
ClassCode = t.class_code
-- Дата и время для метки
plDate = string.format ( '%4d%02d%02d' , T(index).year, T(index).month, T(index).day)
plTime = string.format ( '%02d%02d%02d' , T(index).hour, T(index).min, T(index).sec)
Data = getNumberOf ( 'all_trades' ) -- данные для метки
-- если ID метки не найден, то рисуем новую. Иначе меняем старую
if index = = Size () then
if ChartID = = 0 then
ChartID =
PlotLabel(
C(index),
plDate,
plTime,
'text ' .. Data .. ' ' .. SecCode,
Data .. ' ' .. SecCode,
Settings.Identifier,
' green'
)
PrintDbgStr ( '[QLUA]: ChartID =0, new Label, new ChartID= ' .. ChartID)
else
testmodify =
ModifyLabel(
C(index),
plDate,
plTime,
'text ' .. Data .. ' ' .. SecCode,
Data .. ' ' .. SecCode,
Settings.Identifier,
ChartID,
' green'
)
PrintDbgStr ( '[QLUA]: ChartID =' .. ChartID .. ' modified ' .. tostring(testmodify))
end
end
return index
end
function PlotLabel (fPRICE, fDATE, fTIME, fTEXT, fHINT, fCHARTTAG, fCOLOR)
local r, g, b = 255 , 255 , 255
if fCOLOR = = 'green' then
r = 0
g = 255
b = 0
elseif fCOLOR = = 'red' then
r = 255
g = 0
b = 0
end
local label_params = {
TEXT = tostring(fTEXT),
IMAGE_PATH = "" ,
ALIGNMENT = 'LEFT' ,
YVALUE = fPRICE,
DATE = fDATE,
TIME = fTIME,
R = r,
G = g,
B = b,
TRANSPARENCY = 0 ,
TRANSPARENT_BACKGROUND = 1 ,
FONT_FACE_NAME = 'Lucida Console' ,
FONT_HEIGHT = 10 ,
HINT = tostring(fHINT)
}
return AddLabel (fCHARTTAG, label_params) or - 1
end
function ModifyLabel (fPRICE, fDATE, fTIME, fTEXT, fHINT, fCHARTTAG, fCHARTID, fCOLOR)
local r, g, b = 255 , 255 , 255
if fCOLOR = = 'green' then
r = 0
g = 255
b = 0
elseif fCOLOR = = 'red' then
r = 255
g = 0
b = 0
end
local label_params = {
TEXT = tostring(fTEXT),
IMAGE_PATH = "" ,
ALIGNMENT = 'LEFT' ,
YVALUE = fPRICE,
DATE = fDATE,
TIME = fTIME,
R = r,
G = g,
B = b,
TRANSPARENCY = 0 ,
TRANSPARENT_BACKGROUND = 1 ,
FONT_FACE_NAME = 'Lucida Console' ,
FONT_HEIGHT = 10 ,
HINT = tostring(fHINT)
}
return SetLabelParams (fCHARTTAG, fCHARTID, label_params)
end
function OnDestroy ()
DelAllLabels (Settings.Identifier)
end
В режиме связанных окон переключаемся на другой инструмент и потом обратно. Получаем две (!) потерявшиеся метки
Добрый день.
Проверили у себя на вашем скрипте. Версия рабочего места 7.16.3. Проблема не воспроизвелась. Метки остаются на месте. В таком случае, чтобы разобраться пришлите ваше рабочее место QUIK без ключей доступа и файла chm. quiksupport@arqatech.com
Suntor написал: А когда несколько дней подряд заявка переносится и её номер меняется через каждый вечерний клиринг несколько раз, то значение linkedorder содержит номер самой первой заявки в самый первый день? или linkedorder содержит номер заявки за предыдущую торговую сессию?
Вроде простой вопрос... неужели никто не может с ходу ответить... или придётся ставить скрипт и ждать три торговых сессии, чтобы это выяснить самому? (((
Техподдержка брокера "Открытие" ответила, что обновление графиков волатильности за текущий день возможно только при настройке «Сохранение данных» - «Данные, отражающие текущее состояние и всю историю изменений» и галке «Получать пропущенные данные». Дословно "К сожалению мы не можем повлиять на настройки, заложенные разработчиками Quik."
Что делать и как же все-таки заставить QUIK обновлять данные в графике волатильностей за текущий день в режиме "Только данные, отражающие текущее состояние" ???
Добрый день.
Как сказал выше Станислав нужно обратиться к брокеру и инициировать обращение к нам. Также перед этим сегодня убедиться, что проблема повторяется, на графике нажать клавишу F5 и проверить поступил ли информация на график.
Сроков, к сожалению, назвать не можем, но в этом месте работа ведется. Однако уже сейчас вы можете скачать Quik X для Ipad, но мы не тестировали такой вариант, поэтому в процессе работы могут быть проблемы, например отображения шрифтов.
Вы имеете ввиду quik x для айфона который? Или есть еще какой то?
Роман написал: >> Да. - Без client_code вы не получите результат расчета. Егор, я правильно вас понял, если client_code будет равен NULL он не рас читает правильно??? Просто, не могу поставить это значение, нужно всю цепочку запросов переписывать ...
Добрый день.
Это работает для фондового и валютного рынка. Для срочного да, код клиента не обязателен.
Сергей написал: Я вам ссылку отправлю. http://o-s-a.net/forum/threads/23 Не закачивается робот неизвестный тип файла. У брокера Открытия робот устойчиво работает без проблем. Квик 7.14
Выложите в свободном доступе, на данном сайте нужна регистрация для скачивания. Это Ваш скрипт?
Igor Golovin написал: Добрый день. перехожу на LUA.. подскажите, пожалуйста, есть ли функция простая функция определения числа строк в текстовом файле для LUA? пока не нашел.. спасибо!
Добрый день.
Можно попробовать так:
function getLinesNumber(file_name) local ctr = 0 for _ in io.lines file_name do ctr = ctr + 1 end return ctr end
Проверьте правильность типов полей по документации на QUIK. Раздел 6. Совместная работа с другими приложениями/Приложение
Например у Вас написано [Операция] nvarchar, а должно быть VARCHAR. [Цена] int, вместо int укажите DECIMAL(15,6). И так далее.
Не получается, у меня кроме "Номер" везде NULL, Почему так? "Номер" оттображается корректно.
Добрый день.
Чтобы понять почему потребуются подробности.
1. Создайте в папке с программой Quik файл с именем quik_odbc.log После перезапуска Quik, туда начнется записываться логи ODBC экспорта. Воспроизведите проблему, после чего пришлите полученный лога нам на ящик quiksupport@arqatech.com с указанием ссылки на эту ветку форума.
2. Также потребуются скриншоты настроек ODBC из программы QUIK.
Как уже ответил Сергей такой возможности в текущей реализации нет. Готовы зарегистрировать пожелание.
Если это возможно, я бы хотел данное улучшение зарегистрировать.
Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
Виктор Столетов написал: Термины SPBFUT и PSFUT относятся к работе QUIK, на бирже эти термины не используются. С данным вопросом вам следует обратиться к ARQA Technologies, разработчику ПО QUIK
Добрый день.
Да, на бирже таких определений, как SPBFUT и PSFUT может и не быть. Так как по всей видимости они транслируют данные одним потоком, не разделяя на классы. Опять же эту информацию нужно выяснять у них.
Если из скрипта переустанавливать на графике скществующую метку, а в это время идёт перерисовка графика при смене инструмента, метка не только не переустанавливать я, но ещё и вовсе пропадает из таблиц терминала, делая невозможными любые последующие с ней действия.
Смена инструмента осуществляется при помощи настроек диаграммы? Можете выложить Ваш скрипт. На вопрос выше ответим позднее.
Сроков, к сожалению, назвать не можем, но в этом месте работа ведется. Однако уже сейчас вы можете скачать Quik X для Ipad, но мы не тестировали такой вариант, поэтому в процессе работы могут быть проблемы, например отображения шрифтов.
Sergey Gorokhov написал: известен, он в таблице обезличенных сделок транслируется, опять же по классу PSFUT
Вызвал таблицу обезличенных сделок в конце дня и ни одной сделки по фьючерсам класса PSFUT я в ней не нашел. Все сделки там только класса SPBFUT. Проверил это по нескольким фьючерсам, результат один и тот же. При вызове таблицы обезличенных сделок я выбрал группу "FORTS: Фьючерсы", затем "Фильтр ценных бумаг" и добавил фьючерсы, потом добавил поле "Код класса". Может что-то сделал не так?
Добрый день.
Проверьте в пункте меню Система - Заказ данных - Поток обезличенных сделок, есть ли в списке данный режим торгов. Если его нет, то брокер Вам не предоставил права на получение обезличенных сделок по данному классу.
Андрей написал: Это тоже самое, если разделите в одном баре заявки на покупку и продажу будет очень даже хорошо )
Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
Андрей написал: Зарегистрируйте пожалуйста. Вывод 4-х показателей: Рыночные объемы на куплю, рыночные объемы на продажу, количество рыночных сделок на куплю и количество сделок на продажу.
Андрей, мы предложили пожелание на возможность в одном баре делить заявки на покупку и на продажу. То,что предлагаете вы мы реализовать не можем, так как со стороны биржи таких параметров нет.
Андрей написал: Хочется видеть не только общий объем Volume, а также сколько в нем было объема на покупку и объема на продажу. Возможно осуществить в QUIK это. В других торговых программах это есть, например в Xtic
В текущей реализации нет. Можем зарегистрировать пожелание на доработку.
Андрей написал: Здравствуйте! Непонятно из данной ветке, что решено по основному вопросу. Возможно ли сделать в QUIK вывод не только всего объема проторгованного за определенный период времени, а также разделение его на куплю и продажу? А также количество проторгованных заявок на куплю и продажу? Ведь по лимитным объемам эта функция реализована, почему по рыночным объемам нельзя сделать также?
Добрый день.
Вы про горизонтальные объемы? Если да, то в текущей реализации такой возможности нет. На график вы можете добавить лишь параметры общего кол-ва заявок на покупку или продажу.
Нет, я именно про вертикальные объемы. Общее кол-во заявок на покупку или продажу это у вас по лимитным заявкам, не хватает информации по рыночным заявкам, одного вертикального общего объема очень не хватает.
Андрей, Вам нужен бар, который будет показывать отдельно информацию по рыночным заявкам на покупку и продажи? Если да, то нам о таком параметре не известно. В таблице текущих торгов информация берется с биржи.
Suntor написал: Сюда же задам ещё два вопроса по поведению OnTransReply, OnOrder и OnTrade, чтобы не плодить темы.
1. Возможна ли ситуация потери одного из вызовов, например при сетевых ошибках, сбоях сервера и т.п... то-есть OnTransReply вообще не приходит, а сразу приходят OnOrder и OnTrade? 2. Возможна ли ситуация изменения порядка прихода вызовов. Например, первым придут несколько OnTrade, за ними OnOrder и в конце OnTransReply, и все разумеется в рамках одного trans_id?
Ответ на ваши вопросы да, теоретически такое может быть.
Андрей написал: Здравствуйте! Непонятно из данной ветке, что решено по основному вопросу. Возможно ли сделать в QUIK вывод не только всего объема проторгованного за определенный период времени, а также разделение его на куплю и продажу? А также количество проторгованных заявок на куплю и продажу? Ведь по лимитным объемам эта функция реализована, почему по рыночным объемам нельзя сделать также?
Добрый день.
Вы про горизонтальные объемы? Если да, то в текущей реализации такой возможности нет. На график вы можете добавить лишь параметры общего кол-ва заявок на покупку или продажу.
Андрей написал: Здравствуйте! Присоединяюсь к Дмитрию, сделайте пожалуйста привязку текстовых меток к инструменту. Если линии и фигуры сейчас можно привязать к инструменту (графику), то для анализа актива необходимо для каждого инструмента делать отдельное окно с графиком для описание основных моментов и сигналов, очень не удобно.
Добрый день.
Андрей, пожелание зафиксировано. Как будет результат по рассмотрению, то в данной ветке обязательно напишем.
За все торговые площадки мы сказать затруднимся, это нужно проверять. Но направление такое, если в OnTransReply order_num равен null, то и в OnOrder он может и не быть.
На фондовом, валютном, срочном рынке такой ситуации не должно быть.
Дополним. Информация для срочного рынка есть, ее можно посмотреть в таблице "Состояние счета", однако доступа к этом таблице через Qlua нет. Что касается акций, то данную информацию можно получить функцией getBuySellInfo, параметры can_buy_own и can_sell_own.
Андрей написал: Вот нашел в инете такой совет, это правда так работает ?
Цитата
Скрипты Lua запускаются сами, автоматически, если скрипт не был остановлен в момент выключения терминала, так что тут всё уже есть и работает само по себе.
Добрый день.
Да.
Цитата
Еще один вопрос в связи с этой темой возникает, можно ли подключиться к брокеру минуя квик или это в принципе невозможно? вопрос наверно дилетантский, но раз он возник, то решил спросить( айпи адрес есть, порт есть, логин и пароль есть - для подключения по типу фтп достаточно, но что бы считывать данные наверно этого мало? надо еще что-то, для подключения например к серверу бд или еще чему-то?...)
Для этого хочу знать стоимость именно фьючерсного контракта в том числе в момент совершения покупки и до него... Ну например - сколько стоит 1 фьюч на нефть в рублях (не ГО, а именно цена в рублях) в разные моменты времени, которая потом будет конвертирована в вариационную маржу).
Не совсем понимаем. Стоимость по которой сыграет заявка? Или Вас интересует цена последней сделки.
Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
Речь про уровень цены последней сделки? Можно дополнительно настроить оповещение на параметры текущих торгов. Если нужно из графика настройку оповещения, то зарегистрируем пожелание.