Для изменения размера нажмите или перетащите

Идентификатор инструмента

В S# инструменты из разных источников имеют унифицированные идентификаторы SecurityId. Это сделано для того, чтобы код торгового робота не зависел от типа подключения (Plaza II, Quik, SmartCOM и т.д.). Для идентификатора инструмента используется следующий синтаксис - [код инструмента]@[код площадки]. Например, для акций Лукойла идентификатором будет LKOH@EQBR. Для инструментов срочного рынка MOEX площадкой будет "FORTS". Так, например, для июньского фьючерса на индекс РТС идентификатором будет RIM5@FORTS.

Примечание Примечание
Программа S#.Data для скачивания маркет-данных нумерует папки с историей, основываясь на таком же механизме.

Переопределение алгоритма генерации идентификаторов

  1. Для того, чтобы начать генерировать идентификаторы инструментов по своему алгоритму, необходимо создать наследника класса SecurityIdGenerator, и переопределить метод SecurityIdGeneratorGenerateId(String, ExchangeBoard):

    C#
    class CustomSecurityIdGenerator : SecurityIdGenerator
    {
        public override string GenerateId(string secCode, ExchangeBoard board)
        {
            // генерация идентификатора вида CODE--BOARD
            return secCode + "--" + board.Code;
        }
    }
  2. Далее, созданный генератор нужно передать в шлюз:

    C#
    var trader = new PlazaTrader();
    trader.SecurityIdGenerator = new CustomSecurityIdGenerator();