Table of Contents

Непрерывный фьючерс

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

HydraGluingCSCustom

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

  • Специальное текстовое поле SecurityIdTextBox - генерирует непрерывный инструмент при помощи введенного Id - [Code]@[Board].
  • Компонент SecurityJumpsEditor - специальный DataGrid для работы с инструментами, входящими в состав непрерывного инструмента. Составляющие инструменты "обертываются" в класс SecurityJump, который имеет два свойства: SecurityJump.Security и SecurityJump.Date (дата роллирования). Добавленные инструменты хранятся в списке SecurityJumpsEditor.Jumps. Компонент имеет функцию SecurityJumpsEditor.Validate для проверки корректности составляющих инструментов.
  • Кнопки добавления/удаления инструментов.
  • Кнопка Auto - позволяет автоматически создавать непрерывный инструмент.
  • Кнопка Ok - завершение создания непрерывного инструмента.

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

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

private void CreateContinuousSecurity_OnClick(object sender, RoutedEventArgs e)
{
	_continuousSecurityWindow = new ContinuousSecurityWindow
	{
		SecurityStorage = _entityRegistry.Securities,
		Security = new ContinuousSecurity { Board = ExchangeBoard.Associated }
	};
	if (!_continuousSecurityWindow.ShowModal(this))
		return;
	_continuousSecurity = _continuousSecurityWindow.Security;
	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);
	}
}

См. также

Склеивание данных