Просьба уточнить - по-прежнему ли актуальна данная проблема, а также в чём именно она проявляется, по каким данным/таблицам смотрите, какие классы/инструменты?
Если возможно - просьба предоставить снимок экрана рабочего места, если по нему удастся продемонстрировать суть проблемы. Также просьба уточнить - не обращались ли Вы в поддержку Вашего брокера с данным вопросом, прокомментировали ли там как-либо данную ситуацию?
Судя по Вашему описанию - причина почти наверняка в файле info.wnd. Вы случайно не используете один и тот же файл настроек info.wnd для двух разных QUIK? Если так - то Важно, чтобы версии рабочих мест при этом были одинаковыми. В противном случае - Вы неизбежно придёте к ситуации, когда в более старое рабочее место будет загружаться info.wnd, модифицированный более новым QUIK, что зачастую приводит к различным недокументированным особенностям вплоть до невозможности использовать *.wnd на более старых версиях QUIK в силу отсутствия прямой совместимости версий. Независимо от этого - предлагаем отказаться от использования проблемного файла info.wnd и либо всё же найти рабочую резервную копию в папке WNDSAV, либо использовать rezerv.wnd, либо выполнить полную повторную настройку чистого файла info.wnd. При дальнейшем использовании файла настроек - предлагаем иметь ввиду комментарий Выше, и следить, чтобы оба рабочих места, использующих общий файл настроек и модифицирующих его - были одной версии.
Оповещение появляются потому что выполняются условия оповещений, которые Вы установили. Ознакомиться со всеми Вашими текущими активными оповещениями Вы можете в окне оповещений в рабочем месте QUIK и при необходимости - отключить ненужные. Если же сами оповещения представляют для Вас интерес, но Вы не хотели бы чтобы появлялось отдельное окно - то в настройках выберите какую-либо другую опцию для индикации о выполнении условия, например - "мигать в панели задач". Сейчас у Вас выбрано "Показывать уведомление" и именно она отвечает за появление окна, показанного она снимке экрана. Если Вам ненужны активные оповещения предыдущих торговых дней - отключите опцию "Переносить активные оповещения на следующий день".
Это штатное отображение времени на графике в том случае, если в период между 9:50 (начало аукциона открытия) и 10:00 имели место какие-либо сделки, по которым строится график. Т.е. реально, между отметкой 9h и 11h вмещён не двухчасовой временной период, а 1 час и 10 минут, от 9:50 до 10:59. В зависимости от используемых интервалов и масштаба времени графика - для отображения отметки в 10h может просто не хватать места и в этом случае она не отображается. Соответственно, если 9h не отображается для какого-либо инструмента, а 10h отображается - это означает, что в период с 9:50 до 9:59 не было сделок, а после 10 - они появились.
Позиция по USDRUB_TOM добавится в таблицу "Состояние счёта" после того, как вы её откроете и будет доступна для lua-скрипта. Закрытая позиция также будет отображаться и переноситься из сессии в сессию. Если бы Вам хотелось исключить отображение закрытых/не нужных позиций в таблице "Состояние счёта" - Вы можете переключиться из "Все позиции" в "Открытые" в верхнем меню таблицу или настроить фильтр по названию инструмента, например.
Сохранять настройки (*.wnd), а также вкладки (*.tab) в более новой версии рабочего места QUIK и загружать их в версии старее - некорректно, т.к. рабочее место QUIK и его обновления реализованы таким образом, что более новое рабочее место может корректно загрузить настройки предыдущих версий (обратная совместимость поддержана), а рабочее место предыдущих версий далеко не всегда могут корректно загрузить настройки, сделанный в более новой версии (т.н. прямая совместимость не поддержана).
Соответственно, сохраняя вкладку в версии 8.5 - вполне закономерно то, что рабочему месту 8.4 не удаётся её загрузить. Переносить настройки и вкладки рекомендуется либо между рабочими местами одинаковой версии, либо с более старых версий на новые.
Сделайте настройки/вкладки в рабочем месте 8.4 и загрузите их в терминал версии 8.5.
Правильно понимаем, что под "окно скрипта" - имеется ввиду таблица в рабочем месте, которая строится при помощи lua-скрипта? Если так - то просьба уточнить, каким именно образом отслеживаете/задаёт время обновления, каким образом выполняете обновление таблицы? Если возможно - просьба привести минимальный и достаточный для воспроизведения фрагмент скрипта, который бы позволял эффективно воспроизвести описываемое поведение.
Правильно понимаем, что имеете ввиду одновременное, синхронное выставление идентичных заявок с двух разных счетов? Если так, то какого-то штатного и интуитивно понятного функционала для решения данной задачи в рабочем месте, к сожалению, не предусмотрено.
Тем не менее, задачу можно решить, например открыв две таблицы котировок (стакана), для каждого стакана добавить и настроить панель торговли, указав разные счета, но одинаковые параметры. Дальнейшее выставление заявок возможно из настроенной панели торговли. Вы можете ознакомиться с данным функционалом в руководстве пользователя рабочего места QUIK / Раздел 5. Торговые операции клиента / Управление заявками из таблицы котировок / Панель торговли. Дополнительно, если данный функционал интересен, при необходимости - можем проконсультировать по его настройкам.
Здесь же, можно настроить комбинации горячих клавиш (Система / Настройки / Редактор горячих клавиш) на выставление лимитированных или рыночных заявок с параметрами, указанными в настроенной панели торговли конкретного стакана. также Вы можете настроить быстрый ввод/снятие заявок в стакане (в окне редактирования стакана - "Быстрый ввод/снятие заявки") - в этом случае, аналогично случаю выше - при нажатии по котировкам - будут выставляться лимитированные заявки с ценой котировки по счёту и на количество бумаг, указанные в панели торговли.
Другой вариант - использование заранее подготовленных транзакций, с уже заполненными параметрами. Для этого Вы можете использовать, например, таблицу "Карман транзакций". В эту таблицу Вы можете сохранить шаблоны транзакций, которые хотите в будущем оперативно выставить в торговую систему. При необходимости - Вы можете скорректировать их параметры, или разом "достать" из кармана некоторое количество транзакций не внося в них каких-либо изменений.
Другие, более мощные инструменты для решения Вашей задачи - это импорт транзакций из *.tri-файлов, которые аналогично карману транзакций содержат в себе заранее подготовленные Вами заявки, или использование скриптов на LUA или QPILE. Также есть возможность экспорта при помощи TRANS2QUIK API, но полагаем, эти варианты представляют для Вас наименьший интерес.
Уведомление о необходимости обновления торговых терминалов в связи с изменениями на срочном рынке Московской биржи, Список проблем при работе устаревших версий QUIK после обновления торговой системы срочного рынка МБ
Наиболее вероятно, в ходе обновления были переопределены некоторое настройки получения и сохранения данных в рабочим месте, что приводит к повышенной нагрузке и потере производительности РМ при открытии формы ввода заявки. Предлагаем проверить следующие следующие настройки рабочего места, и при необходимости - скорректировать их в соответствии с рекомендациями. 1. Система/Настройки/Основные настройки/Программа/Получение данных: включить опцию "Исходя из настроек, открытых пользователем таблиц", установить период обновления данных хотя бы на 1 секунду. 2. Система/Настройки/Основные настройки/Программа/Сохранение данных: отключить опцию "Получать пропущенные данные" или включить опцию "Только данные, отражающие текущее состояние". 3. Система/Настройки/Основные настройки/Торговля/Клиентский портфель: включить опцию "Обновлять через" 20-30 секунду, и "Расчёт в фоне". Опцию "Пересчитывать при изменении позиций" - отключить. 4. После применения настроек необходимо выполнить перезаказ данных в пункте меню Система/Заказ данных/Перезаказать данные - выберите только "Торговые данные текущей сессии". Рабочее место будет перезагружено, необходимо будет подключиться и проверить производительность программы.
Если же предложенные рекомендации не дадут результата, то наиболее вероятно, причина зависаний кроется в привнесённой в файл настроек (info.wnd) ошибке. В этом случае - предлагаем попробовать загрузить какой-либо иной файл настроек из подкаталога WNDSAV. Сделать это можно через пункт меню Система/Загрузить настройки из файла.
Наиболее вероятно, это связано с тем, что в рабочем месте отсутствуют необходимые данные по классам и инструментам срочного рынка. Попробуйте выполнить перезаказ данных в рабочем месте - Система / Заказ данных / Перезаказать данные, укажите "Торговые данные текущей сессии" и "локальные справочники", предварительно проверив доступность классов в пункте меню Система / Заказ данных / Поток котировок. Если в этом пункте не будет классов срочного рынка (фьючерсы, опционы) - необходимо обратиться к Вашему брокеру и уточнить по какой причине классы для Вас недоступны.
Запуск рабочего места с ключом "-clear" эквивалентен выполнению операции Система/Заказ данных/Перезаказать данные с выбором только "Торговые данные текущей сессии". При этом данные архивов графиков для построения исторических графиков прошлых торговых сессий не очищаются и остаются в рабочем месте.
Максим написал: Выбираем бар/цену на графике (если я на графике Сбербанка, то логично, что выбор эмитента в окне быстрого совершения сделки мне уже не понадобится)
В поле указания инструмента на форме ввода заявки автоматически подставляется тот инструмент, по свечке графика которого Вы вызвали форму ввода, т.е. в этом случае отдельно указывать инструмент нет необходимости, однако в случае, если потребуется ввести заявку по другому инструменту - Вы сможете его изменить в данном поле.
Цитата
Максим написал: Затем выставляем счет (хотя и это поле можно выводить по клику ПРОнастроек окна быстрого ввода парметров сделки)
В общем случае, счёт подставляется автоматически из списка доступных и соответствующих данному режиму торгов, и отдельно редактировать его необходимости нет, но в случае необходимости - его можно изменить. Однако, если Вас интересует какая-либо более гибкая автоматика и логика подстановки торгового счёта в разрезе классов/инструментов/направлении типа заявки - Вы можете настроить автозаполнение полей формы ввода заявки (см. Руководство пользователя рабочего места QUIK / Раздел 5. Торговые операции клиента / Настройка параметров инструментов / Настройка автозаполнения полей ввода заявки).
Цитата
Максим написал: Выбора временного диапазона нет до тех пор, пока не будет сделан выбор в пользу исполнения лимитных заявок, например.
В общем случае, для лимитированных заявок не предусмотрен перенос между торговыми сессиями, и поэтому нет возможности указать срок/дату действия (исключение - срочный рынок МБ). Для стоп-заявок же такая возможность есть. Поэтому настройки срока действия заявки появляются если: 1) вводится лимитированная заявка на срочном рынке 2) вводится условная заявка. В остальных случая - срок действия не появляется, т.к. данный параметр не имеет смысла.
Цитата
Максим написал: Затем отображаются кнопки buy/sell с динамическим отображением текущей цены.
Можем зарегистрировать Ваше пожелание на отображение текущей цены инструмента / цены лучших котировок на покупку и продажу в форме ввода. Регистрируем?
Цитата
Максим написал: Кликаем по кнопке - загорается выбор: исполнить по рынку и ок, либо выбор лимитной заявки.
Вы можете указать признак "рыночная", который отключит возможность указать цену, в противном случае - можно указать цену, выставить лимитированную заявку.
Цитата
Максим написал: Если покупка по цене выше - автоматический выбор buy stop. Если ниже - buy limit.
Если речь идёт о лимитированных заявках - то они в любом случае будут исполнены по цене "не хуже" указанной Вами цены. Если же сравниваете цену заявки и текущую цену инструмента - то просьба пояснить, что должно происходить в зависимости от выбора "buy stop", "buy limit" - в чём разница? Если подразумевается ввод условной заявки - то вопрос, не подходит ли здесь использование связанной стоп-заявки? Если нет - то почему? Просьба эти моменты описать подробнее.
Цитата
Максим написал: Далее, идет выбор SL и TP, которые могут выставляться автоматически вместе с покупкой или продажей. Стоп-лосс выставляем либо в процентах, либо по цене/пунткам.
Если Вам необходимо иметь возможность выставить лимитированную заявку в зависимости от выполнения условия "тейк-профит" или "стоп-лимит" - то Вы можете либо отдельно выставить такую стоп-заявку, либо выставить стоп-заявку по исполнению лимитированной заявки. Если же Вам необходимо выставить стоп-заявку вместе с лимитированной - Вы можете выставить связанную стоп-заявку, которая позволит минимизировать убытки. Тейк-профит здесь не имеет смысла, т.к. в случае исполнения связанной лимитированной заявки - исполнение в любом случае пройдёт по цене "не хуже" указанной. Касательно выбора цены стоп-лимит в виде отступов цены ( от чего? ) в процентах/пунктах или в абсолютном значении цены отклонения - можем зарегистрировать пожелание. Регистрируем?
Цитата
Максим написал: Добавить возможность совершить сделку предварительно без тейк-профита, чтобы позволить успеть купить/продать по нужной цене. Затем предоставить выбор постановки тейк-профита.
У Вас уже имеется эта возможность - Вы можете выставить отдельно биржевую заявку и условную заявку, или связанную заявку, или стоп-заявку по исполнению.
Цитата
Максим написал: графическое отображение в стакане, например, или на графике
Визуальное отображение выставленной заявки в таблице котировок может быть настроено в окне редактирования таблицы котировок опцией "Выделять свои заявки". Аналогичным образом - может быть настроено отображение уровней заявок и стоп-заявок в окне графика.
Цитата
Максим написал: Пожалуйста, расположите логически и визуально элементы совершения сделки в окошке! Человек, совершая сделку, должен думать о величине стоп-лосса и цене покупки в первую очередь, а не о том, как не перепутать окна для ввода информации. Составил схематически свое представление данного окна подручными средствами.
В текущей реализации, положение полей для ввода параметров заявки расположено в соответствии с представленной Вами логикой. В остальном, суть Вашего пожелания, на сколько пониманием, состоит в том, чтобы автоматически дополнять окно формы ввода заявки, в зависимости от ранее введённых параметров, а также в том, чтобы объединить ввод биржевых и условных заявок в одной "динамической форме ввода". Можем зарегистрировать Ваше пожелание для дальнейшего рассмотрения. Предварительно, просьба предварительно ознакомиться с озвученными возможностями рабочего места и сообщить - почему они Вам не подходят в текущей реализации.
Вероятно, в результате обновления были переопределены некоторые настройки отображения формы ввода заявок и стоп-заявок. Наиболее вероятно, это обусловлено тем, какие именно фалы обновления предоставил Вам брокер, и которые Вы скачали при обновлении (вероятно, среди файлов обновления шёл также другой файл настроек info.ini, который хранит данные настройки, и который переопределил Ваши прежние настройки). Для использования более функциональной формы ввода стоп-заявки пройдите в пункт меню Система/Настройки/Основные настройки/Торговля/Заявки/Формы ввода и отключите опцию "Применять стандартные формы ввода".
Касательно "сброшенных" заявок - просьба уточнить, имеются ввиду именно обычные, лимитированные заявки, и под "сбросились" - имеется ввиду то, что они пропали из таблицы заявок? Если так, то, если заявки были выставлены на фондовом рынке МБ - то это нормальная ситуация: лимитированные заявки существуют только в пределах одной торговой сессии и не переносятся на следующую торговую сессию. Сама же система QUIK - внутридневная, и отображает данные по заявкам за текущую торговую сессию, соответственно, заявки за предыдущие торговые сессии посмотреть нельзя. Если речь идёт о стоп-заявках - то необходимо проверить их срок действия (например, через отчёт по транзакциям, запрошенный у брокера). Вероятно, их срок был ограничен прошлой торговой сессией. Если же это не так, то необходимо обратиться к брокеру и уточнить возможные причины снятия стоп-заявок.
По умолчанию, в режиме быстрого ввода заявки - берётся цена котировки, кликом по которой Вы инициировали выставление заявки в режиме быстрого ввода заявки. В этом случае, явным образом задать "другую" цену нельзя. Однако, по аналогии с "быстрым объёмом" - Вы можете использовать настроенные отступы цены, для выставления от цены котировки. Настроить отступы Вы также можете в окне редактирования таблицы котировок. Использование того, или иного отступа по умолчанию происходит по комбинациям горячих клавиш: «Alt»+«Z» - «Отступ 1» «Alt»+«X» - «Отступ 2» «Alt»+«C» - «Отступ 3» «Alt»+«V» - «Отступ 4» и при необходимости переназначить их в окне редактирования горячих клавиш (Система / Настройки / Редактор горячих клавиш).
Ответили Вам 28.05, проверьте, пожалуйста, наличие письма. Оно могло по ошибке попасть в папку "Спам". Просьба выполнить инструкции из письма и сообщить результат в ответном письме.
Тема письма такая: "Не идет импорт в WL" также в названии переписки в скобках указан номер CQ Вашего обращения.
Для выставления условной заявки с проверкой условий стоп-лимит и тейк-профит, относительно имеющейся открытой позиции – Вы можете воспользоваться функционалом модуля алгоритмической торговли и предоставляемыми им стоп-заявками, которые работают именно с позицией, а не как отдельный вид заявок. Возможность использовать данный модуль предлагаем уточнить у Вашего брокера. Ознакомиться с функционалом данного модуля Вы можете на нашем учебном сервере QUIK Junior.
Тем не менее, работа с алгоритмическими стоп-заявками не позволяет управления позицией и самими стоп-заявками из окна графика. Правильно понимаем, что Вы хотели бы иметь возможность вводить и изменять условную стоп-заявку из окна графика путём «выделения и перемещения» уровня Вашей позиции по инструменту на графике? Если так, то можем зарегистрировать Ваше пожелание. В этом случае, для его дальнейшего рассмотрения - просьба подробнее описать как по-Вашему должны определяться параметры вводимой стоп-заявки в зависимости от того, или иного перемещения уровня.
Вы привели пример в контексте обсуждения предполагаемой ошибки в обработке и проверке выполнения условия тейк-профит и формирования цены выставляемой лимитированной заявки. По этой причине – мы позволили себе дополнительно описать алгоритм работы тейк-профит заявок, из которого следует, что в Вашем случае – ошибки нет.
Нам жаль, что Вы понесли убытки в результате срабатывания тейк-профита в Вашем примере, однако хотели бы отметить, что со своей стороны неоднократно отмечали: тейк-профит, хоть и предназначен для фиксации прибыли – не гарантирует защиты от неверного прогноза и может привести к убыткам. Поэтому Вам необходимо, на основании понимания того, как работает тейк-профит – самостоятельно оценивать и принимать возможные риски, которые несёт тейк-профит, либо решать задачу фиксации прибыли каким-либо иным способом.
Независимо от данных рассуждений – Ваше пожелание уже было зарегистрировано. На момент подготовки данного ответа информации о возможных сроках реализации Вашего пожелания пока что нет.
shr540i написал: 1. Обработка тейк-профита на покупку и продажу разная ПОТОМУ что мы ее реализовали по РАЗНОМУ. И по вашему это все объясняет.Люди же вам говорят что логика обработки ДОЛЖНА быть одинаковой потому что никакой ФИЛОСОФСКОЙ разницы между продажей и покупкой НЕТ!!!
Это отвечает на вопрос «почему тейк-профит в одну сторону формирует цену лимитированной заявки так, а в другую сторону – иначе». Да, сейчас алгоритм работы тейк-профита и расчёта цен лимитированных заявок реализован таким образом, что в разные стороны цена лимитированной заявки рассчитывается по-разному. Сейчас, к сожалению, несколько затруднительно корректным образом сформулировать ту логику, которой руководствовались при реализации тейк-профита, однако едва ли понимание этой логики сейчас позволит существенным образом исправить ситуацию.
Цитата
shr540i написал: 2. Ошибк в обработке тейк-профитов НЕТ, потому что вы посмотрели как алгоритм их должен обрабатывать, и о ЧУДО именно как закодили он и обрабатывает.Делаем вывод -> ошибки нет, а если и есть нестыковки то цитирую "В ближайшем обновлении инструкции данная неточность будет устранена.". То есть опять таки удобная позици, ошибок в реализации не бывают, бывают ошибки в инструкции.
Безусловно, никто не застрахован от ошибок в реализации в ПО, но конкретно в рамках данного обсуждения мы имеем место с ситуацией, когда функционал отрабатывает корректно, но не вполне корректно описан в публичной документации, что в настоящий момент исправляется. При этом, эта ситуация существенно отличается от сценария, в котором функционал работает не так, как Вам хотелось бы, или ожидалось из каких-либо прочих соображений. В этом вопросе мы идём Вам на встречу, Ваше пожелание о том, как, по-Вашему, должен работать тейк-профит мы приняли к сведению и зарегистрировали для дальнейшего рассмотрения.
Справедливости ради, в этой же теме пользователь "Иван" демонстрирует ситуацию, в которой тейк-профит сработал явным образом некорректно. Со своей стороны мы готовы изучить и устранить причины такого поведения. Однако, как было ранее отмечено, проблема имеет плавающий характер и для эффективной диагностики нужны актуальные технические данные сервера брокера в день повторного наблюдения ошибки.
Конструктивно сейчас – знать и понимать, что для разных направлений тейк-профит по-разному формирует цену лимитированной заявки, и иметь это ввиду при принятии решения о необходимости использования тейк-профита, выборе его параметров, а также о возможных рисках его использования и при необходимости – решать задачу фиксации прибыли каким-либо иным образом.
Игнорировать же фактическое положение вещей и пренебрегать соответствующими руководствами и инструкциями, в которых мы стараемся донести возможности текущего функционала и особенности его работы, и при этом требовать его переработки, исправления «ошибок», получая не то, что безосновательно ожидается – выглядит куда менее конструктивно.
Со стороны службы технической поддержки – обязуемся соответствующим образом скорректировать соответствующие инструкции, чтобы у пользователя была возможность сформировать корректное представление о том, как работают те, или иные функции в QUIK и в частности – условные заявки с условием «тейк-профит».
shr540i написал: Объясните пожалуйста почему для двух абсолютно зеркальных операций (надеюсь вы понимаете что с точки зрения математики тейк-профит на покупку и продажу абсолютно эквивалентны, только знак разный),работает разная логика?
Назначение тейк-профит состоит в фиксации прибыли. С точки зрения торговли, фиксация прибыли путём продажи по тейк-профит ранее купленного актива, и покупки по тейк-профит ранее проданного - разные ситуации, поэтому и алгоритмы формирования цены лимитированной заявки разные.
Цитата
shr540i написал: В изначальном вашем посте вы писали просто о тейк-профите, то что на покупку и продажу они работают по разному это какая-то новая вводная.
В изначальном посте у пользователя был вопрос по тейк-профиту на покупку, и во всех ответах явно было указано, что речь идёт о тейк-профите на покупку.
shr540i написал: при достижении цены тейк-профита включается алгоритм определения локального минимума когда минимум достигнут, мониторятся все сделки на предмет отскока (сделка по цене выше локального минимума + отступ) если такая сделка состоялась выставляется заявка по цене = цена локального минимума + отступ + спред
Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
Александр, Касательно Вашей ситуации, комментарий следующий. 26.05 Вы выставили тейк-профит на продажу Macy's, Inc. (код инструмента "M") с ценой тейк-профит 5.36, отступом 0.01 и спредом 0.01 в 9:58:31. Тейк-профит проверяет выполнение условий и расчёт по обезличенным сделкам, а не по данным таблицы текущих торгов, которую Вы, по всей видимости, демонстрируете на снимках экрана. За указанную дату с момента выставления тейк-профита прошли сделки по следующим ценам:
10:00:05.048000 - 5.40 - больше цены тейк-профит, ТП активируется и начинает отслеживать изменение цены, в качестве локального максимума выбрана цена этой сделки, пока не будет цены больше. 10:00:05.783000 - 5.28 - цена меньше локального максимума на величину больше отступа, выставить лимитированную заявку по цене = цена последней сделки, пробившей отступ минус защитный спред, т.е. 5.28 - 0.01 = 5.27 10:00:05.830000 - 5.26 10:00:05.845000 - 5.24 ...
Т.е. в данном случае - цена лимитированной заявки рассчитана корректно, в соответствии с текущим алгоритмом, который был озвучен ранее.
Вы можете сохранить параметры индикатора в шаблоне графика, и за тем использовать этот шаблон по умолчанию. При этом сам индикатор автоматически добавляться не будет, однако при его добавлении - к нему будут применены те параметры, которые указаны в шаблоне.
Для создания и дальнейшего использования своего шаблона откройте окно графика, добавьте и настройте параметры индикатора. Нажмите правой кнопкой мыши по окну графика и выберите Шаблоны/Сделать шаблоном. Сохраните шаблон, и за тем выберите "Брать шаблон по умолчанию."
Функция getParamEx2 для couponvalue возвращает число типа DOUBLE - десятичная дробь. Функция getSecurityInfo для couponvalue возвращает возвращает число типа NUMBER - целое число. Функция getSecurityInfo для scale указывает количество значимых разрядов после запятой для couponvalue для облигаций.
В Вашем примере Вы описываете тейк-профит на продажу, цена лимитированной заявки соответствует описанной выше логике.
В текущей реализации тейк-профит подразумевает возможность фиксировать предполагаемую прибыль в случае, если цена начала движение в лучшую сторону, и в случае её ухудшения - зафиксировать сформированную прибыль. При этом механизмов, которые бы ограничивали потенциальную прибыль - нет. Следствием этого является некоторая неопределённость цены лимитированной заявки. В этом смысле оснований для пересмотра принципов работы тейк-профита нет. Если Вам заранее известна цена, по которой хотите выставить заявку и заключить сделку - Вы можете воспользоваться лимитированными заявки, либо стоп-лимит заявками. Если Вас всё же интересует какой-либо другой алгоритм работы тейк-профит заявок - просьба сформулировать его для дальнейшего рассмотрения с нашей стороны в качестве пожелания.
Вы также можете реализовать собственные "условные заявки", которые бы проверяли ситуацию на рынке и выставляли бы лимитированные заявки с тем ценообразованием, которое Вас устраивает. Это возможно с использованием lua-скриптов, qpile-алгоритмов, а также API для импорта транзакций. Необходимую для этого справочную информацию Вы можете найти в разделе 6 руководства пользователя QUIK, а также в файловом архиве на нашем сайте.
Вместе с этим, независимо от того, как именно будет реализован тот, или иной алгоритм, позволяющий автоматически совершать торговые операции - всегда есть определённый риск того, что автоматика может сработать не так, как ожидается в зависимости как от фактической ситуации на рынке, так и в силу чисто технических причин. Поэтому использование условных заявок - это всегда определённый риск. Решение об использовании тех, или иных условных заявок Вы решаете самостоятельно, принимая на себя возможный риск или отказываясь от него.
Касательно диагностики проблем, связанных с некорректной работой тейк-профита. Для эффективной диагностики таких обращений, прежде всего, необходимо понять при каких входных данных как сработал тейк-профит при имеющихся условиях на рынке. Это необходимо для понимания с нашей стороны - действительно ли тейк-профит сработал корректно/некорректно. В первом случае, часто, имеет место не вполне отчётливое понимание логики работы тейк-профита со стороны пользователя. В этом случае мы стараемся дать подробное доходчивое объяснение. Во втором случае, зачастую - воспроизвести "сходу" не всегда удаётся, т.к. условия и причины, которые привели к ошибочной работе может складываться из множества факторов. В этом случае - для эффективной диагностики необходимы технические данные со стороны сервера брокера в день наблюдения ошибки. При обнаружении проблемы - мы стараемся максимально оперативно устранить её.
В состав предлагаемой нами библиотеки lua53.dll данный макрос добавлен не был. При необходимости использовать функционал lua.5.1 - Вы можете самостоятельно добавить такой макрос в ваш скрипт/программу, либо использовать какой-либо иной подход, с использованием стандартных функций lua5.3.
Текущая цена инструмента таблицы "Состояние счёта" берётся из параметров таблицы текущих торгов для данного класса/инструмента. Для данного показателя позиции используются следующие параметры ТТТ:
1. Цена последней сделки по инструменту из таблицы «Текущие торги». Если такой цены нет, то цена закрытия. 2. Для срочного рынка – цена последней сделки. Если такой цены нет, то указывается расчетная цена. 3. Для облигаций значение указывается в % от номинала, для срочных контрактов – в пунктах. 4. Для клиентов типа «МП»: лучшая цена спроса / предложения из таблицы «Текущие торги»
То, из какого именно класса берутся данные параметры - настраивается на стороне сервера QUIK. Получить эту цену, Вы можете обратившись к таблице текущих торгов с указанием класса и инструмента при помощи функций getParamEx и getParamEx2.
В одном из ближайших обновлений приложения мы добавим возможность выставлять нулевой отступ для тейк-профита. Пока же приносим свои извинения за доставленное неудобство.
Значение «parameter_name» должно соответствовать одному из значений имени параметра из Таблицы текущих значений параметров. Если «parameter_name» указан как «», то поиск осуществляется по данным Таблицы обезличенных сделок. Т.е. в Вашем случае вместе необходимо вызвать функцию следующим образом:
Не вполне понятно, как связаны между собой вопрос о факте закрытия текущей свечи и проверка "простого условия" с пересечением графика МА и графика цены.
Первая задача решается проверкой времени - Вы знаете интервал, время начала/окончания торгов. На основании этих данных знаете какая свеча когда открывается и закрывается. Далее сравниваете текущее время - попадает ли оно в диапазон времени расчёта текущей свечи, или вышла за него. Касательно проверки "простого условия" - количество выполнения блока программы при выполнении определённого условия зависит от реализации самого условия и программы в целом - надо предусмотреть и/или пересмотреть механизмы от многочисленных малоинформативных срабатываний.
В текущей формулировке Вашей задачи едва ли можем предложить более содержательный ответ. Просьба уточнить суть Вашей задачи, которую пытаетесь решить.
Функции lua_remove не было и нет в функционале QLUA. В LUA5.1 и LUA5.3, используемых в терминале до версии 8.5 и начиная с версии 8.5 - данная функция также присутствует.
Просьба уточнить, на основании чего возник такой вопрос?
Ваше сообщение получено, проблема изучается. Постараемся в ближайшее время дать ответ.
В качестве временного решения предлагаем подавать тейк-профит заявки с нулевым отступом из рабочего места QUIK для ПК. Для мобильного приложения, какого-либо временного решения предложить сейчас, к сожалению, не можем. Просьба ожидать ответ на Ваше обращение.
Наиболее вероятно, Вы получали демо-доступ не на нашем сервере QUIK Junior, а у какого-либо брокера. Поэтому с данным вопросом рекомендуем обратиться непосредственно к Вашему брокеру.
Приносим извинения за задержку с ответом. Детально изучили Ваш вопрос. Удалось выявить существенную некорректность в описании формирования цены лимитированной заявки на покупку, выставляемой в результате срабатывания условия "тейк-профит" в текущей редакции инструкции по условным заявкам.
В текущей редакции инструкции по условным заявкам логика формирования цены лимитированной заявки на покупку, выставляемой в результате срабатывания условия "тейк-профит" описана следующим образом.
Цитата
тэйк-профит выставит лимитированную заявку на покупку с ценой, вычисляемой по формуле: цена = локальный минимум + отступ + защитный спред
И это описание некорректно. В действительности, работает другая логика, а именно:
Цитата
тэйк-профит выставит лимитированную заявку на покупку с наименьшей из двух цен: 1. цена1 = цена последней сделки + спред 2. цена2 = тейк-профит цена + отступ + спред
Нам очень жаль, что эта ошибка не была обнаружена ранее, и мы приносим свои извинения за предоставление некорректной информации. В ближайшем обновлении инструкции данная неточность будет устранена.
Конкретно в случае, описанном Вами – цена лимитированной заявки должна была выбираться как наименьшее из из: 1. 1,2552 = 1,2557 + (-0.0005). 2. 1,2483 = 1,2483 + 0,0005 + (-0.0005).
При этом очевидно, (2) меньше, чем (1), и цена должна была быть 1,2483, а не 1,2552.
Здесь предполагаем возникновение эпизодической ошибки при расчёте цены лимитированной заявки. Для её эффективной диагностики и дальнейшего устранения – просим при очередном воспроизведении ошибки обратиться к Вашему брокеру и инициировать разбор данной ситуации. В этом случае – брокер предоставит нам необходимую техническую информацию со стороны сервера, с которой будет возможно дальнейший разбор ситуации.
Касательно данного пожелания, Касательно
Цитата
Иван написал: Считаю алгоритм выставления лимитной заявки при срабатывании тэйк-профита нужно срочно изменить на логичный и управляемый трейдером, а не как сейчас.
Хотели бы уточнить, что при необходимости - Вы можете реализовать любой интересующий Вас алгоритм выставления лимитированных заявок с контролируемым Вами ценообразованием на основании текущей ситуации на рынке (некие, собственные условные заявки) при помощи QLUA. Тем не менее, готовы зарегистрировать Ваше пожелание на упомянутую доработку. Для этого просим уточнить - по какому алгоритму, по Вашему - должен работать тейк-профит при срабатывании и выставлении лимитированных заявок. Заранее большое спасибо!
Наиболее вероятно, данная ситуация возникла не из-за обновления рабочего места, а из-за того, что Ваш брокер перевёл Вас на новую схему кредитования в соответствии с указанием Банка России N 4928-У.
В этом случае, заблокированные средства по срочному рынку отображаются не денежных позициях, а в таблице "Клиентский портфель" - параметр "Скор. Маржа". Чтобы видеть объъём доступных средств, учитывающий блокировки под заявки - Вы можете использовать параметр "НаПокупНеМаржин". Если по данному параметру не удаётся корректно оценить доступные средства, или есть сомнения в корректности его расчёта - предлагаем обратиться за информацией к Вашему брокеру. Он в свою очередь, наиболее вероятно, сможет предоставить Вам развёрнутый комментарий о причинах подобного расчёта.
Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
Правильно понимаем, что связываете утечку памяти именно с тем, что после обновления до версии 8 рабочее место стало потреблять примерно 2ГБ ОЗУ, а до обновления, на версии 7 и старее - <1ГБ? Если так, то сам повышенный объём потребления памяти является нормальное ситуации при переходе от x32 архитектуры программы к x64. Сам объём потребляемой при этом ОЗУ лежит в пределах нормы и не даёт оснований считать его аномальным в текущей формулировке Вашего вопроса. Наиболее вероятно, в результате обновления были переопределены некоторые настройки получения и сохранения данных, которые привели к неоптимальной работе терминала и, как следствие, повышенному объёму используемой ОЗУ. Для оптимизации рабочего места предлагаем выполнить следующую инструкцию.
1. Система/Настройки/Основные настройки/Программа/Получение данных: 1) включите настройку "Запрашивать данные раз в" и установите хотя бы 1 секунду обновления данных; 2) включите настройку "Исходя из открытых пользователем таблиц".
2. Система/Настройки/Основные настройки/Программа/Сохранение данных: 1) если включена настройка "Данные, отражающие текущее состояние и всю историю изменений" и "Получать пропущенные данные" - отключите опцию "Получать пропущенные данные" и выполните перезаказ данных с указанием только данных текущей торговой сессии (Система/Заказ данных/Перезаказать данные); проверьте объём потребляемой ОЗУ; 2) если п 2.1 не дал результата - включите опцию "Только данные, отражающие текущее состояние" и выполните перезаказ данных с указанием только данных текущей торговой сессии (Система/Заказ данных/Перезаказать данные); проверьте объём потребляемой ОЗУ;
Вместе с тем, если при низком объёме используемой ОЗУ (например, 30% ) Вы получаете приведённое Выше предупреждение Windows - предлагаем проинспектировать Ваши текущие настройки управления памятью Вашего ПК и при необходимости скорректировать их. Необходимые инструкции и рекомендации по данному вопросу Вы можете получить у технической поддержки Microsoft, или в каких-либо иных открытых источниках информации.
Перечисленные параметры доступны для добавлению в таблицу текущих торгов, им соответствуют следующие наименования параметров в окне редактирования таблицы текущих торгов:
ГО продавца - Гарантийное обеспечение продавца ГО Покупателя - Гарантийное обеспечение покупателя Сессия - Состояние сессии Оборот - Оборот в деньгах.
Если данных параметров нет в списке доступных параметров - проверьте, доступны ли они в пункте меню Система/Заказ данных/Поток котировок - выберите интересующий класс срочного рынка, например фьючерсы - и проверьте наличие параметров в фильтре параметров. Если параметров нет, то вероятно брокер ограничил их рассылку. В этом случае рекомендуется обратиться к нему для получения более подробной информации о возможности трансляции данных параметров. Если параметры есть, то Вы можете либо вручную выбрать их для получения информации, либо использовать настройку "Исходя из открытых пользователем таблиц" в пункте меню Система/Настройки/Основные настройки/Программа/Получение данных.
В результате, интересующие Вас параметры станут доступны для добавления в таблицу текущих торгов.
Вероятно, в разных версиях QUIK у Вас по-разному настроено окно графика. Проверьте, пожалуйста, включена ли в QUIK 8.5 опция "Показывать последнее значение" в диалоговом окне редактирования графика. Если выключена - её необходимо включить и сохранить настройки. В этом случае цена последней сделки будет отображаться на вертикальной шкале цены.
Если брокер не предоставляет Вам возможности использовать функционал условных заявок QUIK - Вы можете с использованием LUA-скриптов и функции QLUA, языка QPILE или API для импорта транзакций* создать свой собственный алгоритм и логику проверки выполнения условия, при котором необходимо выставить лимитированную заявку с теми, или иными параметрами.
Документацию по QLUA Вы можете скачать по следующей ссылке. Документация на API импорта транзакций приведена в руководстве пользователя QUIK: Раздел 6. Совместная работа с другими приложениями / Импорт транзакций через API. Документация по QPILE приведена в разделе 8 - Алгоритмический язык QPILE.
Также Вы можете использовать функционал импорта транзакций из текстового *.tri-файла *. (см. Раздел 6. Совместная работа с другими приложениями / Импорт транзакций).
Из менее "гибких" решений можем предложить использовать таблицу "Карман транзакций", в котором Вы можете сохранять. своего рода, шаблоны заявок, которые можете вручную "достать" из кармана (выставить с уже заполненными параметрами) в случае, если считаете текущие условия удовлетворительными для выставления.
* - Брокер также может ограничить возможность использования одного/нескольких/всех перечисленных средств. За более подробной информацией рекомендуем обратиться непосредственно к Вашему брокеру.
Торговая система биржи действительно может устанавливать ограничения на принятие заявок, цены в которых выходят за установленные ценовые диапазоны. Это обстоятельство может иметь место независимо от Вашей текущей позиций и средств. По этой причине, ответ на этот вопрос:
Цитата
Vlad написал: Получается на СПБ невозможно торговать среднесрок? Т.е. нельзя выставить такую заявку с соответственно более широким диапазоном?
Цитата
Vlad написал: Если выставлять по отдельности, либо тейк, либо стоп, то все ок.
Наиболее вероятно, что при подаче заявки с условием "тейк-профит и стоп-лимит" срабатывало условие "тейк-профит", при этом цены сделок, которые привели к срабатыванию ТП, а также введённые Вами параметры были такими, что сформированная цена выставляемой лимитированной заявки действительно вышла за диапазон цен. То, что этого не произошло при выставлении отдельно тейк-профит, наиболее вероятно обусловлено ценами сделок, которые привели к активации были такими, что сформированная цена не вышла за пределы диапазона и успешно выставилась. Иными словами, заявка выставилась не потому что использовался другой тип условной заявки, а потому что фактическая цена лимитированной заявки в первом случае, при одной ситуации на рынке не попала в диапазон, а вторая попала, при прочих равных параметрах условия. Предлагаем уточнить этот момент - какое условие срабатывало, по какой цене должна была бы выставиться заявка и попала ли она в диапазон.
Если высказанная выше гипотеза не подтвердится - и ТС по каким-то причинам по-разному обрабатывает лимитированные заявки, выставлены в результате срабатывания разных типов стоп-заявок QUIK, при условии что их цены одинаково попадают / не попадают в диапазон цен, то предлагаем при очередном воспроизведении описанной ситуации обратиться к Вашему брокеру и настоять на разборе ситуации, сообщив ему номера выставленных Вами условных заявок, которые при равных параметрах сработали, но по одной заявка выставлена не была, а по другой с близкими значениями цены - прошла контроль диапазона цены. Брокер в свою очередь, либо самостоятельно предоставит Вам комментарий по возникшей ситуации с привлечением сотрудников биржи, либо обратится к нам, предоставит необходимую техническую информацию для дальнейшей эффективной диагностики данного вопроса.
Получаемое Вами сообщение ошибки возвращает ODBC-драйвер MS Access при попытке обратиться к базе, которая содержит в своих таблицах тип данных bigint. Данное сообщение ошибки может возникать для MS Access 16,0.7xxx. xxxx (в соответствии с данной статьёй). В качестве возможного решений предлагается либо отказаться от типа данных bigint, если это возможно, или обновить MS Access до версии 16,0.7xxx. xxxx или выше.
Предлагаем проверить версию MS Access и воспользоваться приведённым выше рекомендациями. Если у Вас версия MS Access 16,0.7xxx. xxxx или новее, и ошибка по-прежнему появляется - предлагаем обратиться в службу технической поддержки Microsoft за более подробными инструкциями для решения проблем с MS Access и его ODBC-драйвером, т.к. данная проблема возникает именно между драйвером и БД, а QUIK просто инициирует попытку подключения и крайне маловероятно является первоисточником самой ошибки.
Предлагаем в целях диагностики, в качестве эксперимента выполнить обновление до более актуальной версии рабочего места QUIK 8.5.2 и проверить - воспроизводится ли описанный эффект. Для этого, если рабочее место открыто - закройте его, создайте копию папки с QUIK. Обновлять будем эту копию. Скачайте файлы обновления с нашего публичного ftp. Скопируйте файлы из скаченного архива в папку-копию рабочего места QUIK и подтвердите замену файлов. Запустите обновлённое рабочее место и проверьте корректность работы интерфейса.
Если эффект не будет устранён - просьба написать нам на quiksupport@arqatech.com, прислать короткий демонстрационный ролик с данным эффектом, а также архив обновлённого рабочего места QUIK 8.5.2, на котором воспроизводится проблема. Перед созданием архива - рабочее место необходимо закрыть. В архиве должны быть все файлы, кроме файлов ключа *.txk. Созданный архив просьба выложить в какое-либо облачное хранилище и сообщить нам ссылку для скачивания.
Благодарим за предоставленную информацию. Наиболее вероятно, сброс списка инструментов, по которым запрашиваются обезличенные сделки происходит при выборе нового инструмента в ТТТ и дальнейшему построению тикового графика по нему при отсутствии открытой таблицы текущих торгов.
Ваше сообщение получено, проблема изучается. Постараемся в ближайшее время дать ответ.
В качестве возможного временного решения - для сохранения настройки списка инструментов, по которым выполняется запрос обезличенных сделок при работе с тиковым графиком - предлагаем иметь дополнительную таблицу обезличенных сделок, в которой будет настроен аналогичный фильтр классов и инструментов. В этом случае изменение инструмента, по которому строится тиковый график не будет приводить к сбросу фильтра инструментов в пункте меню Система/Заказ данных/Поток обезличенных сделок.
Параллельно ведём с Вами переписку по почте. Судя по снимкам экрана, которые Вы демонстрируете в рамках переписки - проблем с созданием DataSet - нет, Вам успешно удаётся создать DataSet для QUIK, а сама проблема состоит в том, что WLD не видит данных, которые QUIK выводит, вместе с тем - в настройках WLD отсутствует доступный Streaming Data Provider для QUIK.
Для разбора возникшей ситуации мы запросили у Вас некоторую дополнительную информацию. Дублируем её здесь:
Цитата
Для дальнейшего разбора данной ситуации просим дополнительно сообщить - если Вы ранее успешно работали с WLD - просьба уточнить, какая версия рабочего места QUIK / WLD / драйвера экспорта использовались? Правильно понимаем, что данная проблема возникла только после определенного обновления одного или нескольких выше перечисленных элементов?
Вместе с этим - просьба для анализа прислать архив Вашего рабочего места QUIK с экспортом данных. При создании архива - убедитесь, что проблемный эффект воспроизводится, закройте рабочее место QUIK, создайте архив каталога с файлами рабочего места. Убедитесь, что в архиве будут представлены все файлы рабочего места, в т.ч. файлы *.dat, *.log, *.wnd, *.ini и прочие.
Файлов ключа *.txk в архиве быть не должно.
Полученный архив просьба выложить в какое-либо облачное хранилище и прислать нам ссылку на скачивание. Вместе с тем - просьба также прислать файлы провайдера из папки с WLD: NLog.dll, NLog.xml, WealthLab.DataProviders.QUIK.dll.
Не удаётся ознакомиться с текстом сообщения ошибки, т.к. нет доступа к файлу ссылке, приведённой в первом письме. Пожалуйста, воспользуйтесь следующей инструкцией по вставке изображений на форуме, или приведите текст сообщения ошибки.
Вместе с этим - просьба уточнить в чём именно сейчас состоит затруднение. Если затруднение состоит в отсутствии таблиц - то необходимо предварительно создать, настроить и сохранить их в базе MS Access и только после этого подключиться рабочим местом к ODBC-источнику, который в свою очередь использует именно ту БД MS Access, в которой расположены таблицы.
Если затруднение состоит в чём-либо другом - просьба об этом сообщить.
Вероятно, данный эффект обусловлен наличием ошибок/повреждений в файле настроек *.wnd (по умолчанию - info.wnd). Предлагаем проверить эту гипотезу. Для этого выполните следующую инструкцию.
0. Закройте рабочее место QUIK, если оно открыто. 1. В папке с файлами рабочего места QUIK найдите файл настроек *.wnd (по умолчанию - info.wnd) и переименуйте его, например, так - info1.wnd. 2. Запустите рабочее место QUIK
В этом случае рабочее место создаст новый чистый файл настроек info.wnd без каких-либо ошибок. Проверьте корректность работы окна авторизации и интерфейса рабочего места. Если интерфейс будет работать корректным образом - значит ошибка действительно была в файле настроек. Дальнейшее использование файла info1.wnd не рекомендуется.