def load_plugins(self) -> int: '''从插件管理器中加载插件实例,返回加载成功的插件数量 :returns: int, 加载成功的插件数量 ''' ret = 0 for plugin_class in plugin_manager.plugins_list: try: plugin = plugin_class(self) except SessionNotSupportedException: pass except: utils.print_traceback() else: self.__plugin_instance_map[utils.random_str()] = plugin ret += 1 return ret
def order(self, orderQty, stop=0): ''' This is 'Market' order 'buy' if orderQty is positive 'sell' if orderQty is nagative ''' clOrdID = 'Daxiang_' + u.random_str() side = 'Buy' if orderQty>0 else 'Sell' if stop == 0: # market order orderType = 'Market' u.retry(lambda: self.client.Order.Order_new(symbol=s.SYMBOL, ordType=orderType, clOrdID=clOrdID, side=side, orderQty=orderQty).result()) u.logging_order(id=clOrdID, type=orderType, side=side, qty=orderQty, price=self.get_market_price()) else: # stop order orderType = 'Stop' u.retry(lambda: self.client.Order.Order_new(symbol=s.SYMBOL, ordType=orderType, clOrdID=clOrdID, side=side, orderQty=orderQty, stopPx=stop).result()) u.logging_order(id=clOrdID, type=orderType, side=side, qty=orderQty, stop=stop)
def image_filename(profile, filename): return os.path.join( 'account/profile/image/', random_str(32) + os.path.splitext(filename)[1].lower() )
def save(self, *args, **kwargs): self.code = random_str(128) super(Ask, self).save(*args, **kwargs)
def image_filename(project, filename): code = random_str(32) return os.path.join( 'project/project/image/', code + os.path.splitext(filename)[1].lower() )