Exemplo n.º 1
0
 def onOrder(self, order):
     #print "onOrder"
     # order object contains names
     # orderstate object contains actual objects
     # XXX These assertions should be accept/rejects
     assert not self.ordersByClOrdID.has_key( order.clOrdID)
     assert not self.openOrdersByClOrdID.has_key( order.clOrdID)
     os = OrderState(order)
     #account = self.accountManager.getUnique( lambda x: x.name==order.account)
     #os.account = account
     print "Type of security is %s %s" % (type(order.security), order.security )
     #security = self.securityManager.getUnique( lambda x:  order.security.upper() in [ x.ticker.upper(), x.ric.upper() ] )
     #os.security = security
     os.setPortfolios( self.portfolioManager.portfoliosForOrder( os ) )
     self.ordersByClOrdID[ order.clOrdID ] = os
     self.openOrdersByClOrdID[ order.clOrdID ] = os
     self.numOrders += 1
     
     if not self.recoveryManager.inRecovery:
         self.fixApplication.send_order(order)
         self.persister.writeObject( order )
     if self.orderStateListener:
         self.orderStateListener.notify( os )