[Fix] 非当前目录下的strategyXxx.py不会被载入
This commit is contained in:
parent
7ece16c914
commit
4c39d4003e
@ -12,6 +12,7 @@ import traceback
|
||||
# 用来保存策略类的字典
|
||||
STRATEGY_CLASS = {}
|
||||
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
def loadStrategyModule(moduleName):
|
||||
"""使用importlib动态载入模块"""
|
||||
@ -34,7 +35,7 @@ path = os.path.abspath(os.path.dirname(__file__))
|
||||
for root, subdirs, files in os.walk(path):
|
||||
for name in files:
|
||||
# 只有文件名中包含strategy且以.py结尾的文件,才是策略文件
|
||||
if 'strategy' in name and name[-3:] == '.py':
|
||||
if 'strategy' in name and name[-3:] == '.py' and '/' not in name and '\\' not in name:
|
||||
# 模块名称需要模块路径前缀
|
||||
moduleName = 'vnpy.trader.app.ctaStrategy.strategy.' + name.replace('.py', '')
|
||||
loadStrategyModule(moduleName)
|
||||
@ -45,7 +46,7 @@ workingPath = os.getcwd()
|
||||
for root, subdirs, files in os.walk(workingPath):
|
||||
for name in files:
|
||||
# 只有文件名中包含strategy且以.py结尾的文件,才是策略文件
|
||||
if 'strategy' in name and name[-3:] == '.py':
|
||||
if 'strategy' in name and name[-3:] == '.py' and '/' not in name and '\\' not in name:
|
||||
# 模块名称无需前缀
|
||||
moduleName = name.replace('.py', '')
|
||||
loadStrategyModule(moduleName)
|
||||
|
Loading…
Reference in New Issue
Block a user