All pastes #812631 Raw Edit

Unnamed

public python v1 · immutable
·published 2007-12-11 22:35 UTC
rendered paste body
import Bufferimport ThreadedBufferfrom System.Threading import *import tickDataclass AssetManager:    def __init__(self, bufferManager):        self.exchanges = {}        self.exchangeSymbols = {}        tickData.registerExchangeList(self.onExchangeList)        tickData.registerSymbolList(self.onSymbolList)        tickData.requestListExchanges()        self.bufferManager = bufferManager    def onExchangeList(self,exchanges):        for exchange in exchanges:            if exchange.Available:                self.exchangeSymbols[exchange.Code] = []                symbolRequestId = tickData.requestListSymbols(exchange.Code)                self.exchanges[symbolRequestId] = exchange.Code    def onSymbolList(self,symbols):        for symbol in symbols:            #for now, USD only            if symbol.Currency == "USD":                self.exchangeSymbols[self.exchanges[symbol.RequestId]] += symbol.Code                bufferName = tickData.requestStream(tickData.requestEntity(self.exchanges[symbol.RequestId],symbol.Code))                bufferManager.AddBuffer(bufferName,Buffer.Buffer(bufferName, 10))                bufferManager.AddListenerToBuffer(bufferName, self.onBufferUpdate)                #print self.exchanges[symbol.RequestId]+":"+symbol.Code    def onBufferUpdate(self, buffer):        print buffer.GetLastItem()def mainThread():    def onQuote(quote):            bufferManager.AddItemToBuffer(quote.RequestId, quote.AskPrice)    tickData.registerRealTimeQuote(onQuote)    def onLogin():        assetManager = AssetManager(bufferManager)    tickData.registerOnLogin(onLogin)    tickData.tickDataLogin()bufferManager = ThreadedBuffer.ThreadedBufferManager()main = Thread(ThreadStart(mainThread))main.Start()Thread.Sleep(10000)