тебе говорят, что твой раундтрип до сервера около 10 мс
тебе говорят, что МТ пишет что-то, что не может происходить в реальности
адекватный технарь задумался бы, ты - машешь руками и брызгаешь слюнями
"выпей отвар их трав " (с)
Модераторы! Немного странно, что Вы становитесь на сторону откровенного хама, удаляя сообщение одной из сторон. Может быть Вам не нравятся не лестные отзывы о Вашем "детище"?
Исправление ошибок в trans2quik.dll
Пользователь
Сообщений: Регистрация: 29.07.2015
07.02.2019 12:43:06
Вот, например, ответ Егора Зайцева, на найденую мной ошибку "Добрый день,
Действительно, в настоящее время терминал при получении подписки от Trans2QUIK на получение заявок и сделок не проверяет валидность указанных в подписке кодов классов и инструментов. Данная ошибка не может привести ни к каким серьёзным последствиям и будет исправлена в одной из очередных версий ПО.
Понять хочу как ведётся замер. в этом куске не вижу строк выдающих логи:
Цитата
написал: 2019.02.06 18:27:25.902 Trades 'xxxxx': cancel order #99190769 sell limit 1.00 SNGR-6.19 at 285212019.02.06 18:27:25.908 Trades 'xxxxx': accepted cancel order #99190769 sell limit 1.00 SNGR-6.19 at 28521
я нехочу наехать или оскорбить, я хочу лишь понять. Просто воплей о том что МТ работает супер быстро миллион а по факту оказывается что люди замеряют время возврата из OrderSendAsync :)
Забегая вперёд, хочу сказать что раунд-трип это не просто время ответа сервера. Это время маршрута тернимал-сервер-биржа-сервер-терминал. И 7 мс мне кажутся очень подозрительными.
Если Вы программировали в МТ5 (тогда будет понятен смысл моих слов), то лично для Вас (из принципа) могу сделать коректный замер. Т.е сделаю GetMicrosecondCount(); перед отправкой ассинхронного ордера, и GetMicrosecondCount(); когда придет ответ от cервера в OnTradeTransaction(). Я раньше это делал (у меня получалось 5-9 мс)
Понять хочу как ведётся замер. в этом куске не вижу строк выдающих логи:
Цитата
написал: 2019.02.06 18:27:25.902 Trades 'xxxxx': cancel order #99190769 sell limit 1.00 SNGR-6.19 at 285212019.02.06 18:27:25.908 Trades 'xxxxx': accepted cancel order #99190769 sell limit 1.00 SNGR-6.19 at 28521
я нехочу наехать или оскорбить, я хочу лишь понять. Просто воплей о том что МТ работает супер быстро миллион а по факту оказывается что люди замеряют время возврата из OrderSendAsync :)
Забегая вперёд, хочу сказать что раунд-трип это не просто время ответа сервера. Это время маршрута тернимал-сервер-биржа-сервер-терминал. И 7 мс мне кажутся очень подозрительными.
Да вообще по-барабану сколько мс 7-15 мс. Я вообще не собирался что-то доказывать и измерять. Просто к слову сказал, то что я сам вижу в обоих терминалах. На мой взляд МТ5 работает гораздо быстрее, но он имеет очень много "своих" недостатков (н-р только фьючерсы). К слову будет сказано, что лично у меня больше претензий имеено к МТ5 нежели к квик, но последний (как платформа для роботов) ....
импорт транзакций, Время исполнения
Пользователь
Сообщений: Регистрация: 29.07.2015
07.02.2019 11:06:51
Цитата
написал: не принимайте на веру циферки, что вам рисует метатрейдер. Они означают другое, чем вы думаете.
Что Вы хотите сказать (доказать)? Что одна глюкавка лучше другой? Мне ничего рассазывать (доказывать) не нужно я и программирую и торгую (на реале) в обоих терминалах не один год. И как они работаю мне прекрано известно.
импорт транзакций, Время исполнения
Пользователь
Сообщений: Регистрация: 29.07.2015
07.02.2019 10:53:21
И он спрашивал не про МТ5, а про КВИК
импорт транзакций, Время исполнения
Пользователь
Сообщений: Регистрация: 29.07.2015
07.02.2019 10:51:31
Цитата
написал:
Цитата
написал:
Цитата
написал: пинг до сервера замерял? :)
ну и как при этом может получиться отправка сигнала, обработка его на сервере и обратный возврат ответа за 7 миллисекунд?
выше уже писали про замер пинга до сервера. Вряд ли время пинга будет 6 миллисекунд, если вы не медью с сервером соединены )
померьте и сделайте вывод.
У меня нет нужды сравнивать Квик с МТ5 - вывод очевиден (оба оставляют желать лучшего). Но с точки зрения создания торговых роботов второй на несколько порядков выше первого, да и скорость исполнения торговых приказов во втором гораздо выше. Но ни в первом, ни во втором невозможно КАЧЕСТВЕННО торговать роботами на MOEX Приходится из г...на шарики катать :)
P.S как на этом сайте вставить изображение?
Trans2Quik + Lua - нормально ли?
Пользователь
Сообщений: Регистрация: 29.07.2015
06.02.2019 19:03:04
Цитата
Михаил Ершов написал: Здравствуйте, вижу что очень популярно использовать Lua скрипт в квике для экспорта данных в свои приложения, написанные на некотором языке - C++, C#, Python ... Такой вопрос, можно ли технически в паре с Lua скриптом использовать trans2quik для заявок из программы, а Lua - для поступления торговых данных?
Сталкиваюсь с проблемой иногда что в Lua не приходят транзакции с номером заявки, хотя они выставляются, они теряются из виду у робота и т.д. Посоветовали trans2quik как "прямой API" к квику, типа такой проблемы не будет, поэтому думаю попробовать его если это нормальная и не устаревшая технология?
Михаил. Как Вы тестируете, то, что написано на LUA? Если текст срипта составляет 50-100 строк, то это как-то можно "пережить", отправляя сообщения, а если 8000 строк, , да ещё если на 1 инструмент а 50, то как тестировать будете?
Исправление ошибок в trans2quik.dll
Пользователь
Сообщений: Регистрация: 29.07.2015
06.02.2019 18:56:36
Уважаемые разработчики!
Понятно, что точный срок обновления trans2quik.dll невозможно огласить, но хотелось бы знать ВАШИ планы по срокам выхода обновления.
импорт транзакций, Время исполнения
Пользователь
Сообщений: Регистрация: 29.07.2015
06.02.2019 18:31:57
Цитата
написал:
Цитата
8 мсек в метатрейдере - это время постановки транзакции в очередь на отправку от терминала к серверу. Транзакция ещё находится у вас в терминале ожидает отправки, а управление снова отдано скрипту.
Не нужно фантазировать. В МТ5, 8 мс - это с момента время отправки транзакци + время получения ответа от сервера:
Реал
2019.02.06 18:27:25.902 Trades 'xxxxx': cancel order #99190769 sell limit 1.00 SNGR-6.19 at 28521 2019.02.06 18:27:25.908 Trades 'xxxxx': accepted cancel order #99190769 sell limit 1.00 SNGR-6.19 at 28521 2019.02.06 18:27:25.909 Trades 'xxxxx': cancel order #99190769 sell limit 1.00 SNGR-6.19 at 28521 placed for execution in 7.386 ms
100% Открытие сделок, через *. tri файл, Импорт заявок по текущим ценам
TYPE Тип заявки, необязательный параметр. Значения: «L» – лимитированная (по умолчанию), «M» – рыночная
По рыночной Quik не принимает заявки почему-то
Добрый день. Просьба сообщить подробности. Если возникает ошибка, то просьба ее сообщить, также выложите текст транзакции, которую подаете через tri файл.
Я звонил в Открывашку по этому вопросу. Ответ: "Рыночные заявки по фондовому рынку запрещены во избежании манипуляций на рынке" :) Оказывается это мы, маленькие частные инвесторы, двигаем рынок!
QUIK Junior
Пользователь
Сообщений: Регистрация: 29.07.2015
01.02.2019 00:40:37
Уважаемые разработчики!
"Почините" котировки в фондовой секции. Например: Шаг цены акции Роснефти - 0,05, а у Вас в стакане огромное кол-во котировок не кратных шагу цены.
импорт транзакций, Время исполнения
Пользователь
Сообщений: Регистрация: 29.07.2015
31.01.2019 02:21:13
Цитата
Алексей Смирнов написал: Здравствуйте. В каком случае время выполнения транзакции меньше: методом Trans2QuikAPI либо используя текстовые файлы .tri, .tro, trr?
У меня ассинронная отправка ордеров через Trans2QuikAPI, посылая первый приказ, ожидается ответ и по приходу ответа совершается вторая сделка. Интернет 100 Мб. Брокер - Открывашка Задержка между сделками - 250 - 300 мс (для сравнения , с этого же компьютера, в МТ5 - 7-8 мс)
Сценарий при TRANS2QUIK_DLL_DISCONNECTED
Пользователь
Сообщений: Регистрация: 29.07.2015
20.01.2019 08:56:26
Цитата
К сожалению сейчас нет полного описания возможных кодов ошибок pnExtendedErrorCode. ранее мы уже обсуждали эту проблему
А что из исходного кода Trans2quik.dll нельзя просто, ПОКА, скопировать существующие ошибки?
Сценарий при TRANS2QUIK_DLL_DISCONNECTED
Пользователь
Сообщений: Регистрация: 29.07.2015
20.01.2019 08:54:18
Вы, Павел, вероятно не ВСЁ читаете...
Вопрос не в том как коннектится, а что делать, если пришло RANS2QUIK_DLL_DISCONNECTED Я нашел, пока 2 ошибки 109 - терминал был закрыт 233 - запрещен импорт внешних транзакций
Сценарий при TRANS2QUIK_DLL_DISCONNECTED
Пользователь
Сообщений: Регистрация: 29.07.2015
13.01.2019 02:23:30
Принудительно закрыл терминал. В TRANS2QUIK_CONNECTION_STATUS_CALLBACK, TRANS2QUIK_DLL_DISCONNECTED пришла ошибка 109
Техническая поддержка. Каие варианты ещё возможны?
Сценарий при TRANS2QUIK_DLL_DISCONNECTED
Пользователь
Сообщений: Регистрация: 29.07.2015
12.01.2019 00:08:14
Добрый день! Использую DDE + trans2quik.dll Все нормально работает, но возник вопрос. Установив коллбэк TRANS2QUIK_SET_CONNECTION_STATUS_CALLBACK, возможно получить в TRANS2QUIK_CONNECTION_STATUS_CALLBACK следующие значения TRANS2QUIK_DLL_DISCONNECTED TRANS2QUIK_DLL_CONNECTED TRANS2QUIK_QUIK_DISCONNECTED TRANS2QUIK_QUIK_CONNECTED
А какие действия нужно предпринимать, получив эти сообщения? Н-р: TRANS2QUIK_DLL_DISCONNECTED - теряются ли коллбэки и другие настройки? И т.д... Какие сценарии возможны?
DDE и trans2quik.dll
Пользователь
Сообщений: Регистрация: 29.07.2015
18.12.2018 14:24:32
Добрый день!
А не у кого небыло такой ситуации:
Если данные просто выводятся из трёх таблиц (Фьючерсы, Акции и состояние счёта) по DDE, то всё ноормально (проверял 3 суток), НО, если отдаются торговые ассинхронные приказы через trans2quik.dll, то иногда, DDE приёмник "падает" "invalid pointer operation"
TRANS2QUIK_TRANSACTION_REPLY_CLASS_CODE
Пользователь
Сообщений: Регистрация: 29.07.2015
17.12.2018 12:12:52
Привет! Кто-нибудь пользовался этой функцией (trans2quik.dll) TRANS2QUIK_TRANSACTION_REPLY_CLASS_CODE ,
intptr_t
Пользователь
Сообщений: Регистрация: 29.07.2015
17.12.2018 11:52:09
Привет!
Как в Delphi объявить intptr_t ???
TRANS2QUIK_SUBSCRIBE_ORDERS ()
Пользователь
Сообщений: Регистрация: 29.07.2015
17.12.2018 11:12:46
В API есть такая строка LPTSTR TRANS2QUIK_API __stdcall TRANS2QUIK_TRANSACTION_REPLY_CLASS_CODE (TransactionReplyDescriptor tradeDescriptor);
tradeDescriptor - это ПРАВИЛЬНО?
TRANS2QUIK_SUBSCRIBE_ORDERS ()
Пользователь
Сообщений: Регистрация: 29.07.2015
17.12.2018 09:24:17
Квик и так еле "ползает", а тут еще нужно делать массивы по 52 инструментам и "бегать" по ним - очень высокая скорость работы получается!
Что мешает создать массив, в котором хранить номера уже полученных сделок и при появлении очередной записи сравнивать ее номер с тем который в массиве?
А что мешало Вам сделать это в trans2quik.dll?
TRANS2QUIK_SUBSCRIBE_ORDERS ()
Пользователь
Сообщений: Регистрация: 29.07.2015
15.12.2018 01:58:36
Добавлено Т.к собирается портфель акций, невозиожно использовать (чтобы уровнять "ноги") KILL_BALANCE или FILL_OR_KILL
TRANS2QUIK_SUBSCRIBE_ORDERS ()
Пользователь
Сообщений: Регистрация: 29.07.2015
15.12.2018 01:27:46
Цитата
Egor Zaytsev написал Добрый день. Можно различать по номеру сделки.
Нет, нельзя! Дело в том, что на Фондовом рынке нельзя посылать Рыночные ордера, а только Лимитные. И потому возникает следующая проблема (видел сам, делал логирование): Посылая лимитный ордер большого объема, он (очень часто) исполняется не сразу, а частями, совершая множество сделок.
И часто бывает, что в в TRANS2QUIK_TRADE_STATUS_CALLBACK приходят сообщения о ПЕРВОЙ сделке не сразу (подряд), а в разбежку. Н-р
1. Сообщение о ПЕРВОЙ сделке(номер сделки 101) 2. Сообщение о второй сделке(номер сделки 102) 3. Сообщение о второй сделке(номер сделки 102) 4. Сообщение о второй сделке(номер сделки 102) 5. Сообщение о ПЕРВОЙ сделке(номер сделки 101) 6. Сообщение о ТРЕТЬЕЙ сделке(номер сделки 103) 7. Сообщение о ПЕРВОЙ сделке(номер сделки 101)
Каким образом мониторить сделки в таком случае???
TRANS2QUIK_SUBSCRIBE_ORDERS ()
Пользователь
Сообщений: Регистрация: 29.07.2015
01.12.2018 00:02:59
Круто! (продолжение к TRANS2QUIK_TRADE_STATUS_CALLBACK)
Допустим я продал фьючерс, и покупаю акции на объём фьючерса, но в стакане аций нет нужного объёма для совершения одной сделки (Совкршаются 2 сделки с одинаковым объёмом).
Мне, в TRANS2QUIK_TRADE_STATUS_CALLBACK, придёт 6 сообщений! Как я буду различать в этих сообщениях две разные сделки?
TRANS2QUIK_SUBSCRIBE_ORDERS ()
Пользователь
Сообщений: Регистрация: 29.07.2015
30.11.2018 21:39:13
Спасибо
TRANS2QUIK_SUBSCRIBE_ORDERS ()
Пользователь
Сообщений: Регистрация: 29.07.2015
30.11.2018 05:33:26
Вообще-то, если какой-либо вопрос много раз поднимался, то обычно его закрепляют сверху раздела.
TRANS2QUIK_SUBSCRIBE_ORDERS ()
Пользователь
Сообщений: Регистрация: 29.07.2015
30.11.2018 02:01:38
Поиск по TRANS2QUIK_TRADE_STATUS_CALLBACK ничего не дал
TRANS2QUIK_SUBSCRIBE_ORDERS ()
Пользователь
Сообщений: Регистрация: 29.07.2015
29.11.2018 20:24:33
Спасибо! Будем ждать обновления.
Следующий вопрос: Почему, при совершении сделки, колбэк TRANS2QUIK_TRADE_STATUS_CALLBACK вызывается 3 раза?
Вывод по DDE таблицы [Состояние счёта]
Пользователь
Сообщений: Регистрация: 29.07.2015
28.11.2018 05:07:00
Добавить в таблицу [Состояние счёта] возможность добавление закреплённыж внизу значений (Н-р "свободно")
Ваш пример на Windows 7 prof x64 тоже не выдаёт ошибку!
В поле Class ввожу 123 и в поле Secs ввожу 123 , нажимаю Subscribe и нет никакой ошибки! Затем нажимаю Start и никакой ошибки тоже нет.
Экспорт по DDE таблицы [Состояние счёта]
Пользователь
Сообщений: Регистрация: 29.07.2015
27.11.2018 00:41:40
Добавлено. В подтверждении моих слов смторите это
Объёмы предложения и спроса в Доске опционов
Пользователь
Сообщений: Регистрация: 29.07.2015
27.11.2018 00:39:39
Прошло ТРИ ГОДА, а воз и еыек там...
Экспорт по DDE таблицы [Состояние счёта]
Пользователь
Сообщений: Регистрация: 29.07.2015
27.11.2018 00:34:52
Цитата
написал:
Хотя как понимаю, вам там не понравилось тоже.
А как может понравится, если всех разработчиков ВОВСЕ не интересует удобство КОНЕЧНЫХ пользователей? МТ хоть и удобный и быстрый, но там ПОЛНО своих косяков, и для каждой секции нужен отдельный терминал. Везде, и здесь и там, необходим "Танец с бубном"!
написал: Если знак "|" в добавлении классв не допускается, то как ввести только 2 класса?
Только по одному классу.
Спасибо, понятно. А почему функция TRANS2QUIK_SUBSCRIBE_ORDERS возвращает TRANS2QUIK_SUCCESS, при не правильных параметрах?
TRANS2QUIK_SUBSCRIBE_ORDERS ()
Пользователь
Сообщений: Регистрация: 29.07.2015
26.11.2018 18:07:57
Если знак "|" в добавлении классв не допускается, то как ввести только 2 класса?
Экспорт по DDE таблицы [Состояние счёта]
Пользователь
Сообщений: Регистрация: 29.07.2015
26.11.2018 16:27:55
Зоя! Ваша компания делает ВСЁ ВОЗМОЖНОЕ, чтобы Ваши пользователи не НОРМАЛЬНО пользовались Вашим продуктом, а получали проблемы! Если есть таблица "Состояние счёта", то в ней должны быть доступны все элементы для экспорта!!! Квик и так не очень быстро работает, а Вы делаете всё чтобы ещё больше усложнить конечным пользователям использование!
TRANS2QUIK_SUBSCRIBE_ORDERS ()
Пользователь
Сообщений: Регистрация: 29.07.2015
26.11.2018 16:24:05
Егор! Я спросил почему функция возвращает TRANS2QUIK_SUCCESS, при не правильных параметрах
TRANS2QUIK_SUBSCRIBE_ORDERS ()
Пользователь
Сообщений: Регистрация: 29.07.2015
26.11.2018 15:41:39
Почему при вызове с параметрами ("123") TRANS2QUIK_SUBSCRIBE_ORDERS (“123”, “123”); получаю результат TRANS2QUIK_SUCCESS ???
Экспорт по DDE таблицы [Состояние счёта]
Пользователь
Сообщений: Регистрация: 29.07.2015
26.11.2018 15:37:48
Цитата
Zoya Skvorcova написал: , добрый день. Итоговые параметры не выводятся по ДДЕ, Можем предложить либо зарегистрировать пожелание либо выводить параметр НаПокупкуНеМаржин из таблицы Клиентский портфель.
НаПокупкуНеМаржин соответствует итоговому параметру Свободно если речь про фондовый рынок.
Для срочного рынка соответствует значению параметра «План. чист. поз.» в таблице «Ограничения по клиентским счетам»
Добрый день! 1. Как на * (единый брокерский счет) счёте контролировать свободные средства? 2. Почему воодще нельзя создавать пользовательскую таблицу? 3. Пожелание: нужно создать таблицу, в которой будут отображаться все имеющиеся у клиента средства.
Экспорт по DDE таблицы [Состояние счёта]
Пользователь
Сообщений: Регистрация: 29.07.2015
26.11.2018 05:43:59
Как всегда! (картинка не загрузилась) Не только сам Quik мхом порос, но и сайт 1970 гг. Нужно вывести "Свободно"