Приветствую всех!
Codeclass Abi : Strategy
{
public Abi()
: base()
{
}
void Trader_QuotesChanged(IEnumerable<MarketDepth> obj)
{
OnProcess();
}
protected override void OnRunned()
{
base.OnRunned();
}
protected override void OnRunning()
{
Trader.QuotesChanged += Trader_QuotesChanged;
Trader.RegisterQuotes(Security);
base.OnRunning();
}
protected override StrategyProcessResults OnProcess()
{
if (ProcessState == StrategyProcessStates.Stopping)
{
return StrategyProcessResults.Stop;
}
if (ChildStrategies.Count == 0)
{
this.Volume = 3;
var s = new MarketQuotingStrategy(
CreateOrder(OrderDirections.Sell, Security.BestAsk.Price + 2),
new Unit()
{
Security = this.Security,
Type = UnitTypes.Step,
Value = 1
},
1);
this.ChildStrategies.Add(s);
s.Start();
}
return StrategyProcessResults.Continue;
}
}
Подскажите плиз что неправильно в этом коде или как должна работать MarketQuotingStrategy?
Если выставить из Abi стратегии заявку она встает. Стакан выводиться. По логу видно что родительская и дочерняя стратегии стартовали. Но больше никаких действий не происходит. Инструмент лукойл. Указываю цену на 2 рубля выше лучшего аска в надежде что MarketQuotingStrategy выставит заявку и начнет ее двигать.