handle empty trades properly
no longer emit 'end' when cancelled by us