StrategyNewMyTrades произошло, а order.IsMatched() = false


StrategyNewMyTrades произошло, а order.IsMatched() = false
Atom
8/10/2011


У меня событийная стратегия.
В начале отправил заявку и стал дожидаться её исполнения.
Code

_order = new Order
			{
				Portfolio = this.Portfolio,
				Volume =  _partOfLot,
				Price = _priceOfOrder,
				Security = this.Security,
				Direction = this._direction,
				Trader = this.Trader,
			};
			this.RegisterOrder(_order);

this
				.When(StrategyRuleConditionHelper.StrategyNewMyTrades(this))
				.Do(Blablabla);

Заявка была исполнена одной сделкой, но когда происходила проверка на испонения заявки, почему-то она была сочтена не исполненной.
Code

private void Blablabla()
		{
			if(TraderHelper.IsMatched(_order)){
				
				MessageBox.Show(_order.Id.ToString());

Может ли информация о новых сделках прижти раньше,чем информация, о том, исполнена сделка или нет?
И что с этим делать?

Tags:


Thanks:


Mikhail Sukhov

Avatar
Date: 8/10/2011
Reply


Заявка была каким объемом?
Thanks:

vader

Avatar
Date: 8/10/2011
Reply


Mikhail Sukhov Go to
Заявка была каким объемом?

три.
После этого ,я остановил стратегию, ещё раз запустил её и все норально отработало.
Thanks:

Mikhail Sukhov

Avatar
Date: 8/10/2011
Reply


vader Go to
Mikhail Sukhov Go to
Заявка была каким объемом?

три.
После этого ,я остановил стратегию, ещё раз запустил её и все норально отработало.


У вас ошибка в логике. Не учитываете частичное исполнение заявки.
Thanks:

vader

Avatar
Date: 8/10/2011
Reply


Mikhail Sukhov Go to
vader Go to
Mikhail Sukhov Go to
Заявка была каким объемом?

три.
После этого ,я остановил стратегию, ещё раз запустил её и все норально отработало.


У вас ошибка в логике. Не учитываете частичное исполнение заявки.


учитывается - вот здесь if(TraderHelper.IsMatched(_order)){

метод должен выполнятся только, когда заявка будет исполнена полностью.

У меня это и произошло. заявка была исполнена одной сделкой. При этом сообщение в этом методе не было выведено

Code

private void Blablabla()
		{
			if(TraderHelper.IsMatched(_order)){
				
				MessageBox.Show(_order.Id.ToString());
Thanks:


Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy