I've attached a test strategy. I ran this on a 1 tick basis, on live data (it doesn't seem to happen in market replay) Instrument was any - 6A 6E 6J etc
The strategy submits a limit order which is pending, then waits a while before canceling it. All goes well for the first few cancels, then for one cancel, OnOrderUpdate doesn't appear to be called (and the pending flag doesn't get reset)
(I originally wrote this to test why entry is sometimes null in OnBarUpdate - hence the null print line, but this error came up first - I'd still like to know how entry could be null after at least one trade)
Output is like this:
28/05/2010 15:43:01 Order update = Order='NT-02182/Sim101' Name='Buy' State=PendingSubmit Instrument='6J 06-10' Action=Buy Limit price=0.010888 Stop price=0 Quantity=1 Strategy='test1' Type=Limit Tif=Gtc Oco='' Filled=0 Fill price=0 Token='a0ad71883fae4710aaff821cc99cdd6a' Gtd='01/12/2099 00:00:00' 28/05/2010 15:43:01 Set pending true for entry = Order='NT-02182/Sim101' Name='Buy' State=PendingSubmit Instrument='6J 06-10' Action=Buy Limit price=0.010888 Stop price=0 Quantity=1 Strategy='test1' Type=Limit Tif=Gtc Oco='' Filled=0 Fill price=0 Token='a0ad71883fae4710aaff821cc99cdd6a' Gtd='01/12/2099 00:00:00' 28/05/2010 15:43:01 Order update = Order='NT-02182/Sim101' Name='Buy' State=Accepted Instrument='6J 06-10' Action=Buy Limit price=0.010888 Stop price=0 Quantity=1 Strategy='test1' Type=Limit Tif=Gtc Oco='' Filled=0 Fill price=0 Token='a0ad71883fae4710aaff821cc99cdd6a' Gtd='01/12/2099 00:00:00' 28/05/2010 15:43:01 Set pending true for entry = Order='NT-02182/Sim101' Name='Buy' State=Accepted Instrument='6J 06-10' Action=Buy Limit price=0.010888 Stop price=0 Quantity=1 Strategy='test1' Type=Limit Tif=Gtc Oco='' Filled=0 Fill price=0 Token='a0ad71883fae4710aaff821cc99cdd6a' Gtd='01/12/2099 00:00:00' 28/05/2010 15:43:01 Order update = Order='NT-02182/Sim101' Name='Buy' State=Working Instrument='6J 06-10' Action=Buy Limit price=0.010888 Stop price=0 Quantity=1 Strategy='test1' Type=Limit Tif=Gtc Oco='' Filled=0 Fill price=0 Token='a0ad71883fae4710aaff821cc99cdd6a' Gtd='01/12/2099 00:00:00' 28/05/2010 15:43:01 Set pending true for entry = Order='NT-02182/Sim101' Name='Buy' State=Working Instrument='6J 06-10' Action=Buy Limit price=0.010888 Stop price=0 Quantity=1 Strategy='test1' Type=Limit Tif=Gtc Oco='' Filled=0 Fill price=0 Token='a0ad71883fae4710aaff821cc99cdd6a' Gtd='01/12/2099 00:00:00' 28/05/2010 15:43:17 Cancel :Working 28/05/2010 15:43:17 Order update = Order='NT-02182/Sim101' Name='Buy' State=PendingCancel Instrument='6J 06-10' Action=Buy Limit price=0.010888 Stop price=0 Quantity=1 Strategy='test1' Type=Limit Tif=Gtc Oco='' Filled=0 Fill price=0 Token='a0ad71883fae4710aaff821cc99cdd6a' Gtd='01/12/2099 00:00:00' 28/05/2010 15:43:17 Set pending true for entry = Order='NT-02182/Sim101' Name='Buy' State=PendingCancel Instrument='6J 06-10' Action=Buy Limit price=0.010888 Stop price=0 Quantity=1 Strategy='test1' Type=Limit Tif=Gtc Oco='' Filled=0 Fill price=0 Token='a0ad71883fae4710aaff821cc99cdd6a' Gtd='01/12/2099 00:00:00' 28/05/2010 15:43:17 Order update = Order='NT-02182/Sim101' Name='Buy' State=Cancelled Instrument='6J 06-10' Action=Buy Limit price=0.010888 Stop price=0 Quantity=1 Strategy='test1' Type=Limit Tif=Gtc Oco='' Filled=0 Fill price=0 Token='a0ad71883fae4710aaff821cc99cdd6a' Gtd='01/12/2099 00:00:00' 28/05/2010 15:43:17 Set pending false for entry = Order='NT-02182/Sim101' Name='Buy' State=Cancelled Instrument='6J 06-10' Action=Buy Limit price=0.010888 Stop price=0 Quantity=1 Strategy='test1' Type=Limit Tif=Gtc Oco='' Filled=0 Fill price=0 Token='a0ad71883fae4710aaff821cc99cdd6a' Gtd='01/12/2099 00:00:00' 28/05/2010 15:43:17 Order update = Order='NT-02183/Sim101' Name='Buy' State=PendingSubmit Instrument='6J 06-10' Action=Buy Limit price=0.010889 Stop price=0 Quantity=1 Strategy='test1' Type=Limit Tif=Gtc Oco='' Filled=0 Fill price=0 Token='8f76ed8c93d546998a6189da7aa19282' Gtd='01/12/2099 00:00:00' 28/05/2010 15:43:17 Set pending true for entry = Order='NT-02183/Sim101' Name='Buy' State=PendingSubmit Instrument='6J 06-10' Action=Buy Limit price=0.010889 Stop price=0 Quantity=1 Strategy='test1' Type=Limit Tif=Gtc Oco='' Filled=0 Fill price=0 Token='8f76ed8c93d546998a6189da7aa19282' Gtd='01/12/2099 00:00:00' 28/05/2010 15:43:17 Order update = Order='NT-02183/Sim101' Name='Buy' State=Accepted Instrument='6J 06-10' Action=Buy Limit price=0.010889 Stop price=0 Quantity=1 Strategy='test1' Type=Limit Tif=Gtc Oco='' Filled=0 Fill price=0 Token='8f76ed8c93d546998a6189da7aa19282' Gtd='01/12/2099 00:00:00' 28/05/2010 15:43:17 Set pending true for entry = Order='NT-02183/Sim101' Name='Buy' State=Accepted Instrument='6J 06-10' Action=Buy Limit price=0.010889 Stop price=0 Quantity=1 Strategy='test1' Type=Limit Tif=Gtc Oco='' Filled=0 Fill price=0 Token='8f76ed8c93d546998a6189da7aa19282' Gtd='01/12/2099 00:00:00' 28/05/2010 15:43:17 Order update = Order='NT-02183/Sim101' Name='Buy' State=Working Instrument='6J 06-10' Action=Buy Limit price=0.010889 Stop price=0 Quantity=1 Strategy='test1' Type=Limit Tif=Gtc Oco='' Filled=0 Fill price=0 Token='8f76ed8c93d546998a6189da7aa19282' Gtd='01/12/2099 00:00:00' 28/05/2010 15:43:17 Set pending true for entry = Order='NT-02183/Sim101' Name='Buy' State=Working Instrument='6J 06-10' Action=Buy Limit price=0.010889 Stop price=0 Quantity=1 Strategy='test1' Type=Limit Tif=Gtc Oco='' Filled=0 Fill price=0 Token='8f76ed8c93d546998a6189da7aa19282' Gtd='01/12/2099 00:00:00' 28/05/2010 15:43:39 Cancel :Working 28/05/2010 15:43:40 Cancel :Cancelled 28/05/2010 15:43:40 Cancel :Cancelled 28/05/2010 15:43:40 Cancel :Cancelled 28/05/2010 15:43:40 Cancel :Cancelled

Comment