以文本方式查看主题
- 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp)
-- 高级功能研发区 (http://weistock.com/bbs/list.asp?boardid=5)
---- 在python引用中去写一些代码,供PEL去调用 (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=168681)
|
-- 作者:qq代人发帖
-- 发布时间:2019/3/8 10:44:06
-- 在python引用中去写一些代码,供PEL去调用
我是想在python引用中去写一些代码,供PEL去调用,碰到的这个问题 在引用的PYTHON中如果这样写: close = pel_history_bars( 3+1,\'close\') refclose = close[-2:-1].sum() /1 context.refclose=refclose 在PEL 中去这样调用 :refclose:GETPYTHONVAL(\'refclose\'); 就能够正常显示出来,说明数据CLOSE是读取成功了的。
但是如果在PYTHON引用中如果写成 close = pel_history_bars( 3+1,\'close\') refclose = close[-2] context.refclose=refclose
在指标显示的时候就提示这个请问是什么原因呢?
此主题相关图片如下:1.png
|
-- 作者:yukizzc
-- 发布时间:2019/3/8 10:53:32
--
你要判断len数量长度大于2的,第一根k的时候取不到大于2的数据量所以会有这个问题
if len(close)>3: context.m = close[-2] else: context.m=0
[此贴子已经被作者于2019/3/8 10:59:36编辑过]
|
-- 作者:zhangt312
-- 发布时间:2019/3/8 11:29:56
--
在python引用中这样写: close = pel_history_bars( 3+1,\'close\') refclose = close[-2:-1].sum() /1 closelen=len(close)
context.refclose=refclose context.closelen=closelen
在PEL中这样写:closelen:GETPYTHONVAL(\'closelen\'); refclose:GETPYTHONVAL(\'refclose\');
都能正常显示,读出来的CLOSE长度除了上市的头几天会显示0、2、3、4、4、4、4。。。。。 也能读出refclose 最多就是上市的第一天显示为0,随后都能读出来,但是如果把那句refclose = close[-2:-1].sum() /1 改成refclose = close[-2],就还是提示出现顶楼那种错误
|
-- 作者:yukizzc
-- 发布时间:2019/3/8 13:46:38
--
看我2楼,你要去处理数据长度问题的
|
-- 作者:zhangt312
-- 发布时间:2019/3/8 14:38:03
--
谢谢,解决了, close = pel_history_bars( 3+1,\'close\') 这句话要用在一只股票所有的Bar里,当它遇到LEN(close)长度不够长的情况下,就会报错,不管你是否把光标移动到上市的头几天 。
|