def placeOrder(self,symbol,shares,limit=None,exchange='SMART', transmit=0):
        
        
        if symbol not in self.contracts.keys():
            self.log.error("Can't place order, not subscribed to %s" % symbol)
            return
        
        action = {-1:'SELL',1:'BUY'}
        
        o= Order()
        o.m_orderId = self.getOrderId()
        o.m_action = action[cmp(shares,0)]
        o.m_totalQuantity = abs(shares)
        o.m_transmit = transmit
        
        if limit is not None:
            o.m_orderType = 'LMT'
            o.m_lmtPrice = limit
        
        self.log.debug('Placing %s order for %i %s (id=%i)' % (o.m_action,o.m_totalQuantity,symbol,o.m_orderId))
        
            
        self.tws.placeOrder(o.m_orderId,self.contracts[symbol],o)
place an order on already subscribed contract
dataset/ETHPy150Open cmorgan/trading-with-python/lib/interactivebrokers.py/Broker.placeOrder