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

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


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


_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);

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


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

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


Теги:


Спасибо:


Mikhail Sukhov

Фотография
Дата: 10.08.2011
Ответить


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

Спасибо:

vader

Фотография
Дата: 10.08.2011
Ответить


Mikhail Sukhov: Заявка была каким объемом? три. После этого ,я остановил стратегию, ещё раз запустил её и все норально отработало.

Спасибо:

Mikhail Sukhov

Фотография
Дата: 10.08.2011
Ответить


vader:

Mikhail Sukhov: Заявка была каким объемом? три. После этого ,я остановил стратегию, ещё раз запустил её и все норально отработало.

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

Спасибо:

vader

Фотография
Дата: 10.08.2011
Ответить


Mikhail Sukhov:

vader:

Mikhail Sukhov: Заявка была каким объемом? три. После этого ,я остановил стратегию, ещё раз запустил её и все норально отработало.

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

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

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

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


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

Спасибо:


Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy