Для изменения размера нажмите или перетащите
Непрерывный фьючерс

ContinuousSecurityWindow - визуальный редактор для создания непрерывных (ContinuousSecurity) инструментов. См. Непрерывный фьючерс.

Этот компонент включает:

  • Специальное текстовое поле SecurityIdTextBox - генерирует непрерывный инструмент при помощи введенного Id - [Code]@[Board].

  • Компонент SecurityJumpsEditor - специальный DataGrid для работы с инструментами, входящими в состав непрерывного инструмента. Составляющие инструменты "обертываются" в класс SecurityJump, который имеет два свойства: Security и Date (дата роллирования). Добавленные инструменты хранятся в списке Jumps. Компонент имеет функцию Validate для проверки корректности составляющих инструментов.

  • Кнопки добавления/удаления инструментов.

  • Кнопка Auto - позволяет автоматически создавать непрерывный инструмент.

  • Кнопока Ok - завершение создания непрерывного инструмента.

Основные свойства

Ниже приведен внешний вид компонента и фрагмент кода с его использованием.

Hydra GluingCSCustom
C#
private void CreateContinuousSecurity_OnClick(object sender, RoutedEventArgs e)
{
    _continuousSecurityWindow = new ContinuousSecurityWindow
    {
        SecurityProvider = _entityRegistry.Securities,
        ContinuousSecurity = new ContinuousSecurity { Board = ExchangeBoard.Associated }
    };

    if (!_continuousSecurityWindow.ShowModal(this))
        return;

    _continuousSecurity = _continuousSecurityWindow.ContinuousSecurity;
    ContinuousSecurity.Content = _continuousSecurity.Id;

    var first = _continuousSecurity.InnerSecurities.First();

    var gluingSecurity = new Security
    {
        Id = _continuousSecurity.Id,
        Code = _continuousSecurity.Code,
        Board = ExchangeBoard.Associated,
        Type = _continuousSecurity.Type,
        VolumeStep = first.VolumeStep,
        PriceStep = first.PriceStep,
        ExtensionInfo = new Dictionary<object, object> { { "GluingSecurity", true } }
    };

    if (_entityRegistry.Securities.ReadById(gluingSecurity.Id) == null)
    {
        _entityRegistry.Securities.Save(gluingSecurity);
    }
}
См. также

Другие ресурсы