1.安装Microsoft Visual C++ Build Tools 2017,已经安装的不用安装
2.pip install easycython,然后把要加密的策略统一复制到一个文件夹,shift+鼠标右键点击在此处打开powershell窗口。输入easycython *.py,等待编译完成把.cp36-win_amd64删掉,strategyXXXX.pyd这样子,不要更改.cp36-win_amd64前面的名字,否则不能正常引用。
3.如果出现LINK : fatal error LNK1158: cannot run 'rc.exe'错误把链接:https://pan.baidu.com/s/1w7XiPT1xHVFmWEsS6qayBg
提取码:iziz
下载的文件解压到C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin
4.修改C:\ProgramData\Anaconda3\Lib\site-packages\vnpy-1.9.0-py3.6.egg\vnpy\trader\app\ctaStrategy\strategy里面的init.py
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:
if name[-3:] == '.py':
# 模块名称需要模块路径前缀
moduleName = 'vnpy.trader.app.ctaStrategy.strategy.' + name.replace('.py', '')
if name[-4:] == '.pyd':
# 模块名称需要模块路径前缀
moduleName = 'vnpy.trader.app.ctaStrategy.strategy.' + name.replace('.pyd', '')
loadStrategyModule(moduleName)