diff --git a/vnpy/trader/app/ctaStrategy/strategy/__init__.py b/vnpy/trader/app/ctaStrategy/strategy/__init__.py index 5b10bc02..2aea54b3 100644 --- a/vnpy/trader/app/ctaStrategy/strategy/__init__.py +++ b/vnpy/trader/app/ctaStrategy/strategy/__init__.py @@ -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)