Здравствуйте, Сергей Волошин. К сожалению, инверсии цвета при печати не предусмотрена в терминале QUIK. Рекомендуем выбирать более светлые и более темные цвета, чтобы явно была видна разница между свечами на распечатанном листе. Или, как вариант, задавать рост без заливки, а падение с заливкой вручную.
Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
Андрей написал: Цитата Александр Копяткевич написал:Вероятнее всего, Вы явно указываете значение цены. Попробуйте задать значение в секции PRICE равное 0.Да, у меня так и есть, в секции PRICE значение 0.
В таком случае, если в коде нет случайного подставления цены другой функцией, то ошибка явно биржевая и никак не связанна с ошибками в коде. В связи с этим рекомендуем Вам обратиться в техническую поддержку биржи с этим вопросом, так как заявку отвергает именно Торговая Система.
Насколько нам (пользователям) известно из ранних обсуждений на данном форуме, при подаче из терминала рыночной (["TYPE"] = "M") заявки на FORTS сервер QUIK должен автоматически посылать в шлюз эту заявку с одной из цен PRICEMIN/PRICEMAX текущей сессии соответственно. Или это всё-таки не так?
Все верно, но это работает только если задать в PRICE значение 0 или оставить его незаполненным. Если вводить ["TYPE"] = "M" и в PRICE любое число, отличное от 0, то заявка уйдет именно с той ценой, которая указана.
Дмитрий, мы попробовали у себя не на тестовой версии терминала. Столкнулись с такой же проблемой, что и Вы. Объясним на примере, который Вы видели у себя в файле *.tro
Цитата
Вот содержимое файла тро после импорта.
TRANS_ID=1;STATUS=0;TRANS_NAME="Снятие заявки по номеру"; DESCRIPTION="26.03.2019 10:43:15: Отправлена транзакция"; TRANS_ID=2;STATUS=0;TRANS_NAME="Ввод заявки"; DESCRIPTION="26.03.2019 10:43:15: Отправлена транзакция"; TRANS_ID=2;STATUS=6;TRANS_NAME="Ввод заявки"; DESCRIPTION="26.03.2019 10:43:16: Данный инструмент запрещен для операции шорт"; TRANS_ID=1;STATUS=3;TRANS_NAME="Снятие заявки по номеру"; DESCRIPTION="26.03.2019 10:43:16: (210) Снято заявок: 1. Снято количество: 4382. Нельзя снимать: 0."; ORDER_NUMBER=0;
Вы подаете две транзакции подряд, на снятие и выставление заявки. Но ответ по снятию заявки приходит позже, чем заявка успела зарегистрироваться, в связи с чем, в промежутке между снятием и выставлением заблокированные ранее средства не успели разблокироваться. Поэтому Вы получали ошибку "Данный инструмент запрещен для операции шорт". После этого, когда старая заявка уже была снята, средства разблокировались и Вы смогли выставить заявку без каких-либо проблем.
К сожалению, через *.tri файл выставить задержку на подачу заявки, чтобы она выставилась точно после того, как снимется старая, нельзя.
Касательно проблем с экспортом по ODBC - вероятнее всего сервер закрыл соединение по истечению таймаута (времени на отклик). Чтобы избежать этого, нужно в настройках вашего ODBC установить галочку на автоматическое восстановление соединения или увеличить значение на ожидание ответа.
Уточните еще, пожалуйста, включена ли у Вас настройка "Обновлять версию программы" (Система -> Настройки -> Основные настройки пункт "Программа")? Если нет, то включите ее и переподключитесь в терминале QUIK.
Так же, не могли бы Вы прислать скриншот окна "Получение файлов"?
Здравствуйте, Дмитрий. Выставить задержку нельзя. Такого функционала для импорта транзакций из файла нет.
Касательно рекомендаций по очищению файлов *.tro и *.trr Вы писали:
Цитата
Если нажать кнопку "очистить", то тогда исчезает файл tro - без него импорт вообще не идет. Что касается содержимого файла tro - то я вообще его удалял перед импортом, так как у меня номер транзакции отсчитывается с 1. То есть перед импортом файла tro нет, а появляется он только после импорта.
Тем не менее, я попробовал и создать файл пустой перед этим. Результат тот же.
Если нажать кнопку "Очистить", то удаляется путь до файла. Это не совсем то, что необходимо было выполнить. Так же, полностью удалять файл *.tro не нужно было. Попробуйте сначала выполнить импорт только транзакции на подачу заявки. Затем, очистите содержимое файла *.tro через блокнот, например. После того, как заявка будет активна в таблице заявок - попробуйте импортировать транзакции на ее снятие и выставление новой заявки.
Если не очищать файл *.tro, то импорт не выполняется. После очистки все работает так, как должно.
Здравствуйте, Роман. Уточните, пожалуйста, подключение выполняете к одному и тому же серверу с терминалов? Если нет, то вполне вероятно, что сервер, к которому Вы подключаетесь с Windows XP не выдает обновления.
В таком случае убедитесь, что у инструментов действительно прошла дата исполнения и их необходимо заменить. Так же, проверьте, какое значение выставлено в настройках терминала QUIK (Система -> Настройки -> Основные настройки) в пункте "Программа -> Замена инструментов". Просьба прислать скриншоты графиков и окна настроек "Замена инструментов" нам на quiksupport@arqatech.com. В письме, пожалуйста, укажите ссылку на эту ветку форума.
Попробуйте закрыть окна графиков и перезапустить терминал QUIK. После этого откройте окно "Инструменты с наступающим сроком погашения" (Система -> Заказ данных -> Замена инструментов) и, если инструменты там будут, выполните их замену с установленной настройкой "Склейка архивов графиков" в нижней части окна.
Попробуйте выполнить перезаказ данных. Для этого откройте окно перезаказа данных (Система -> Заказ данных -> Перезаказать данные) и установить галки напротив пунктов "Торговые данные текущей сессии" и "Локальные справочники".
Олег написал: В руководстве пользователя функция void __stdcall TRANS2QUIK_TRANSACTION_REPLY_CALLBACK(long nTransactionResult, long nTransactionExtendedErrorCode, long nTransactionReplyCode, DWORD dwTransId, insigned__int64 dOrderNum, LPSTR lpstrTransactionReplyMessage, intptr_t transReplyDescriptor) последним параметром имеет дескриптор.
В примерах для API_Tester_DLG.exe и в прототипе функции typedef void (__stdcall *TRANS2QUIK_TRANSACTION_REPLY_CALLBACK) (long nTransactionResult, long nTransactionExtendedErrorCode, long nTransactionReplyCode, DWORD dwTransId, double dOrderNum, LPCSTR lpcstrTransactionReplyMessage); из trans2quik_api.h параметр дескриптора отсутствует.
Как получить этот дескриптор для доступа к вызову специальных функций в теле функции обратного вызова?
Цитата
Цитата
Олег написал: Каков формат возвращаемых значений для функций: long __stdcall TRANS2QUIK_ORDER_EXTENDED_FLAGS (intptr_t nOrderDescriptor) – возвращает расширенные флаги заявки; long __stdcall TRANS2QUIK_ORDER_EXEC_TYPE (intptr_t nOrderDescriptor) – возвращает тип исполнения заявки; «0» – значение не задано;
Функции возвращают обычное десятичное число, которое если преобразовать в двоичный вид, каждое число (0 или 1) которого будет что-то означать. Из максимального long значимы только первые 1023, остальные, если и есть, означают служебную информацию.
Так что означают конкретные флаги (0 или 1) в этом двоичном коде для обоих функций?
Цитата
Цитата
Олег написал: long TRANS2QUIK_API __stdcall TRANS2QUIK_START_TRADES(TRANS2QUIK_TRADE_STATUS_CALLBACK pfnTradeStatusCallback); (для этой функции в описании написано void, а в примере long)
В данном конкретном случае, никакой разницы нет.
Соответствуют ли возвращаемые значения пункту 6.12.3 ( Константы) из руководства пользователя?
Здравствуйте. Описанная в данном инциденте ошибка была исправлена в версии 7.27.2 терминала QUIK. Приносим извинения за причиненные неудобства.
Sergey Gorokhov написал: Приведите пример команды со всеми параметрами, которая работает не правильно.
Все стандартно в соответствии с инструкцией - getPortfolioInfo (firm_id, client_code) где firm_id и client_code взял из теминала, допустим firm_id ="NC0011100000" client_code="10804" причем сам getPortfolioInfo (firm_id, client_code) возвращает таблицу но она пустая - при обращении к любому полю, например getPortfolioInfo (frmid, cli_cod).all_assets getPortfolioInfo (frmid, cli_cod).total_money_bal
эти поля возвращаются как nil, на демо счетах других брокеров все в точно таком же исполнении работает нормально, поля возвращаются с текущими значениями, не nil, проблема похоже на вашей стороне
Здравствуйте.
Описанная в данном инциденте ошибка была исправлена в версии 7.27.2 терминала QUIK. Приносим извинения за причиненные неудобства.
Русский написал: Давайте по-новой. 1. Почему параметр "Заблокировано" отображает только лоты, заблокированные на продажу, когда по логике и по Руководству он должен отображать ВСЕ заблокированные лоты, и на покупку, и на продажу? 2. Из изображения: Текущая позиция минус 20 лотов На закрытие позиции выставлены заявки, на все 20 лотов. Доступно минус 20 лотов, как и до выставления заявок. Но я же заблокировал все 20 лотов, откуда у мня доступно ещё 20. По Вашему, ошибки нет.
По-правильному, в этом случае должно быть так: Заблокировано = 20 лотов Доступно = 0. Какую ещё информацию нужно, и как ещё объяснить, я уже не знаю.
Здравствуйте. Описанная в данном инциденте ошибка была исправлена в версии 7.27.2 терминала QUIK. Приносим извинения за причиненные неудобства.
Попробуйте очистить содержимое файлов с расширениями *.tro и *.trr и снова запустить импорт. У себя попробовали и столкнулись с описанной Вами проблемой, но после очистки все сработало (заявка снялась и выставилась новая).
Здравствуйте. Можем порекомендовать скачать актуальную версию 7.27.2 по ссылке ftp://ftp.quik.ru/public/updates/7.27/quik_7.27.2_upd.zip После того, как скачаете архив, разархивируйте его и скопируйте содержимое папки в папку, куда установлен терминал с заменой всех файлов. Таким образом терминал обновится до новой версии и проблема пропадет.
Мы рассмотрели Ваше пожелание. По итогам его анализа сообщаем Вам, что реализация пожелания признана потенциально целесообразной. Если по результатам дальнейшего анализа, включающего юридические аспекты, анализ на непротиворечивость с общей политикой компании, никаких возражений не возникнет, мы постараемся включить Ваше пожелание в план доработок при выпуске одной из следующих версий нашего ПО.
Здравствуйте, Алексей. Мы рассмотрели Ваше пожелание. По итогам его анализа сообщаем Вам, что реализация пожелания признана потенциально целесообразной. Если по результатам дальнейшего анализа, включающего юридические аспекты, анализ на непротиворечивость с общей политикой компании, никаких возражений не возникнет, мы постараемся включить Ваше пожелание в план доработок при выпуске одной из следующих версий нашего ПО.
Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
Здравствуйте, Павел Bosco. Уточните, пожалуйста, Вы хотите, чтобы фильтр инструментов при замене инструментов отключался или именно менялся? Если менялся, то расскажите подробнее, как именно фильтр должен меняться?
Здравствуйте, Sergey Denegin. Как таковой настройки на сохранение истории графиков нет. В терминале QUIK максимально отображаются 3 тысячи свечей, а хранится максимум 65 тысяч.
Уточните, пожалуйста, на втором терминале (на котором история сохранилась за 4 месяца) Вы постоянно держали график открытым? Когда график открыт он постоянно сохраняет данные при обновлении. Так же, уточните, пожалуйста, подключаются ли терминалы к одному и тому же серверу брокера или каждый к отдельному?
Здравствуйте, sandyman. Сразу ответить, почему так происходит мы, к сожалению, не можем. Давайте сделаем следующее: 1. Добавьте новый шаблон и закройте терминал. 2. Сделайте архив терминала и сохраните его. 3. Когда шаблон пропадет, создайте еще один архив (назовем его проблемным). 4. Отправьте нам оба архива на quiksupport@arqatech.com
Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
К сожалению, скопировать значение с графика нельзя. Можно, нажав на свечу на графике правой кнопкой мыши сохранить данные в файл и найти необходимые значение в файле, как вариант. Так же, можем зарегистрировать пожелание, чтобы эту возможность добавили. Регистрируем?
Нужно было проверить, правильно ли Вы заполняете поля формы. Заполняете Вы все верно, но в чем ошибка - не ясно.
Попробуйте заполнить форму так, как сделано на скриншоте во вложении. То есть, создайте новый файл excel с именем "Лист". После этого, откройте форму "Вывод через DDE сервер" и заполните ее. Обязательно выставите настройку "Запускать приложение DDE сервера автоматически". Откройте файл Лист.xlsx и запустите вывод через DDE сервер. Поле "Лист" в форме можно заполнить произвольно. После сообщите нам о результате. Если ошибка все равно будет появляться, то нужно будет прислать архив папки с терминалом QUIK без ключей нам на quiksupport@arqatech.com с ссылкой на эту ветку форума.
Пришлите, пожалуйста, скриншот формы "Вывод через DDE сервер" когда Вы уже выполните все действия и останется только нажать кнопку "Начать вывод". Возможно, Вы не совсем верно ее заполняете.
Уточните, пожалуйста, если не заполнять поля и выставить настройку "Запускать приложение DDE сервера автоматически", то при нажатии на кнопку "Начать вывод" ошибка тоже появляется?
Попробуйте выполнить следующие действия: 1. Если Вы уже создали файл Excel, то запустите этот файл.
2. Укажите путь до Excel файла в окне "Вывод через DDE сервер". 3. Сотрите все символы, за исключением самого имени файла. В поле "Лист" укажите название листа в файле (в Вашем случае "Таблица сделок", но предварительно убедитесь, что имя листа такое и есть)
Здравствуйте, Анатолий. К сожалению, в данной реализации можно получить только параметры Стоимость портфеля, Мин.маржа и Нач.маржа, и по ним уже рассчитать УДС. Да, в функции getPortfolioInfo эти параметры получить нельзя. Однако, можно их получить, используя функцию getPortfolioInfoEx. Рекомендуем использовать именно getPortfolioInfoEx.
Да, несомненно выставляемые пользователем фильтры тоже влияют на поток принимаемых данных. Настройкой "Меню - Заказ данных - Поток котировок - Фильтр классов/Фильтр инструментов/Фильтр параметров" Вы можете самостоятельно ограничить поток данных. Но, по умолчанию пользователь получает новые значения по тем инструментам и их параметрам, которые отображаются в открытых пользователем таблицах программы, а также по всем инструментам, по которым заданы лимиты. С графиками все несколько иначе. Ограничение диапазона влияет только на отображение данных в графике. Сам поток данных не изменяется этой настройкой. Возьмем, например, график цены и объема. Если изначально диапазон данных не ограничен и Вы отключитесь от сервера, то диапазон можно изменять, так как данные обезличенных сделок уже были получены.
Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
Здравствуйте, Алексей. Касательно проблемы с положением окна менеджера окон поверх остальных приложений зарегистрировали пожелание на возможность его сворачивать. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО. Касательно проблемы с позиционированием клика мыши - пришлите, пожалуйста, короткое видео, на котором видно этот эффект.
Данные поступают в терминал пользователя следующим образом - существует несколько потоков данных (например, поток обезличенных сделок или поток данных по текущим торгам). Следовательно, в соответствии с конкретным потоком, формируются данные, поступающие на сервер брокера. На сервере происходит фильтрация по правам пользователей, чтобы один пользователь, например, не получал данные другого.
После этого, данные с сервера поступают в терминал пользователя.
Однако, следует отметить, что поток обезличенных сделок фильтруется по классам, на которые у пользователя есть права (например, если есть права на фондовый рынок, но нет на срочный, то пользователь будет видеть обезличенные сделки только по фондовому рынку).
Здравствуйте, Андрей. Попробуйте открыть окно редактирования таблицы и выставить настройку "Лучшие котировки видны всегда". После этого, независимо от размера окна, строки располагаются таким образом, чтобы лучшая цена покупки и продажи были видимыми.
Александр Копяткевич написал: по обезличенным сделкам и по ним строятся графики цены и объема (формируются в формате *.dat).
Спасибо за ответ, поясните еще пожалуйста по обезличенным сделкам деление на таблицы в разрезе инструментов и периодов где выполняется, на бирже, у брокера или у пользователя в терминале?
Уточните, пожалуйста, речь идет о том, как строится таблица обезличенных сделок? Или мы не верно Вас поняли?
Не совсем понятно, что вы подразумеваете под фразой " деление на таблицы в разрезе инструментов и периодов".
Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
Здравствуйте, Андрей. Вы все поняли верно, из Торговой системы на сервер брокера поступают данные по обезличенным сделкам и по ним строятся графики цены и объема (формируются в формате *.dat). Далее, эти же данные транслируются в терминал пользователя. Обновляются данные несколько раз в секунду.