以文本方式查看主题
- 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp)
-- 高级功能研发区 (http://weistock.com/bbs/list.asp?boardid=5)
---- PY报错问题1 (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=174972)
|
-- 作者:wxx212
-- 发布时间:2020/3/15 11:27:55
-- PY报错问题1
1,我用了PY范例中 multiple_fector 这个策略,编译成功,但是运行的时候 跳出下面窗口
执行Python脚本时遇到错误。 策略: <multiple_fector> 运行: <策略multiple_fector> 类型: SystemError 描述: PyEval_EvalFrameEx returned a result with an error set
这是怎么回事?应该怎么改? 用自己的策略还是这样的,不知道怎么回事情!
2,PRINT输出,为什么在函数DEF里面不能输出,在外面就可以输出?
|
-- 作者:yukizzc
-- 发布时间:2020/3/15 14:02:08
--
工具-数据补充-深度财务数据,需要实现补充下。
另外原来设计的是300成分股,如果是你其他板块还有没有新股没有财务数据的问题。,那么这样一来就需要一开始先过滤没有财务数据的那些个股。
2、你函数怎么写的,例子里有自定义的函数里,里面print都是没问题的
|
-- 作者:wxx212
-- 发布时间:2020/3/15 15:03:15
--
1,PY不能编写商品期货的策略的吗?我只是想写商品期货的策略,不需要财务数据啊! 我引用的数据代码如下:HID_high = history_bars(\'SQrb00\',1000,\'self\',\'high\',TRUE)2,multiple_fector 这个范例策略编译的时候,把PRINT写在函数外面,那么在编译窗口会出现以下提示
> 开始编译 <multiple_fector> ...... > 14:56:10 > 1111111
> 编译成功!
这个可以明确看到有 111111 输出
但是把PRINT写在函数里面,那么在编译窗口就会会出现以下提示 > 开始编译 <multiple_fector> ...... >
> 编译成功!
这里就没有 11111 的输出
|
-- 作者:wxx212
-- 发布时间:2020/3/15 15:15:46
--
以 multiple_fector 策略为例我在23行 def before_trading(context): 这句前加入 print(1111) 在29行 context.to_buy = chose_stock(context.code) 这句后面加入 print(2222) 在39行 if len(ho)>0: 前加入print(3333) 按照道理在策略下面的窗口栏应该分别有:1111,2222,3333等输出 但是实际情况是输出了以下内容
> 开始编译 <multiple_fector> ...... > 15:14:48 > 11111
> 编译成功!
|
-- 作者:yukizzc
-- 发布时间:2020/3/15 17:01:40
--
要回测时候才能看到,编译时候是不会有输出的
init handle_bar这些系统函数编译时候不执行
|
-- 作者:wxx212
-- 发布时间:2020/3/16 9:53:54
--
1,我在回测 multiple_fector 策略的时候出现了这个对话框(数据也已经补充)。请问这是怎么回事情?
2,商品期货也要补充数据吗?商品期货我不需要财务数据的。而且,这样在正式运行的时候是不是要每次都补充数据?那不是很麻烦?
|
-- 作者:wxx212
-- 发布时间:2020/3/16 9:55:14
--
此主题相关图片如下:1.png
|
-- 作者:yukizzc
-- 发布时间:2020/3/16 10:07:29
--
这个策略是对股票的,你看下代码,里面是对300成分股选股然后多因子排序做的
不能乱用给商品期货的
|
-- 作者:wxx212
-- 发布时间:2020/3/17 9:38:48
--
那么怎么才是针对期货的,只要数据获取是期货品种就可以了吗?但是就算是这样还是会出现上面的窗口啊!
|
-- 作者:yukizzc
-- 发布时间:2020/3/17 10:05:46
--
看策略,这个是多因子排序的策略
期货没有财务因子这个,如果你要做因子组合那么里面一部分代码都要改的
你看那个ma5均线策略就是针对期货的
|