增加CTA策略模块加载策略时的异常捕捉机制
This commit is contained in:
parent
d8fa6daac7
commit
e3598be7e0
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
import os
|
import os
|
||||||
import importlib
|
import importlib
|
||||||
|
import traceback
|
||||||
|
|
||||||
# 用来保存策略类的字典
|
# 用来保存策略类的字典
|
||||||
STRATEGY_CLASS = {}
|
STRATEGY_CLASS = {}
|
||||||
@ -23,10 +23,15 @@ for root, subdirs, files in os.walk(path):
|
|||||||
moduleName = 'ctaStrategy.strategy.' + name.replace('.py', '')
|
moduleName = 'ctaStrategy.strategy.' + name.replace('.py', '')
|
||||||
|
|
||||||
# 使用importlib动态载入模块
|
# 使用importlib动态载入模块
|
||||||
module = importlib.import_module(moduleName)
|
try:
|
||||||
|
module = importlib.import_module(moduleName)
|
||||||
# 遍历模块下的对象,只有名称中包含'Strategy'的才是策略类
|
|
||||||
for k in dir(module):
|
# 遍历模块下的对象,只有名称中包含'Strategy'的才是策略类
|
||||||
if 'Strategy' in k:
|
for k in dir(module):
|
||||||
v = module.__getattribute__(k)
|
if 'Strategy' in k:
|
||||||
STRATEGY_CLASS[k] = v
|
v = module.__getattribute__(k)
|
||||||
|
STRATEGY_CLASS[k] = v
|
||||||
|
except:
|
||||||
|
print '-' * 20
|
||||||
|
print ('Failed to import strategy file %s:' %moduleName)
|
||||||
|
traceback.print_exc()
|
||||||
|
Loading…
Reference in New Issue
Block a user