← Zurück

SecurityBasket

Создаем корзину инструментов:

_securityBasket = new SecurityBasket();

добавляем в нее инструменты:

_securityBasket.Securities.Add(_sec1);
_securityBasket.Securities.Add(_sec2);

регистрируем стратегию:

_manager.Register(_strategy, _portfolio, _securityBasket);

код реализации:

class TestStrategy : ActionStrategy
{
	protected override StrategyProcessResults OnProcess()
	{
		// создаем заявку
		var order = base.CreateOrder(OrderDirections.Buy, base.Security.GetMarketPrice(OrderDirections.Buy), base.Volume);

		// регистрируем заявку (через котирование)
		var strategy = new MarketQuotingStrategy(order, new Unit(), new Unit());
		base.ChildStrategies.Add(strategy);

		return StrategyProcessResults.Continue;
		}
}

естественно ругается на base.Security.GetMarketPrice()

Вопрос: как в коде реализации стратегии получить рыночную цену по инструменту _sec1 (или BestAsk) из корзины инструментов _securityBasket?

War dieses Thema hilfreich?

Thema teilen

Kommentare (1)

Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen

Mikhail Sukhov
Mikhail Sukhov

SecurityBasket нужен для логической регистрации стратегии по нескольким инструментам (чтобы снять ограничение S#). Всю работу нужно делать в дочерних стратегиях по каждому инструменту отдельно.