Создаем корзину инструментов:
_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?
Kommentare (1)
Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen
SecurityBasket нужен для логической регистрации стратегии по нескольким инструментам (чтобы снять ограничение S#). Всю работу нужно делать в дочерних стратегиях по каждому инструменту отдельно.