Exemple #1
0
 def handle_tick_size(self, msg):
     if self.enable_ticker:
         self.output('%s %d %s %d' %
                     (repr(msg), msg.field, TickType().getField(
                         msg.field), msg.size))
     symbol = self.symbols_by_id[msg.tickerId]
     if msg.field == 0:  # bid_size
         symbol.bid_size = msg.size
         if self.enable_ticker:
             symbol.update_quote()
     elif msg.field == 3:  # ask_size
         symbol.ask_size = msg.size
         if self.enable_ticker:
             symbol.update_quote()
     elif msg.field == 5:  # last_size
         symbol.size = msg.size
     elif msg.field == 8:  # volume
         symbol.volume = msg.size
         if self.enable_ticker:
             symbol.update_trade()
Exemple #2
0
 def handle_tick_price(self, msg):
     for cb in self.addsymbol_callbacks:
         if str(cb.id.ticker_id) == str(msg.tickerId):
             cb.complete(True)
     if self.enable_ticker:
         self.output('%s %d %s %s' %
                     (repr(msg), msg.field, TickType().getField(
                         msg.field), msg.price))
     symbol = self.symbols_by_id[msg.tickerId]
     if msg.field == 1:  # bid
         symbol.bid = msg.price
         if self.enable_ticker:
             symbol.update_quote()
     elif msg.field == 2:  # ask
         symbol.ask = msg.price
         if self.enable_ticker:
             symbol.update_quote()
     elif msg.field == 4:  # last
         symbol.last = msg.price
     elif msg.field == 9:  # close
         symbol.close = msg.price
Exemple #3
0
 def __init__(self, tws, symbol, client_id):
     self.tws = tws
     self.output = tws.output
     self.ticktype = TickType()
     self.clients = set([client_id])
     self.ticker_id = tws.next_id()
     self.symbol = symbol
     self.bid = 0.0
     self.bid_size = 0
     self.ask = 0.0
     self.ask_size = 0
     self.last = 0.0
     self.size = 0
     self.volume = 0
     self.close = 0.0
     self.tws.symbols[symbol] = self
     self.last_quote = ''
     self.tws.symbols_by_id[self.ticker_id] = self
     contract = self.tws.create_contract(symbol, 'STK', 'SMART', 'SMART',
                                         'USD')
     self.output('TWS_Symbol %s %s created for client %s' %
                 (self, symbol, client_id))
     self.output('reqMktData(%d, %s)' % (self.ticker_id, symbol))
     self.tws.tws_conn.reqMktData(self.ticker_id, contract, '', False)
Exemple #4
0
 def handle_tick_string(self, msg):
     if self.enable_ticker:
         self.output('%s %d %s %s' %
                     (repr(msg), msg.tickType, TickType().getField(
                         msg.tickType), msg.value))