Настройки автозаполнения полей ввода заявки
Назначение
Функционал программы позволяет при формировании новой транзакции задавать
соответствия между параметрами «Класс/Инструмент/Операция» и следующими
параметрами, заполняемыми автоматически:
- «Код клиента», «Поручение» - при вводе транзакций типов «Ввод заявки», «Ввод адресной заявки», «Ввод стоп-заявки»,
- «Торговый счет», «Поручение» - при вводе заявок по фьючерсам или опционам,
- «Количество» - при вводе заявок всех типов,
- «Ссылка» - при вводе заявок РЕПО и РПС.
В результате, при выборе в форме ввода транзакций определенного инструмента и
операции, в указанных полях подставляются определенные значения.
Поле «Код клиента» формы ввода заявки содержит
выпадающий список с доступными кодами клиентов. Этот список формируется
автоматически по данным, сообщаемым сервером для всех классов, и может быть
большим. Если используется несколько кодов клиента на одном классе инструментов, то
настроек автозаполнения поля «Код клиента» одним значением может быть
недостаточно. В этом случае можно указать в файле настроек собственные списки
кодов, которые будут отображаться в форме ввода заявки в зависимости от
указанного класса инструментов. При этом, все остальные настройки автозаполнения поля
«Код клиента» будут действовать, если код, выбираемый по указанным правилам,
присутствует в списке кодов для данного рынка.
Формат файла настроек автоподстановки
Соответствия задаются в текстовом файле специального формата. Имя файла и
путь до него должны быть указаны в настроечном файле INFO.INI в
секции [General] значением параметра «default-clients-file».
Пример файла INFO.INI:
[general]
… …
default-clients-file=D:\Program Files\QUIK\default_client_codes.ini
… …
Параметры подстановки описываются в файле
default_client_codes.ini в виде отдельных секций для
каждого класса. Секция [Global] описывает глобальные настройки автоподстановки примечания в
заявке.
Пример файла default_client_codes.ini:
[global]
set-comment-mode=1
sell-default-client-code=//global
buy-default-client-code=//global
[TQBR]
sell-default-client-code=Q5
buy-lkoh=Q8/3
msng=Q9
[RPMA]
sell-default-client-code=Q8
sell-default-matchref="asdf"
sell-default-quantity=100
Настройка списка кодов клиентов
Настройка перечня кодов клиентов, отображаемых в
выпадающем списке в окне ввода заявки, осуществляется по следующему принципу:
- Классы инструментов, для которых будет использоваться
один и тот же список кодов клиентов, объединяются в «рынки». Настройка
осуществляется в секции [MARKETS], строками вида
<название_рынка>=<список_классов_через_запятую>.
Каждый класс
может быть включен только в один «рынок». Если в настройках обнаружено
вхождение одного класса в состав разных рынков, то программа выдаст сообщение
об ошибке с указанием имени рынка и класса, и продолжит обработку, игнорируя
повторные вхождения.
Пример настроек:
[MARKETS]
FUTURES=SPBFUT
CORPORATIVE=TQBR, SPBFUT
BQ=BQUOTES
OPTIONS=SPBOPT
В примере класс SPBFUT принадлежит рынку FUTURES, в описании рынка CORPORATIVE он будет проигнорирован.
Для каждого «рынка» указывается список
кодов клиентов. Настройка осуществляется в секции [MARKETS_CLIENT_CODES]
строками вида<название_рынка>=
<список_кодов_клиентов_через_запятую>
Пример настроек:
[MARKETS_CLIENT_CODES]
FUTURES =SPBFUT000121, SPBFUT000122
CORPORATIVE =Q1, Q2, Q9
BQ=
В примере список кодов клиентов для рынка BQ и класса BQUOTES будет пустым. Для
рынка OPTIONS список кодов клиентов не указан и по нему будут показаны все
коды клиентов без применения фильтра.
Заполнение полей «Код клиента» и «Поручение»
Заполнение полей «Код клиента» («Торговый счет клиента» - для срочных
контрактов) и «Поручение» может быть установлено по следующим признакам:
- По инструменту и направлению операции - параметрами «sell-<код
инструмента>» для заявок на продажу по указанному инструменту и «buy-<код
инструмента>» для заявок на покупку по указанному инструменту, код клиента и
комментарий разделяются символами «/» или «//», в зависимости от настроек
сервера QUIK.
- По классу инструмента и направлению операции - параметрами
«sell-default-client-code» для заявок на продажу и «buy-default-client-code»
для заявок на покупку.
- По инструменту вне зависимости от направления операции
- параметром «<код инструмента>».
- Глобальной настройкой автоподстановки «Поручения».
Глобальная настройка автоподстановки указывается в секции
[Global]. Применение глобальной настройки управляется параметром
«set-comment-mode», который может быть указан как в секции [Global], так и в секции
настроек для какого-либо класса. Параметр может принимать следующие
значения:
- «0» – применение глобальной настройки отключено,
- «1» – включено автозаполнение поля «Поручение» значением глобальной настройки,
значение берется из параметра «sell-default-client-code» для заявок на продажу и
«buy-default-client-code» для заявок на покупку в секции [Global]. Если в
параметрах указан код клиента, то он игнорируется. Например, если параметром
«sell-default-client-code=77//global» задана подстановка кода клиента «77» и
поручения «global», то код клиента не будет использоваться для
автоподстановки.
В случае, если условиям заявки соответствует несколько настроек подстановки
значений, выбирается настройка, имеющая больший приоритет (в порядке
убывания):
- Значение из Фильтра клиента при включенной настройке «Подставлять код
клиента из фильтра в формы подачи заявок».
- «sell-<код инструмента>» или «buy-<код инструмента>».
- «<код инструмента>».
- «sell-default-client-code» или «buy-default-client-code»
- Значение глобальной настройки из секции [Global].
- Значение из настроек программы (пункт основного меню Система / Настройки / Основные настройки... , раздел «Торговля», поле «Код клиента», при включенном флажке «Всегда брать код клиента по
умолчанию»).
- Если код клиента, найденный в настройке
автозаполнения, НЕ входит в пользовательский список кодов клиента (см. Настройка списка кодов клиентов ) для класса по которому подается заявка, поле «Код клиента» не заполняется автоматически.
Пример настроек:
[global]
set-comment-mode=1
sell-default-client-code=//global
buy-default-client-code=//global
[SPBFUT]
sell-default-client-code=SPBFUT0001/12345
buy-default-client-code=SPBFUT0002/6789
[TQBR]
sell-rtkm=Q8/2/коммент
buy-rtkm=Q8/3/коммент
msng=Q9
[RPMA]
set-comment-mode=0
sell-default-client-code=Q8
buy-default-client-code=Q8
sell-default-matchref="asdf"
buy-default-matchref="qwer"
- Комментарии к примеру:
- В секции [Global] включено использование глобальных настроек – в заявке заполняется комментарий «global».
- Для класса SPBFUT не указан параметр
«set-comment-mode», его значение будет браться из секции [Global]. Значение кода клиента и поручения для SPBFUT задано и будет использоваться либо SPBFUT0001/12345 (на продажу), либо SPBFUT0002/6789 (на покупку), а не //global.
- Для класса TQBR не указан параметр «set-comment-mode», его значение будет браться из секции [Global]. Значение кода клиента и поручения для TQBR задано для инструмента RTKM, для всех остальных «Поручение» будет браться из секции global.
- Для класса RPMA настройка «set-comment-mode» выключена, поэтому глобальная настройка игнорируется.
При формировании транзакций (ввод заявки, ввод стоп-заявки, ввод заявок РЕПО и РПС)
в поля «Код клиента» («Торговый счет клиента», в случае выбора транзакции по
срочному рынку) и «Поручение» подставляются значения в зависимости от способа
вызова формы ввода транзакции и состояния флажка в настройках программы (пункт
основного меню Система / Настройки / Основные
настройки..., раздел «Торговля», флажок «Всегда брать код клиента по умолчанию»):
- Включенная опция «Всегда брать клиента по умолчанию» означает, что при вызове форм ввода
транзакций (заявки, стоп-заявки, заявки РЕПО или РПС) поля «Код клиента» и
«Поручение» будут заполняться значениями из файла настроек независимо от способа
вызова формы (с помощью панели инструментов, через меню, двойным нажатием
левой кнопки мыши на строке таблицы или Окна котировок). При смене операции
или инструмента в уже открытой форме ввода транзакции будет произведено
повторное обращение к файлу настроек default_client_codes.ini
и, при надобности, будут изменены поля «Код клиента» и «Поручение».
- Отключенная опция «Всегда брать клиента по умолчанию» означает, что при
вызове форм транзакций из таблиц в поля «Код клиента» и «Поручение» будут
подставлены значения из выбранной строки таблицы. Если в выбранной строке
таблицы не были заполнены поля «Код клиента» и «Поручение», то в них
осуществляется автоподстановка значений из файла настроек
default_client_codes.ini.
- Весь вышеупомянутый функционал распространяется на стандартные и
нестандартные формы ввода транзакций.
Заполнение поля «Количество»
Заполнение поля «Количество» не зависит от выбранного кода клиента и может
быть установлено по следующим признакам:
- По инструменту и направлению операции - параметрами «sell-quantity-<код
инструмента>» для заявок на продажу по указанному инструменту и
«buy-quantity-<код инструмента>» для заявок на покупку по указанному
инструменту.
- По классу инструмента и направлению операции - параметрами
«sell-default-quantity» для заявок на продажу и «buy-default-quantity» для
заявок на покупку.
- По инструменту вне зависимости от направления операции - параметром
«quantity-<код инструмента>».
В случае, если условиям заявки соответствует несколько настроек подстановки
значений, выбирается настройка, имеющая больший приоритет (в порядке
убывания):
- «sell-quantity-<код инструмента>» или «buy-quantity-<код инструмента>»;
- «quantity-<код инструмента>»;
- «sell-default-quantity» или «buy-default-quantity»;
- значение количества лотов по умолчанию из настроек программы (пункт
основного меню Система /
Настройки / Основные настройки..., раздел «Торговля», поле «Кол-во лотов»).
Пример настроек:
[TQBR]
sell-quantity-rtkm=300
buy-quantity-rtkm=400
quantity-lkoh=500
[RPMA]
sell-default-quantity=100
buy-default-quantity=200
Заполнение поля «Ссылка»
Заполнение поля «Ссылка» для заявок РЕПО и РПС не зависит от выбранного кода
клиента и может быть установлено по следующим признакам:
- По инструменту и направлению операции - параметрами «sell-matchref-<код
инструмента>» для заявок на продажу по указанному инструменту и
«buy-matchref-<код инструмента>» для заявок на покупку по указанному
инструменту;
- По классу инструмента и направлению операции - параметрами
«sell-default-matchref» для заявок на продажу и «buy-default-matchref» для
заявок на покупку;
- По инструменту вне зависимости от направления операции - параметром
«matchref-<код инструмента>» для всех операций по указанному инструменту.
В случае, если условиям заявки соответствует несколько настроек подстановки
значений, выбирается настройка, имеющая больший приоритет (в порядке убывания):
- «sell-matchref-<код инструмента>» или "buy-matchref-<код инструмента>»;
- «matchref-<код инструмента>»;
- «sell-default-matchref» или «buy-default-matchref».
Настройки данных параметров действительны только для классов, по которым
возможны операции РЕПО.
Пример настроек:
[RPMA]
sell-default-matchref="asdf"
buy-default-matchref="qwer"
sell-matchref-msng="ref001"
buy-matchref-msng="ref002"
matchref-msng="mosenergo"