def connectQuote(self): """连接行情功能""" self.quoteCtx = ft.OpenQuoteContext(self.host, self.port) # 继承实现处理器类 class QuoteHandler(StockQuoteHandlerBase): """报价处理器""" gateway = self # 缓存Gateway对象 def on_recv_rsp(self, rsp_str): ret_code, content = super(QuoteHandler, self).on_recv_rsp(rsp_str) if ret_code != RET_OK: return RET_ERROR, content self.gateway.processQuote(content) return RET_OK, content class OrderBookHandler(OrderBookHandlerBase): """订单簿处理器""" gateway = self def on_recv_rsp(self, rsp_str): ret_code, content = super(OrderBookHandler, self).on_recv_rsp(rsp_str) if ret_code != RET_OK: return RET_ERROR, content self.gateway.processOrderBook(content) return RET_OK, content # 设置回调处理对象 self.quoteCtx.set_handler(QuoteHandler()) self.quoteCtx.set_handler(OrderBookHandler()) # 启动行情 self.quoteCtx.start() self.writeLog(u'行情接口连接成功')
def setUpClass(cls): config = AppConfig.get_config() total = config.get('quota', 'total') kline = config.get('quota', 'kline') tiker = config.get('quota', 'ticker') quote = config.get('quota', 'quote') order_book = config.get('quota', 'order_book') rt_data = config.get('quota', 'rt_data') broker = config.get('quota', 'broker') cls.ctx = ft.OpenQuoteContext(config.get('ftserver', 'host'), int(config.get('ftserver', 'port'))) cls.ctx.start() cls.qh = QueryHistory(cls.ctx)
def gen_one_worker(): global ctx config = AppConfig.get_config() total = config.get('quota', 'total') kline = config.get('quota', 'kline') tiker = config.get('quota', 'ticker') quote = config.get('quota', 'quote') order_book = config.get('quota', 'order_book') rt_data = config.get('quota', 'rt_data') broker = config.get('quota', 'broker') ctx = ft.OpenQuoteContext(config.get('ftserver', 'host'), int(config.get('ftserver', 'port'))) ctx.start() lf = LF(ctx) return lf
def main(): global lf_ctx global hf_ctx global hk_ctx global us_ctx config = AppConfig.get_config() total = config.get('quota', 'total') kline = config.get('quota', 'kline') tiker = config.get('quota', 'ticker') quote = config.get('quota', 'quote') order_book = config.get('quota', 'order_book') rt_data = config.get('quota', 'rt_data') broker = config.get('quota', 'broker') lf_ctx = ft.OpenQuoteContext(config.get('ftserver', 'host'), int(config.get('ftserver', 'port'))) lf_ctx.start() lf = LF(lf_ctx) #lf_task(lf) hf_ctx = ft.OpenQuoteContext(config.get('ftserver', 'host'), int(config.get('ftserver', 'port'))) hf_ctx.start() sub = Subscribe(hf_ctx, total, kline, tiker, quote, order_book, rt_data, broker) hf = HF(hf_ctx, sub) hf_task(hf) hk_ctx = ft.OpenHKTradeContext(config.get('ftserver', 'host'), int(config.get('ftserver', 'port'))) hk_trade = Trade(hk_ctx) hk_trade.unlock_trade(None, config.get('ftserver', 'decipher')) #hk_trade_task(hk_trade) us_ctx = ft.OpenUSTradeContext(config.get('ftserver', 'host'), int(config.get('ftserver', 'port'))) us_trade = Trade(us_ctx) us_trade.unlock_trade(None, config.get('ftserver', 'decipher'))
def main(): global ctx config = AppConfig.get_config() total = config.get('quota', 'total') kline = config.get('quota', 'kline') tiker = config.get('quota', 'ticker') quote = config.get('quota', 'quote') order_book = config.get('quota', 'order_book') rt_data = config.get('quota', 'rt_data') broker = config.get('quota', 'broker') ctx = ft.OpenQuoteContext(config.get('ftserver', 'host'), int(config.get('ftserver', 'port'))) ctx.start() lf = LF(ctx) # ret_arr = lf.storeservice.find_all_stocks() # total_threads = 10 # step_length = int(len(ret_arr)/total_threads) # mode = len(ret_arr)%total_threads # for i in range(0,total_threads,1): # lf = LF(ctx) # thread_name = 'job_lf_{}'.format(i) # # start = i*step_length # if i == (total_threads-1): # end = start+step_length+mode # else: # end = start + step_length # arr = ret_arr[start:end] # # once_global_m5_task(thread_name,arr,lf) kline_total_tables = 11 kline_K_5M_total_tables = 17 for tindex in range(1,kline_total_tables+1,1): ret_arr = lf.storeservice.find_stocks('hk',tindex) lf = LF(ctx) thread_name = 'job_lf_{}'.format(tindex) once_global_m5_task(thread_name, ret_arr, lf) for tindex in range(1,kline_K_5M_total_tables+1,1): ret_arr = lf.storeservice.find_stocks('hk_5m',tindex) print(len(ret_arr)) lf = LF(ctx) thread_name = 'job_lf_5m_{}'.format(tindex) time.sleep(5) once_global_m5_task(thread_name, ret_arr, lf)
def main(): global ctx config = AppConfig.get_config() total = config.get('quota', 'total') kline = config.get('quota', 'kline') tiker = config.get('quota', 'ticker') quote = config.get('quota', 'quote') order_book = config.get('quota', 'order_book') rt_data = config.get('quota', 'rt_data') broker = config.get('quota', 'broker') ctx = ft.OpenQuoteContext(config.get('ftserver', 'host'), int(config.get('ftserver', 'port'))) ctx.start() lf = LF(ctx) once_custom_task(lf)
def main(): global ctx config = AppConfig.get_config() total = config.get('quota', 'total') kline = config.get('quota', 'kline') tiker = config.get('quota', 'ticker') quote = config.get('quota', 'quote') order_book = config.get('quota', 'order_book') rt_data = config.get('quota', 'rt_data') broker = config.get('quota', 'broker') ctx = ft.OpenQuoteContext(config.get('ftserver', 'host'), int(config.get('ftserver', 'port'))) ctx.start() sub = Subscribe(ctx, total, kline, tiker, quote, order_book, rt_data, broker) hf = HF(ctx, sub) realtime_quote_task(hf)
def setUpClass(cls): config = AppConfig.get_config() total = config.get('quota', 'total') kline = config.get('quota', 'kline') tiker = config.get('quota', 'ticker') quote = config.get('quota', 'quote') order_book = config.get('quota', 'order_book') rt_data = config.get('quota', 'rt_data') broker = config.get('quota', 'broker') cls.ctx = ft.OpenQuoteContext(config.get('ftserver', 'host'), int(config.get('ftserver', 'port'))) cls.sub = Subscribe(cls.ctx, total, kline, tiker, quote, order_book, rt_data, broker) cls.ctx.start() cls.lf = LF(cls.ctx) cls.hf = HF(cls.ctx, cls.sub)
def __init__(self): ''' QE Engine Init ''' config = AppConfig.get_config() self.config = config quote_ctx = ft.OpenQuoteContext(config.get('ftserver', 'host'), int(config.get('ftserver', 'port'))) self.quote_ctx = quote_ctx self.tradehk_ctx = ft.OpenHKTradeContext( config.get('ftserver', 'host'), int(config.get('ftserver', 'port'))) self.tradeus_ctx = ft.OpenUSTradeContext( config.get('ftserver', 'host'), int(config.get('ftserver', 'port'))) self.decipher = config.get('ftserver', 'decipher') total = config.get('quota', 'total') kline = config.get('quota', 'kline') tiker = config.get('quota', 'ticker') quote = config.get('quota', 'quote') order_book = config.get('quota', 'order_book') rt_data = config.get('quota', 'rt_data') broker = config.get('quota', 'broker') quote_ctx.start() self.lf = LF(quote_ctx) self.sub = Subscribe(quote_ctx, total, kline, tiker, quote, order_book, rt_data, broker) self.hf = HF(quote_ctx, self.sub) self.hktrade = Trade(self.tradehk_ctx) self.hktrade.unlock_trade(self.decipher) self.ustrade = Trade(self.tradeus_ctx) self.ustrade.unlock_trade(self.decipher) self.queryhistory = QueryHistory(quote_ctx) self.mysqlService = MysqlService()
# -*- coding: UTF-8 -*-