Strategy.ApplyMonitorRules логическая ошибка

Strategy.ApplyMonitorRules логическая ошибка
Atom
24.02.2017
RomSunZ


Михаил, у Вас в коде присутствует логическая ошибка, приводящая к зависанию стратегии в состоянии Stopping: [code] var leftVolume = order.Volume - info.ReceivedVolume;

				if (leftVolume != 0)
					this.AddDebugLog("Order {0} has left trade volume {1}.", order.GetTraceId(), leftVolume);

				return leftVolume == 0;

[/code] info.ReceivedVolume изменяется при получении сделок по ордеру в методе AddMyTrade. Но сравнивать order.Volume с пришедшими сделками не верно, т.к. они не связаны никак, и получается, что если заявка не была полностью исполнена, то правила по этой заявке зависают в стратегии и не дают ей завершиться. Нужно сравнивать исполненный объем заявки со значением info.ReceivedVolume.




Спасибо:




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

loading
clippy