Настройки автозаполнения полей ввода заявки

  • Назначение
  • Формат файла настроек автоподстановки
  • Настройка списка кодов клиента
  • Заполнение полей «Код клиента» и «Поручение»
  • Заполнение поля «Количество»
  • Заполнение поля «Ссылка»
  • Назначение

    Функционал программы позволяет при формировании новой транзакции задавать соответствия между параметрами «Класс/Инструмент/Операция» и следующими параметрами, заполняемыми автоматически:

    В результате, при выборе в форме ввода транзакций определенного инструмента и операции, в указанных полях подставляются определенные значения.

    Поле «Код клиента» формы ввода заявки содержит выпадающий список с доступными кодами клиентов. Этот список формируется автоматически по данным, сообщаемым сервером для всех классов, и может быть большим. Если используется несколько кодов клиента на одном классе инструментов, то настроек автозаполнения поля «Код клиента» одним значением может быть недостаточно. В этом случае можно указать в файле настроек собственные списки кодов, которые будут отображаться в форме ввода заявки в зависимости от указанного класса инструментов. При этом, все остальные настройки автозаполнения поля «Код клиента» будут действовать, если код, выбираемый по указанным правилам, присутствует в списке кодов для данного рынка.

    Формат файла настроек автоподстановки

    Соответствия задаются в текстовом файле специального формата. Имя файла и путь до него должны быть указаны в настроечном файле 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

    Настройка списка кодов клиентов

    Настройка перечня кодов клиентов, отображаемых в выпадающем списке в окне ввода заявки, осуществляется по следующему принципу:

    1. Классы инструментов, для которых будет использоваться один и тот же список кодов клиентов,  объединяются в «рынки». Настройка осуществляется в секции [MARKETS], строками вида <название_рынка>=<список_классов_через_запятую>.
      Каждый класс может быть включен только в один «рынок». Если в настройках обнаружено вхождение одного класса в состав разных рынков, то программа выдаст сообщение об ошибке с указанием имени рынка и класса, и продолжит обработку, игнорируя повторные вхождения.

      Пример настроек:

      [MARKETS]
      
      FUTURES=SPBFUT
      CORPORATIVE=TQBR, SPBFUT
      BQ=BQUOTES
      OPTIONS=SPBOPT

      В примере класс SPBFUT принадлежит рынку FUTURES, в описании рынка CORPORATIVE он будет проигнорирован.

    2. Для каждого «рынка» указывается список кодов клиентов. Настройка осуществляется в секции [MARKETS_CLIENT_CODES] строками вида<название_рынка>= <список_кодов_клиентов_через_запятую>

      Пример настроек:

      [MARKETS_CLIENT_CODES]
      FUTURES =SPBFUT000121, SPBFUT000122
      CORPORATIVE =Q1, Q2, Q9
      BQ=

      В примере список кодов клиентов для рынка BQ и класса BQUOTES будет пустым. Для рынка OPTIONS список кодов клиентов не указан и по нему будут показаны все коды клиентов без применения фильтра.

    Заполнение полей «Код клиента» и «Поручение»

    Заполнение полей «Код клиента» («Торговый счет клиента» - для срочных контрактов) и «Поручение» может быть установлено по следующим признакам:

    1. По инструменту и направлению операции - параметрами «sell-<код инструмента>» для заявок на продажу по указанному инструменту и «buy-<код инструмента>» для заявок на покупку по указанному инструменту, код клиента и комментарий разделяются символами «/» или «//», в зависимости от настроек сервера QUIK.
    2. По классу инструмента и направлению операции - параметрами «sell-default-client-code» для заявок на продажу и «buy-default-client-code» для заявок на покупку.
    3. По инструменту вне зависимости от направления операции - параметром «<код инструмента>».
    4. Глобальной настройкой автоподстановки «Поручения».

    Глобальная настройка автоподстановки указывается в секции [Global]. Применение глобальной настройки управляется параметром «set-comment-mode», который может быть указан как в  секции [Global], так и в секции настроек для какого-либо класса. Параметр может принимать следующие значения:

    В случае, если условиям заявки соответствует несколько настроек подстановки значений, выбирается настройка, имеющая больший приоритет (в порядке убывания):

    1. Значение из Фильтра клиента при включенной настройке «Подставлять код клиента из фильтра в формы подачи заявок».
    2. «sell-<код инструмента>» или «buy-<код инструмента>».
    3. «<код инструмента>».
    4. «sell-default-client-code» или «buy-default-client-code»
    5. Значение глобальной настройки из секции [Global].
    6. Значение из настроек программы (пункт основного меню Система / Настройки / Основные настройки... , раздел «Торговля», поле «Код клиента», при включенном флажке «Всегда брать код клиента по умолчанию»).
    Если код клиента, найденный в настройке автозаполнения, НЕ входит в пользовательский список кодов клиента (см. Настройка списка кодов клиентов ) для класса по которому подается заявка, поле «Код клиента» не заполняется автоматически.

    Пример настроек:

    [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"

    Комментарии к примеру:
    1. В секции [Global] включено использование глобальных настроек – в заявке заполняется комментарий «global».
    2. Для класса SPBFUT не указан параметр «set-comment-mode», его значение будет браться из секции [Global]. Значение кода клиента и поручения для SPBFUT задано и будет использоваться либо SPBFUT0001/12345 (на продажу), либо SPBFUT0002/6789 (на покупку), а не //global.
    3. Для класса TQBR не указан параметр «set-comment-mode», его значение будет браться из секции [Global]. Значение кода клиента и поручения для TQBR задано для инструмента RTKM, для всех остальных «Поручение» будет браться из секции global.
    4. Для класса RPMA настройка «set-comment-mode» выключена, поэтому глобальная настройка игнорируется.

    При формировании транзакций (ввод заявки, ввод стоп-заявки, ввод заявок РЕПО и РПС) в поля «Код клиента» («Торговый счет клиента», в случае выбора транзакции по срочному рынку) и «Поручение» подставляются значения в зависимости от способа вызова формы ввода транзакции и состояния флажка в настройках программы (пункт основного меню Система / Настройки / Основные настройки..., раздел «Торговля», флажок «Всегда брать код клиента по умолчанию»):

    Весь вышеупомянутый функционал распространяется на стандартные и нестандартные формы ввода транзакций.

    Заполнение поля «Количество»

    Заполнение поля «Количество» не зависит от выбранного кода клиента и может быть установлено по следующим признакам:

    1. По инструменту и направлению операции - параметрами «sell-quantity-<код инструмента>» для заявок на продажу по указанному инструменту и «buy-quantity-<код инструмента>» для заявок на покупку по указанному инструменту.
    2. По классу инструмента и направлению операции - параметрами «sell-default-quantity» для заявок на продажу и «buy-default-quantity» для заявок на покупку.
    3. По инструменту вне зависимости от направления операции - параметром «quantity-<код инструмента>».

    В случае, если условиям заявки соответствует несколько настроек подстановки значений, выбирается настройка, имеющая больший приоритет (в порядке убывания):

    1. «sell-quantity-<код инструмента>» или «buy-quantity-<код инструмента>»;
    2. «quantity-<код инструмента>»;
    3. «sell-default-quantity» или «buy-default-quantity»;
    4. значение количества лотов по умолчанию из настроек программы (пункт основного меню Система / Настройки / Основные настройки..., раздел «Торговля», поле «Кол-во лотов»).

    Пример настроек:

    [TQBR]
    sell-quantity-rtkm=300
    buy-quantity-rtkm=400
    quantity-lkoh=500

    [RPMA]
    sell-default-quantity=100
    buy-default-quantity=200

    Заполнение поля «Ссылка»

    Заполнение поля «Ссылка» для заявок РЕПО и РПС не зависит от выбранного кода клиента и может быть установлено по следующим признакам:

    1. По инструменту и направлению операции - параметрами «sell-matchref-<код инструмента>» для заявок на продажу по указанному инструменту и «buy-matchref-<код инструмента>» для заявок на покупку по указанному инструменту;
    2. По классу инструмента и направлению операции - параметрами «sell-default-matchref» для заявок на продажу и «buy-default-matchref» для заявок на покупку;
    3. По инструменту вне зависимости от направления операции - параметром «matchref-<код инструмента>» для всех операций по указанному инструменту.

    В случае, если условиям заявки соответствует несколько настроек подстановки значений, выбирается настройка, имеющая больший приоритет (в порядке убывания):

    1. «sell-matchref-<код инструмента>» или "buy-matchref-<код инструмента>»;
    2. «matchref-<код инструмента>»;
    3. «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"