До сих пор ничего не сделано по автосохранению. Сохранять при выходе конечно здорово, но обычно перезапуск QUIK не требуется, это делается раз в несколько недель.
Депозит на демо, Нужно обновить
Пользователь
Сообщений: Регистрация: 11.02.2018
04.07.2023 21:46:25
Добрый день. Можно ли продлить действие логина U0210924 на 12 месяцев и пополнить депозит на клиентский счет: SPBFUT000hx на какую-то очень большую сумму?
Переносить заявку, Дата экспирации в LUA скриптах.
Пользователь
Сообщений: Регистрация: 11.02.2018
29.08.2022 20:40:38
Кстати, даже по русски эти транзакции не работают, sendTransaction со следующим текстом ставит заявку как будто переносить заявку не указано
там надо все поля вводить кириллицей, только тогда это будет работать, ужасно
Переносить заявку, Дата экспирации в LUA скриптах.
Пользователь
Сообщений: Регистрация: 11.02.2018
29.08.2022 19:26:31
Как я в обычном языке программирования C++/C# создам вам переменную на кириллице, да ещё с пробелом? Никак не создам!
А вот с английскими кодами без пробелов всё работает.
Переносить заявку, Дата экспирации в LUA скриптах.
Пользователь
Сообщений: Регистрация: 11.02.2018
29.08.2022 19:19:01
Цитата
Alexey Danin написал: Само использование кириллицы в коде Lua скрипта не должно создавать каких-либо проблем, т.к. это всего лишь ключи полей Lua-таблицы. Можете переключить интерфейс терминала на английский, и тогда в коде Lua скрипта можно будет задавать данные поля транзакции на латинице.
Вы представляете, если это будет open-source библиотека на тысячу русскоязычных пользователей, нужно всем сказать "ребята быстро переключайте терминал на английский язык, или у вас ничего работать не будет" ? Это очень плохое решение.
Переносить заявку, Дата экспирации в LUA скриптах.
Пользователь
Сообщений: Регистрация: 11.02.2018
25.08.2022 16:26:56
Цитата
Alexey Danin написал: Здравствуйте.Существует два формата файлов импорта транзакций: фиксированный и универсальный.В справке QUIK Раздел 6. Совместная работа с другими приложениями/Импорт транзакций/ Фиксированный формат файла импорта транзакций, описан формат и примеры, которые Вы можете использовать при подаче транзакций.Поля, которые не описаны, можно получить в универсальном формате. Например, поместить транзакцию в карман транзакций, сохранить ее в tri файл и полученный результат использовать в своем скрипте.В Вашем случае необходимо использовать универсальный формат, выше Вы привели пример транзакции в таком формате.Если мы поняли Вас не правильно, просьба сообщить.
Спасибо, теперь я понял вас. Мне очень хотелось бы, чтобы для описания данных элементов выставления заявки использовались поля из фиксированного формата импорта транзакций. Либо какие-то существующие поля, либо завести новые поля, дополнительно.
Чтобы эту информацию можно было легко передавать в коде (например .lua скриптов)
Переносить заявку, Дата экспирации в LUA скриптах.
Пользователь
Сообщений: Регистрация: 11.02.2018
23.08.2022 11:33:46
В .tri-файл эта транзакция сохраняется таким образом
Код
TRANS_ID=1;CLASSCODE=SPBFUT;ACTION=Ввод заявки;Торговый счет=SPBFUT000kg;К/П=Покупка;Тип=Лимитированная;Класс=SPBFUT;Инструмент=SiU2;Цена=61000;
Количество=1;Условие исполнения=Поставить в очередь;Комментарий=;Переносить заявку=Да;Дата экспирации=20221223;
Нужные написаны кириллицей! То есть в квике на другом языке, эти параметры будут не "Переносить заявку" и "Дата экспирации", а называться как-то по-другому.
Хотелось бы, чтобы можно было задавать их либо через уже имеющиеся поля в универсальном формате файла импорта транзакций, либо для них завели какие-то новые поля в универсальном формате файла импорта транзакций.
Переносить заявку, Дата экспирации в LUA скриптах.
Могли бы Вы более подробно описать пожелание, ведь при формировании заявки Вы можете в поле "EXPIRY_DATE" указать вариант "GTC", который будет действовать до отмены.
Касательно латиницы и кириллицы. Также могли бы уточнить, Вам не нравится, что, используя универсальный формат файла импорта транзакций, нужно использовать и кириллицу, и латиницу ?
Добрый день. Я имел ввиду возмость для лимитных заявок на срочном рынке МБ: Я не знаю как называется эта галочка "Переносить заявку" и дата, до которой надо держать заявку активной.
Но в .tri-файле или в описании транзакции я никак не могу это указать!
не работает MOVE_ORDERS для класса "FUTSPREAD"., не передвигаются заявки спреда между фьючерсами
Пользователь
Сообщений: Регистрация: 11.02.2018
05.02.2022 11:49:09
Цитата
Юрий Балашов написал: А почему?! Планируется ли введение этой операции в следующих версиях, если нет, то возможно ли это зарегистрировать как пожелание?
Документация p2gate_ru.pdf говорит что для связок move_orders не поддерживается. Видимо биржа пока не подумала поддерживать перевыставление заявок для FUTSPREAD'ов
Переносить заявку, Дата экспирации в LUA скриптах.
Пользователь
Сообщений: Регистрация: 11.02.2018
15.10.2021 16:04:22
Я поддержу, что хотелось бы какой-то простой, задокументированный параметр в транзакции, чтобы отправлять GTC заявку.
Лучше вообще не заниматься вычислением корректной даты в будущем (не выходные, не праздники, а торговый день), а например отправить
Цитата
["GTC"] = "1",
и QUIK сам бы сделал отступ скажем на 6 месяцев или около того.
А отправлять названия параметр в кириллице, а в английском квике - в латинице, это выглядит "костыльно"
Имена фьючерсов в квике, от чего это зависит?
Пользователь
Сообщений: Регистрация: 11.02.2018
04.01.2021 15:14:17
У одних брокеров в квике фьючерсы называются по буквенным кодам, у других есть месяц.год экспирации. Вариант отображения зависит от сервера брокера, или я могу поменять в настройках квика?
QUIK 8.0 x64: что нужно знать перед обновлением на новую версию
написал: Здравствуйте. Я почему-то не могу перенести квик с одного компьютера на другой копированием папки, при открытии info.exe сразу падает приложение. В версии 8.6 присылал дампы, так и не поправили.
С чистой установки квик работает, я попробовал загрузить настройки из wnd файла но перенеслись далеко не все настройки.
Как можно ещё ПОЛНОСТЬЮ перенести настройки из одного квика в другой?
Добрый день.
Если присылали файлы дампов, то мы должны были сообщить CQ проблемы. Сообщите номер, мы проверим.
CQ02788718
Добрый день. К сожалению, по CQ02788718 разобраться не удалось. Если проблема повторяется, то пришлите архив рабочего места повторно + дмп файл, если он есть.
Вам присылался архив с рабочим местом QUIK. В принципе можете смотреть CQ02803881, там тамп с версии квика 8.8.1.5
QUIK 8.0 x64: что нужно знать перед обновлением на новую версию
написал: Здравствуйте. Я почему-то не могу перенести квик с одного компьютера на другой копированием папки, при открытии info.exe сразу падает приложение. В версии 8.6 присылал дампы, так и не поправили.
С чистой установки квик работает, я попробовал загрузить настройки из wnd файла но перенеслись далеко не все настройки.
Как можно ещё ПОЛНОСТЬЮ перенести настройки из одного квика в другой?
Добрый день.
Если присылали файлы дампов, то мы должны были сообщить CQ проблемы. Сообщите номер, мы проверим.
CQ02788718
QUIK 8.0 x64: что нужно знать перед обновлением на новую версию
написал: Здравствуйте. Я почему-то не могу перенести квик с одного компьютера на другой копированием папки, при открытии info.exe сразу падает приложение. В версии 8.6 присылал дампы, так и не поправили.
С чистой установки квик работает, я попробовал загрузить настройки из wnd файла но перенеслись далеко не все настройки.
Как можно ещё ПОЛНОСТЬЮ перенести настройки из одного квика в другой?
Добрый день.
Если присылали файлы дампов, то мы должны были сообщить CQ проблемы. Сообщите номер, мы проверим.
CQ02803881
QUIK 8.0 x64: что нужно знать перед обновлением на новую версию
Пользователь
Сообщений: Регистрация: 11.02.2018
21.08.2020 07:41:38
Здравствуйте. Я почему-то не могу перенести квик с одного компьютера на другой копированием папки, при открытии info.exe сразу падает приложение. В версии 8.6 присылал дампы, так и не поправили.
С чистой установки квик работает, я попробовал загрузить настройки из wnd файла но перенеслись далеко не все настройки.
Как можно ещё ПОЛНОСТЬЮ перенести настройки из одного квика в другой?
Ограничение 50 транзакций в секунду
Пользователь
Сообщений: Регистрация: 11.02.2018
16.07.2020 10:51:43
На QUIK 8.6.0.97 данный код работает без превышения транзакций уже несколько дней
Ограничение 50 транзакций в секунду
Пользователь
Сообщений: Регистрация: 11.02.2018
16.07.2020 10:51:08
Кажется, подсчет транзакций можно сделать следующим образом - запоминаем транзакцию когда её отправляем - когда получили ответ от сервера, начинаем считать 1 секунду - можно поставить лимит времени, когда мы сами забудем транзакцию например, если соединение разорвалось и сервер не ответил
Код
--
-- Подсчёт количества событий, произошедших за последние несколько секунд.
-- При регистрации очередного события в массив событий добавляется новый элемент с указанием текущего момента времени.
-- При подсчёте числа событий учитываются только те события, которые произошли не более чем указанное количество
-- секунд назад, а остальные события удаляются из массива.
--
local EventsCounter = {}
local function systime()
local d = os.sysdate()
local mcs = d.mcs or 0
d.ms = nil
d.mcs = nil
return os.time(d) + mcs * 0.000001
end
--- Конструктор.
-- @param self объект
-- @param interval количество секунд, на протяжении которых отслеживаются события
-- @param bump максимальное количество секунд, на протяжении которого событие занимает очередь без регистрации
local function new(self, interval, bump)
local object = {
interval = interval,
bump = bump,
events = {},
}
setmetatable(object, self)
self.__index = self
return object
end
EventsCounter.new = new
--- Зарегистрировать событие.
-- @param self объект
local function registerEvent(self, trans_id)
self.events[trans_id] = systime()
end
EventsCounter.registerEvent = registerEvent
--- Запомнить событие до его регистрации
-- @param self объект
local function preRegisterEvent(self, trans_id)
self.events[trans_id] = systime() + self.bump
end
EventsCounter.preRegisterEvent = preRegisterEvent
--- Узнать, сколько событий произошло за последние несколько секунд.
-- @param self объект
-- @return количество событий, произошедших за последние несколько секунд
local function getCount(self)
local now = systime()
local count = 0
local remove = {}
for id, time in pairs(self.events) do
if now - time <= self.interval then
count = count + 1
else
remove[id] = true
end
end
for id, _ in pairs(remove) do
self.events[id] = nil
end
return count
end
EventsCounter.getCount = getCount
return EventsCounter
Отправка транзакции
Код
local EventsCounter = require("EventsCounter")
local eventsCounter = EventsCounter:new(1.0, 30.0)
function myTransactionSend(transaction)
-- Перед отправкой транзакции проверяем количество событий и притормаживаем, если надо
while eventsCounter:getCount() >= 50 do
sleep(10)
end
-- Ваш код, который отсылает заявку
sendTransaction()
eventsCounter:preRegisterEvent(tonumber(transaction.TRANS_ID))
end
Получение ответа на транзакцию:
Код
-- ответ на отправку транзакции
function OnTransReply(trans_reply)
eventsCounter:registerEvent(transReply.trans_id)
end
Брокер Открытие. Не работает MOVE_ORDERS., Ошибка: "Указанная транзакция по указанному классу не найдена: "SPBOPT"."
Возможность использовать транзакции вида MOVE_ORDERS действительно была временно отключена по техническим причинам.
К сожалению, на момент Вашего обращения не можем сообщить когда именно доступ к данным транзакциям будет восстановлен. Как только это произойдет - Ваш брокер будет соответствующим образом извещён, и, вероятно, своевременно сообщит об этом Вам при соответствующем запросе с Вашей стороны.
Спустя несколько месяцев, что-нибудь прояснилось? Будет ли доступна транзакция MOVE_ORDERS хотя бы в новом 8м квике?
написал: Вполне может еще сетевой буфер влиять: несколько транзакций по факту накапливаются на вашей стороне в один сетевой пакет, после чего весь макет одновременно уезжает серверу, где они все сразу обрабатывает Это можно объяснить как меньшее кол-во заявок в секунду по вашим замерам, так и одновременность их обработки.
Попробуйте связаться с брокером и уточнить у него по чем для вас встанет для вас увеличение допустимого количества транзакций в секунду. Вдруг это будет обозримая цифра. Ну либо придётся менять алгоритм, избавляюсь от простой идеи одновременного снятия буквально всех заявок. Наверняка ведь вашу торговую идею можно реализовать иначе, красивее и без внезапного снятия буквально всех выставленных заявок.
:) Сначала там вообще была оплата за каждую транзакцию выше 20 в секунду, я подумал это какая-то дыра, даже если снимать все заявки в квике, когда заявок несколько десятков. Я предложил брокеру например платить фикс сумму в месяц, на что они просто сделали до 50 транзакций в секунду, дальше будет ошибка.
Дыра - в смысле практически неконтролируемо получаю доп комиссию от брокера, и я не понимал как уследить, где было больше 20 тр. в секунду...
Ограничение 50 транзакций в секунду
Пользователь
Сообщений: Регистрация: 11.02.2018
29.05.2020 12:08:34
Цитата
swerg написал: Вполне может еще сетевой буфер влиять: несколько транзакций по факту накапливаются на вашей стороне в один сетевой пакет, после чего весь макет одновременно уезжает серверу, где они все сразу обрабатывает Это можно объяснить как меньшее кол-во заявок в секунду по вашим замерам, так и одновременность их обработки.
Попробуйте связаться с брокером и уточнить у него по чем для вас встанет для вас увеличение допустимого количества транзакций в секунду. Вдруг это будет обозримая цифра. Ну либо придётся менять алгоритм, избавляюсь от простой идеи одновременного снятия буквально всех заявок. Наверняка ведь вашу торговую идею можно реализовать иначе, красивее и без внезапного снятия буквально всех выставленных заявок.
:) Сначала там вообще была оплата за каждую транзакцию выше 20 в секунду, я подумал это какая-то дыра, даже если снимать все заявки в квике, когда заявок несколько десятков. Я предложил брокеру например платить фикс сумму в месяц, на что они просто сделали до 50 транзакций в секунду, дальше будет ошибка.
Ограничение 50 транзакций в секунду
Пользователь
Сообщений: Регистрация: 11.02.2018
28.05.2020 18:49:32
_sk_, код в целом работает, но иногда сбоит. Причем если смотреть по таблице транзакций (время и микросекунды), то иногда не вижу чтобы в 1 секунду были ровно 50 транзакций (бывало 23), а ошибка есть. Или что странно там по 5-10 транзакций пишутся с одинаковой секундой и микросекундой (1/1000000), но это вообще не реально выглядит, по логам скрипта время различается, хотя бы на несколько миллисекунд.
Возможно Sergey Gorokhov - сможете объяснить как хотят транзакции между квиком и сервером и как замеряется этот интервал - 50 транзакций в секунду?
Ограничение 50 транзакций в секунду
Пользователь
Сообщений: Регистрация: 11.02.2018
17.04.2020 10:20:47
_sk_, спасибо большое за ваш пример! для себя опытным путём определил, что
Код
while eventsCounter:getCount() > 45 do
sleep(10)
end
пролазит в ограничение 50 транзакций от брокера, не вызывая ошибок сервера квика.
Отсутствует опционный аналитик в QUIK
Пользователь
Сообщений: Регистрация: 11.02.2018
16.04.2020 21:05:28
Вероятно ваш брокер не подключил этот сервис
Ограничение 50 транзакций в секунду
Пользователь
Сообщений: Регистрация: 11.02.2018
16.04.2020 20:36:31
Цитата
_sk_ написал: Заведите себе объект, который вычисляет количество отправленных заявок в последнюю секунду (реализация через очередь). Если количество заявок больше, скажем, 45, не отправляйте новые. Понятно, что ограничение неприятное и неудобное, но спамить сервер тоже не правильно.
Извините, можете привести пример, как написать это эффективно?
Например достался код коннектора у которого, повезло, всего одна точка sendTransaction:
Код
-- отправка траназакции квику
function router:processTransaction(transaction, tJson)
trace("info", "NEW TRANSACTION: " .. tJson)
local ok = sendTransaction(transaction)
if ok ~= "" then
-- код, чтобы обработать ошибку
end
end
Как сделать, чтобы проходило не более 50ти в секунду, но при этом не тупо делать sleep(1000 / 50) ?
Проблемы с разрешением 1920х1080., Неудобный интерфейс и шрифт.
Пользователь
Сообщений: Регистрация: 11.02.2018
22.03.2020 11:39:59
Здравствуйте. Подниму эту проблему. Вообще сам по себе 7й квик работает нормально, на Windows 10 с разрешением экрана 1920x1080 и масштабированием в 150%. Но если подключить чужую библиотеку StockSharp.Quik.lua, то окно терминала сразу сворачивается а элементы сильно мельчают в размерах. Почему такое может быть из-за Lua скрипта, в нём особо ничего нет, он фактически обращается к dll'ке
Но как же они могут получать рыночные данные и данные "стаканов" без какого-либо кода в lua скрипте ?
Рекомендую ознакомиться с библиотекой, где реализован подобный подход:
Да, чтобы работали колбэки, совсем не обязательно определять эти функции в lua-скрипте. И даже использовать Trans2Quik. Функции колбэков можно регистрировать в глобальном окружении (_G) луа-машины из C-кода своей подключенной через 'require ...' DLL, тогда Quik обнаружит их и сможет вызывать.
Спасибо. Правда этот код изобилует макросами, я так понимаю структуры там после обработки макросов преобразуются в функции-callback'и
написал: Здравствуйте. На сколько я знаю, общая схема работы lua "коннекторов" к квиву, что они переопределяют почти все функции обратного вызова (callback'и onXXX) по их действию собирают данные в объекты-таблицы и отправляют их своей программе (через разные библиотеки например socket core.dll)
Но в одном проекте
я увидел что в lua нет особо никакого кода, они просто подключают свою dll-ку через require и всё.
Да, для транзакций у них внутри наверняка работает Trans2Quik. Но как же они могут получать рыночные данные и данные "стаканов" без какого-либо кода в lua скрипте ? Другими словами, какие функции нужно определить в DLL, написанной на C# или C++, чтобы получать данные из квика?
Добрый день. При помощи Trans2Quik можете подписать на состояние заявок и сделок в QUIK. Функции описаны в руководстве пользователя QUIK: Раздел 6. Совместная работа с другими приложениями/Раздел 6. Совместная работа с другими приложениями/Функции для работы с транзакциями через API
Транзакции это не главное. Мне не понятно, каким образом можно сделать dll библиотеку на C# или C++, чтобы она принимала к себе вызовы функций OnXXX из вашего Quik Lua. При этом не прописывая этот код в .lua файле.
Получение данных без lua
Пользователь
Сообщений: Регистрация: 11.02.2018
04.08.2019 10:57:36
Здравствуйте. На сколько я знаю, общая схема работы lua "коннекторов" к квиву, что они переопределяют почти все функции обратного вызова (callback'и onXXX) по их действию собирают данные в объекты-таблицы и отправляют их своей программе (через разные библиотеки например socket core.dll)
Но в одном проекте
я увидел что в lua нет особо никакого кода, они просто подключают свою dll-ку через require и всё.
Да, для транзакций у них внутри наверняка работает Trans2Quik. Но как же они могут получать рыночные данные и данные "стаканов" без какого-либо кода в lua скрипте? Другими словами, какие функции нужно определить в DLL, написанной на C# или C++, чтобы получать данные из квика?
Таблица обезличенных сделок. Удобный фильтр по инструментам
Пользователь
Сообщений: Регистрация: 11.02.2018
03.07.2019 16:21:04
Цитата
Andrey Bezrukov написал: Иными словами, Вы бы хотели, чтобы выбор инструментов для таблицы "Обезличенные сделки" был реализован аналогично тому, как этот функционал выполнен для таблицы текущих торгов, правильно?
Да, чтобы в фильтре инструментов была такая же иерархия как в таблице текущих торгов. Например для опционов это разбиение по фьючерсному контракту, потом разбиение по датам экспирации и наконец сами инструменты. Можно выбрать что-нибудь в этой иерархии и сразу добавить все инструменты, которые к "этому узлу" относятся.
Таблица обезличенных сделок. Удобный фильтр по инструментам
Пользователь
Сообщений: Регистрация: 11.02.2018
03.07.2019 13:16:58
Здравствуйте. Просьба к таблице обезличенных сделок прикрутить такой фильтр по инструментам, который есть в котировках и таблице текущих торгов:
В таком списке отфильтровать одну серию опционов - очень неудобно, да и нету каких-то шаблонов текста, например "BR*BG9", "BR*BS9":
Замена срочных инструментов, замена срочных инструментов на следующий день
написал: В день экспирации он ещё торгуется, на срочном рынке МБ до 18:45 этого дня,
Можно делать склейку в следующий день. Т.е. 20 был экспир, мы от склейки отказались. А 21, в ручном режиме делаем замену и склейку. Тогда получается так как вы хотите, если я правильно понимаю вопрос.
Проблема в основном в том, что в один день заканчиваются сотни контрактов (опционов и фьючерсов), там неудобно в этом списке искать что тебе нужно оставить, а что можно заменить.
Что вы имеете ввиду под включенной склейкой? Она позволит смотреть график и торговать текущим контрактом, пока он не закончился?
Замена срочных инструментов, замена срочных инструментов на следующий день
написал: Здравствуйте. Было бы удобно, если в настройках программы, замены инструментов можно было указать не замену инструментов за 0 дней до погашения (т.е. сегодня или вчера, позавчера...в прошлом), а попросить заменять только истекшие контракты.
То есть например 21 сентября он бы проверял на замену инструменты с исполнением (или погашением) 20 сентября, 19 сентября или ещё раньше. А 20 сентября - предлагал бы заменить инструменты с погашением не позднее 19 сентября.
Добрый день. Можно просто соглашаться на замену инструмента в день экспирации.
В день экспирации он ещё торгуется, на срочном рынке МБ до 18:45 этого дня, не удобно заменять инструмент если он ещё нужен или по нему есть позиции.
Замена срочных инструментов, замена срочных инструментов на следующий день
Пользователь
Сообщений: Регистрация: 11.02.2018
20.09.2018 09:33:37
Здравствуйте. Было бы удобно, если в настройках программы, замены инструментов можно было указать не замену инструментов за 0 дней до погашения (т.е. сегодня или вчера, позавчера...в прошлом), а попросить заменять только истекшие контракты.
То есть например 21 сентября он бы проверял на замену инструменты с исполнением (или погашением) 20 сентября, 19 сентября или ещё раньше. А 20 сентября - предлагал бы заменить инструменты с погашением не позднее 19 сентября.
Trans2Quik + Lua - нормально ли?
Пользователь
Сообщений: Регистрация: 11.02.2018
17.07.2018 15:58:40
Цитата
Sergey Gorokhov написал: нужен конкретный пример транзакции (дата, время, класс, инструмент), ваш UID, и кто Ваш брокер. Далее запросим логи у брокера и по логам разберемся.
это типичная транзакция которых по инструменту были десятки если не сотни за день. По синтаксису она корректна. На сервер брокера она выставилась, проблема что в Lua её оповещение не прошло... Луа так понимаю локальный язык, с брокером никак не связан.
Цитата
Sergey Gorokhov написал: Сообщите дату этих транзакций и хотя-бы примерное время, Ваш UID и кто брокер. Пока этого будет достаточно.
В личные сообщения могу прислать...
Trans2Quik + Lua - нормально ли?
Пользователь
Сообщений: Регистрация: 11.02.2018
17.07.2018 15:36:54
Цитата
Sergey Gorokhov написал: Пока же просто проверьте актуальные ли у Вас версии (терминал QUIK 7.19 и qlua.dll версии 2.7.0.3)
Да, версии совпадают
Цитата
Sergey Gorokhov написал: Если есть проблема с Lua мы готовы разбираться, но нам нужен конкретный пример.
схематически я описал что произошло, а по поводу примера я не представляю данные какой подробности тут нужны. Проблема была на версии то ли 7.16 то ли 7.18 в квике, про новую версию не знаю, пока ещё не видел.
Trans2Quik + Lua - нормально ли?
Пользователь
Сообщений: Регистрация: 11.02.2018
17.07.2018 15:13:44
Цитата
Sergey Gorokhov написал: ЦитатаМихаил Ершов написал: Сталкиваюсь с проблемой иногда что в Lua не приходят транзакции с номером заявки, Если есть проблема следует разобраться с причиной проблемы, а потом уже делать выводы. Приведите пример такой такой транзакции (скриншот или лог), сообщите Ваш UID и кто брокер.
Это редкая ситуация, происходит раз другой среди тысяч ордеров. Последний раз было как-то так, что отсылаются две транзакции на лимитные ордера по двум разным инструментам. По первому инструменту получили нормальный отклик (transaction reply) с номером заявки, сохранили номер у себя и всё хорошо. По второму инструменту отклик на транзакцию не пришел!
Цитата
Sergey Gorokhov написал: Зачем? Всё что есть в trans2quik уже есть в Lua
Есть, но если Lua это не очень надежный инструмент, разработчик говорит навертели много защиты от его ошибок и все равно такие косяки. Я думаю вещи на C++ будут работать четко, не как на интерпретируемых скриптах.
Trans2Quik + Lua - нормально ли?
Пользователь
Сообщений: Регистрация: 11.02.2018
16.07.2018 16:13:08
Здравствуйте, вижу что очень популярно использовать Lua скрипт в квике для экспорта данных в свои приложения, написанные на некотором языке - C++, C#, Python ... Такой вопрос, можно ли технически в паре с Lua скриптом использовать trans2quik для заявок из программы, а Lua - для поступления торговых данных?
Сталкиваюсь с проблемой иногда что в Lua не приходят транзакции с номером заявки, хотя они выставляются, они теряются из виду у робота и т.д. Посоветовали trans2quik как "прямой API" к квику, типа такой проблемы не будет, поэтому думаю попробовать его если это нормальная и не устаревшая технология?
Улучшение функционала алгоритмической заявки
Пользователь
Сообщений: Регистрация: 11.02.2018
01.03.2018 14:53:38
Цитата
Sergei Kunitckii написал: Михаил, по поводу "другого "тикера"" просьба дать пояснения. Сейчас берется базовый актив для расчета, Вы хотите, чтобы можо было указать совсем другой инструмент, произвольный?
Это был бы самый универсальный и самый лучший вариант. Я привел пример, например если не доверяем фьючерсу SBRF-3.18, то можно брать цену с акции "Сбербанк ао" с фондового рынка, или например вместо MGNT-3.18 брать цену акций "Магнит". Например для нефти...даже какую-то индикативную котировку вместо фьючерса, скажем если брокер транслирует Brent Oil Index, либо RTSI (индикативный индекс РТС). В более простом варианте можно сделать только возможно выбирать среди доступных фьючерсов у актива (например для опционов по доллар-рублю можно выбирать между Si-3.18, Si-6.18, Si-9.18, ... как источником цены БА. С поправкой своими коэффициентами)
Улучшение функционала алгоритмической заявки
Пользователь
Сообщений: Регистрация: 11.02.2018
01.03.2018 13:20:08
Цитата
Sergei Kunitckii написал: Уже сейчас есть возможность заменять заявку и это происходит через снятие заявки, это особенность реализации.
Сергей, возможно это особенность брокерской сборки! Я вижу что "Изменить алго-заявку Ctrl+A" не доступно, активен только вариант "Снять алго-заявку Ctrl+D"
Улучшение функционала алгоритмической заявки
Пользователь
Сообщений: Регистрация: 11.02.2018
01.03.2018 11:26:26
Цитата
Sergei Kunitckii написал: 2. Про замену не совсем понятно ,что Вы хотите. Уже сейчас есть возможность заменять заявку и это происходит через снятие заявки, это особенность реализации.
Это небольшое удобство, сейчас сначала нужно щёлкнуть Ctrl+D или пункт меню отменить заявку, потом нужно ещё раз щёлкнуть по отменённой заявке в таблице алго-заявок, чтобы она открылась с теми же параметрами, их можно было поменять и выставить заново.
Почему бы не сделать активной замену заявки, чтобы и заявку снимало, и сразу же открывало окно с её параметрами (можно выставить заново, можно нажать отмену и не выставлять).
Цитата
Sergei Kunitckii написал: 3. Мы зарегистрировали пожелание по поводу применения коэффициентов к цене базового актива при расчете цены алгозаявки.
Да, именно что получать цену с другого "тикера", символа как базового актива. И поправку коэффициентами. Если это сложно реализовать, тогда ладно...
Улучшение функционала алгоритмической заявки
Пользователь
Сообщений: Регистрация: 11.02.2018
28.02.2018 12:21:48
Здравствуйте.
Есть пожелания по улучшению работы с алгоритмической заявкой "Волатильность" для опционов 1) Очень неудобно что все выставленные заявки пропадают после 23:59 на следующий торговый день. Хотя в принципе они могут быть актуальны для меня. Можно ли сделать - либо, чтобы данные заявки переносились на следующий день, соответственно например на FORTS они снимают связанные ордера перед закрытием в 23:50 и продолжают работать в следующий торговый день с 10:00 плюс несколько секунд. Собственно как-то так работает заявка со сроком действия (GTD) - либо сделать возможность сохранять такие заявки в карман транзакций и потом доставать их в следующий день. Соответственно в кармане транзакций желательна возможность редактировать все её параметры. При доставании одной или нескольких таких заявок, наверно, стоит показывать подтверждающие диалоги на каждую (то же самое, когда создаешь заявку и видишь "Вы действительно хотите выполнить транзакцию "Ввод алго-заявки", и т.д.") 2) Хотелось бы, чтобы алго-заявку волатильность можно было заменять. То есть в таблице алго-заявок выбираешь Изменить алго заявку (Ctrl+A), тогда текущая заявка и ордера - отменяется, всплывает окно с параметрами только что снятой алго-заявки. Их можно поменять и поставить новую заявку. 3) Последний пункт чисто пожелание, в алгоритме который переводит волатильность в цену ордера есть параметр S – текущая цена базового актива (для опционов FORTS используется параметр «Расчетная цена»);
Неплохо, если можно будет гибко задавать S как a*S'+b, где a, b - коэффициенты; S' - текущая цена другого инструмента. Например, если мы рассматриваем опцион по фьючерсу сбербанка (SBRF-3.18), и хотим использовать котировку "Сбербанк ао" с фондового рынка как более точную и динамично меняющуюся, то есть S = 100,5000 * Котировка (МБ ФР:Сбербанк ао) + 0,0000. (100,50 потому что цена фьючерса равна цене 100 акций и фьючерс несколько дороже из-за безрисковой ставки)
QUIK виснет из-за Таблица изменений параметров
Пользователь
Сообщений: Регистрация: 11.02.2018
19.02.2018 13:10:29
Ещё попробовал совет отсюда - когда ставишь «Сохранение данных» - «Только данные, отражающие текущее состояние». Вышло, что данная таблица вообще не получает новых изменений, вроде бы.
QUIK виснет из-за Таблица изменений параметров
Пользователь
Сообщений: Регистрация: 11.02.2018
16.02.2018 20:15:20
Добрый день, пытаюсь с помощью данных таблиц отслеживать бид/аск, например строю таблицу по изменению "Лучшей цены спроса" на 20-30 неликвидных инструментах, потом строю ещё одно таблицу по изменению "Лучшей цены предложения" на этих же инструментах. Записей там не много, думаю за сессию 1-2-3 тысячи строк выходит, но где-то через полчаса работы терминал зависает, только его разворачиваешь - он что-то грузит, отвисает и сразу же снова что-то грузит, отвисает и так зацикливается. Кнопка крестика из-за этого не работает. Windows предлагает только убивать зависшее приложение. А при повторном открытии эти два окна уже пропадают...