from service.ControlService import CTPService, ModelService # s = ModelService('src/py/online.py demo aa', [], 'v0001') # print s.cmd # s.start() # print s.status() # s.stop() # s = CTPService('bin/marketService', [], 'SRV_MARKET') # print s.cmd # s.start() # print s.status() # s.stop() from common.Data import Data d = Data() cnt, data = d.getTickHistory('hc', ['hc1805'], '20180312 21:00:00', '20180312 21:01:00') print cnt print data[0]['price']
def __init__(self, strat, startRunningTime, orderWaitingTime, dataLogFixedTimeWindow, dailyExitTime=None): self.strat = strat self.user_data = UserData() self.strat.initialize(self) self.startRunningTime = startRunningTime self.timeInterval = history.frequency_to_seconds[ self.frequency] # 每次循环结束之后睡眠的时间, 单位:秒 self.orderWaitingTime = orderWaitingTime # 每次等待订单执行的最长时间 self.dataLogFixedTimeWindow = dataLogFixedTimeWindow # 每隔固定的时间打印账单信息,单位:秒 self.coinMarketType = helper.getCoinMarketTypeFromSecurity( self.security) self.dailyExitTime = dailyExitTime # 如果设置,则为每天程序的退出时间 self.TimeFormatForFileName = "%Y%m%d%H%M%S%f" self.TimeFormatForLog = "%Y-%m-%d %H:%M:%S.%f" self.huobiService = huobiService coin_type = helper.coinTypeStructure[ self.coinMarketType]["huobi"]["coin_type"] self.huobi_min_quantity = self.huobiService.getMinimumOrderQty( coin_type) self.huobi_min_cash_amount = self.huobiService.getMinimumOrderCashAmount( ) self.last_data_log_time = None # order query retry maximum times self.huobi_order_query_retry_maximum_times = 5 # setup timeLogger self.timeLogger = logging.getLogger('timeLog') self.timeLogger.setLevel(logging.DEBUG) timeLogHandler = logging.FileHandler(self.getTimeLogFileName()) timeLogHandler.setLevel(logging.DEBUG) consoleLogHandler = logging.StreamHandler() consoleLogHandler.setLevel(logging.DEBUG) # 定义handler的输出格式 formatter = logging.Formatter( '%(asctime)s - %(levelname)s - %(message)s') timeLogHandler.setFormatter(formatter) consoleLogHandler.setFormatter(formatter) # 给timeLogger添加handler self.timeLogger.addHandler(timeLogHandler) self.timeLogger.addHandler(consoleLogHandler) # setup dataLogger self.dataLogger = logging.getLogger('dataLog') self.dataLogger.setLevel(logging.DEBUG) dataLogHandler = logging.FileHandler(self.getDataLogFileName()) dataLogHandler.setLevel(logging.DEBUG) self.dataLogger.addHandler(dataLogHandler) # setup context.log self.log = WQLogger(self.timeLogger) # setup context.data data = Data() data.get_price = history.get_price data.get_current_price = history.get_current_price data.get_all_securities = history.get_all_securities self.data = data # setup context.order order = Order() order.buy = self.buy order.buy_limit = self.buy_limit order.sell = self.sell order.sell_limit = self.sell_limit self.order = order # setup context.account and context.account_initial self.account = Account() self.account_initial = Account() self.updateAccountInfo(initial_setup=True) # setup context.time self.time = Time(self.startRunningTime) # setup handle_data self.handle_data = self.strat.handle_data