Anton написал: Клиенту сбера, заметим, а не их клиенту. У клиента завсегда есть таблица обезличенных сделок, он может в ней поискать, а по какой же цене была последняя сделка в 18 часов? И увидеть нечто типа такого
Спасибо за ответ, хотя вопрос был задан не Вам. Клиент в состоянии разобраться что ему можно делать без дополнительных целеуказаний. Конечно, у клиента есть только договорные отношения со Сбером, но фактически ARQA Technologies осуществляет технологическую поддержку на этом форуме не за спасибо. Адекватная техническая поддержка клиентов брокеров один из бонусов, благодаря которым брокер выбирает Quik в качестве своей платформы. Клиент уже посмотрел таблицу обезличенных сделок и информация в ней соответствует графику Quik. Но это не значит, что Quik отработал корректно. Что если он получил некорректную цену, или не принял еще одну транзакцию? Вы не находите, что сотрудники саппорта должны быть заинтересованы в отражении корректных данных, допускать возможность что именно quik отработал некорректно? Вместо того, чтобы советовать куда обратиться, имея все логи они могут локализовать проблему гораздо быстрее. Первый ответ в ветке был запросом на предоставление папки приложения, хотя в моем сообщении было достаточно данных, чтобы потратив 5 минут увидеть, что это не проблема в приложении клиента. Второй ответ последовал через 11 дней после вопроса, когда отобразить информацию на сайте биржи стало невозможно. Может все таки саппорту стараться решить проблему, ну или если рассказывать клиенту что он может, то делать это хотя бы за 3 дня, когда проблему еще можно воспроизвести?
Т.е. после моего запроса Вы подождали 8 дней, чтобы можно было написать "что именно транслировала биржа за 7 число уже не представляется возможным.". Вам не интересно разобраться почему данные на официальном сайте биржи отличаются от данных в терминале, вместо этого Вы предлагаете разобраться с ошибкой клиенту.
Уточните, пожалуйста, что Вы имеете в виду под всеми значениями?
Проблема заключается в том, что если линия индикатора находится поверх свечи, то подсказка с ее значением не отображается, но отображается, если линия индикатора "под" свечей. Именно это и будет исправлено.
Вроде логично. Нужно попробовать, будут ли отображаться значения индикаторов и свечей графика, если они очень близко друг к другу и свеча очень короткая.
Anna Lozenko написал: Sergey, Добрый день, Описанная в данном инциденте ошибка будет исправлена в одной из следующих версий ПО. Приносим извинения за причинённые неудобства.
Расскажите пожалуйста, как будет исправлена ошибка? В хинте будут отображаться все значения выделенного интервала?
Поскольку вы используете потокобезопасные функции, то добавление элемента в конец таблицы (именно такая запись без указания индекса table.sinsert(Trades, trade)) не влечет каких-то неприятных последствий.
Удаление влечет последствия: 1 поток нашел, что ему нужно удалить запись с индексом 5 но пока не удалил 2 поток удалил запись с индексом 3 1 поток удаляет запись с индексом 5 - это уже не та запись, которую он нашел - это проблема.
Sergey Hlynovskii написал: Здравствуйте Sergey, В терминале QUIK откройте график по данному инструменту, на котором будит видно расхождение с графиком Московской биржи. Закройте QUIK, сделайте архив всей папки без ключей и пришлите нам на quiksupport@arqatech.com вместе с номером своего UID.
Подскажите, что значит без ключей? Контекстным поиском я нахожу множество мест в которых указан мой логин, я бы не хотел его Вам отдавать. Вы можете попробовать добавить у себя график с интервалом М60 и посмотреть значение свечи:
Это займет минуту и если у Вас будут корректные данные, то будем разбираться дальше.
QUIK 8.7.1.3 У меня есть основной скрипт и еще несколько дополнительных, которые основной подключает через requare. Все скрипты расположены в отдельной папке но не внутри директирии QUIK (так нужно). При добавлении и запуске основного скрипта в QUIK все работает нормально, до момента пока QUIK не перезапускается. После перезапуска QUIK и попытке запуска скрипта получаю "module ... not found' с перечнем папок, где QUIK пытался искать подключаемый скрипт. Чтобы снова заработало нужно в окне "Lua скрипты" удалить мой основной скрипт и заново добавить. Такое впечатление, что сразу после добавления скрипта к путям, по которым происходит поиск подключаемых скриптов добавляется папка из которой запускается скрипт, а после перезагрузки QUIK в этой папке уже не ищет. Как можно исправить эту ситуацию? Добавить еще один путь для поиска скриптов, или указать, чтобы requare искал скрипты в папке нахождения основного скрипта?
BlaZed написал: Первая ссылка что я привел, пост №4. Но это именно что "обходное" решение
Спасибо, изменение порядка отображения работает. Конечно хотелось бы в подсказке видеть все значения выбранного интервала. Может в понедельник саппорт ответит можно ли так сделать...
Сотрудники саппорта, прокомментируйте пожалуйста, как продвинулось решение этой проблемы за 6 лет и в каком году ожидать реализации "нового функционала"? Может есть обходное решение чтобы смотреть значение индикатора на графике?
Добрый день. Если на графике навести курсор на индикатор EMA, то появляется всплывающее меню с его значением. Но что делать, если индикатор совпадает со свечей графика (значение лини EMA внутри свечи), при наведении курсора отображаются данные свечи, как отобразить значение индикатора?
Добрый день. Подскажите почему данные на графике QUIK Сбербанка могут не соответствовать данным московской биржи? Пример: Инструмент ЗПИФ ФПР, идентификатор: RU000A101NK4 Выставляю часовые свечи, цена закрытия свечи 07.07.2021 18:00 В QUIK: 2797 На MOEX: 2811 Т.е. разница в 14 рублей, примерно 0,5%
Артем написал: Код, не вызывающий никаких С-функций, выполняется атомарно. Так что можно использовать глобальные переменные в качестве мутексов.
Поясните пожалуйста, если main с бесконечным циклом без С-функций, в конце каждой итерации sleep это будет работать так: 1. Если выполняется код до sleep и приходит колбэк, то колбэк не будет выполняться, пока не начнет выполняться sleep. 2. При начале выполнения sleep, начнут выполняться накопленные колбеки, при этом в основном потоке дальше sleep выполнение не пойдет, пока не выполнятся все накопленные колбеки?
Проблема в том, что перед добавлением/удалинием элементов происходит перебор элементов таблицы в цикле для поиска нужного индекса. Если нужный элемент найден, а другой поток удалит элемент с меньшим индексом, то индексы сдвинутся и получится ерунда, т.е. нужно синхронизировать потоки. В с++ я бы использовал mutex, в lua я нашел подобие mutex (возможно ошибаюсь), функции: https://www.lua.org/manual/2.1/section3_5.html
но я не понимаю как их использовать и не могу найти примеры (судя по объявлению функций это вообще с++). Подскажите как можно решить проблему или где найти примеры/описание?
Спасибо за оперативный ответ. Я правильно понимаю, что перечень полей для типов транзакций нужно смотреть в таблице примеров раздела 6 инструкции QUIK?
Добрый день, прошу помочь разобраться. Отправляю "KILL_ORDER" заполнив поле CLIENT_CODE, при этом заявка снимается но brokerref в OnTransReply приходит пустым. Такое поведение постоянно, использую ваш тестовый сервер. В случае KILL_ORDER brokerref в OnTransReply должен быть пустым, или я делаю что-то не так? Функция создающая транзакцию:
Код
function SE_KillOrder(
account, -- Код счета
class_code, -- Код класса
sec_code, -- Код инструмента
order_key --Код заявки
)
-- Получает ID для следующей транзакции
SE_trans_id = SE_trans_id + 1
-- Заполняет структуру для отправки транзакции
local Transaction={
['TRANS_ID'] = tostring(SE_trans_id),-- Номер транзакции
['ACCOUNT'] = account, -- Код счета
['CLASSCODE'] = class_code, -- Код класса
['SECCODE'] = sec_code, -- Код инструмента
['ACTION'] = 'KILL_ORDER', -- Тип транзакции ('NEW_ORDER' - новая заявка)
['ORDER_KEY'] = tostring(order_key), -- код транзакции
['CLIENT_CODE']= 'SE_'..sec_code -- Комментарий к транзакции, который будет виден в транзакциях, заявках и сделках в поле brokerref
}
--LogWrite(Transaction)
-- Отправляет транзакцию
local Res = sendTransaction(Transaction)
-- Если при отправке транзакции возникла ошибка
if Res ~= '' then
-- Вызывает функцию обратного вызова (если она объявлена)
if SE_OnTransSendError ~= nil then
local trans = {}
trans.trans_id = SE_trans_id
trans.transaction = Transaction
trans.result_msg = Res
SE_OnTransSendError(trans)
end
-- Возвращает номер транзакции и сообщение об ошибке
return SE_trans_id, Res
end
-- Если транзакция отправлена, возвращает ее номер
return SE_trans_id
end