以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://weistock.com/bbs/list.asp?boardid=2)
----  跨周期引用指标经常不成功  (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=51402)

--  作者:klc
--  发布时间:2013/4/25 12:29:36
--  跨周期引用指标经常不成功

1分钟的交易系统中,引用了自己写了的15分钟的指标,经常不成功:

cc:stkindi(stklabel,\'我的指标.mylot(1,1,1)\',0,3,0),NODRAW;//引用15分钟周期的mylot指标,参数是1,1,1

 

结果图上显示不了cc的值(每个周期都不显示),打开“查看》数据》5分钟数据”,除了今天的数据,之前的5分钟数据都有

右键“查看运行时”变量,看到cc变量的值为##,意思就是获取不了的意思了。

 

再直接把ea的周期也切换为15分钟的周期,cc就可获取了,也显示出来了。图表再切换回1分钟,cc的值就能正常显示了!!!

特别奇怪,为什么要先切换到15分钟了,再切换到1分钟呢?

试过,图表切换到5分钟,再切换到1分钟,则仍然不能显示那个15分钟周期的指标值。

 

也许你们会觉得,没有打开15分钟图,不能点播当天的数据(因为当天的数据暂时不保存),打开一次就好了,但我发现事实不是这样,因为:

1、15分钟不是5分钟生成的吗?为什么必须切换到15分钟再切换到1分钟,而不能切换到5分钟再切换到1分钟?

2、当cc的值在1分钟图上能显示后,把图表暂时关闭(但不关闭金字塔),再打开图表,cc的值又不能显示了,还得再切换为15分钟图,再切换到1分钟图,显然,数据应该不会因为我关闭了一个图表就清了吧?

3、最重要的是,在1分钟图上,cc的值不仅仅是今天没有,历史上的1分钟K线也不能显示cc,查看运行时变量也是##

 

有一台电脑暂时不会,一台会。感觉不稳定,好奇怪,最新版本!


--  作者:jinzhe
--  发布时间:2013/4/25 13:04:48
--  

首先,引用带参数的写法写错了,带参数写法参考函数说明

然后,引用对象没有数据,需要检查被引用周期的数据是否齐全


--  作者:klc
--  发布时间:2013/4/25 14:14:55
--  

1、我的指标是这样的,请问我的参数的写法有没有错?


图片点击可在新窗口打开查看此主题相关图片如下:a.jpg
图片点击可在新窗口打开查看
我自己看不出任何错误,以下写法:

cc:stkindi(stklabel,\'我的指标.mylot(1,1,1)\',0,3,0),NODRAW;//引用15分钟周期的mylot指标,参数是1,1,1

2、对象没有数据,历史数据我不是说有了吗?你有没有全看阿?

3、请认真对待我说的问题,我写了那么长,你还要我重复写阿?


--  作者:klc
--  发布时间:2013/4/25 14:23:00
--  
不要怀疑我的代码,我的指标叠加到图上运行是正常的,但引用就出来个##
--  作者:jinzhe
--  发布时间:2013/4/25 14:37:04
--  
stkindi函数说明最后几句就能很好的说明问题了
图片点击可在新窗口打开查看此主题相关图片如下:4.png
图片点击可在新窗口打开查看

--  作者:klc
--  发布时间:2013/4/25 15:14:48
--  

1、数字变量才需要转换为字符串,我的参数是常量,直接在字符串里面的了,不存在转换问题

2、数据我说了,历史上的齐全!并且我还打开了每个周期的图,以确保当天的的数据各周期的都能点播进来

3、弄了很久都不行,也下载了多次历史数据,我怕数据混乱,我把data文件夹都删了,重新弄,还是不行


--  作者:klc
--  发布时间:2013/4/25 15:21:24
--  

其实我就是怀疑数据不齐全,所以补阿补,补了N次,我想历史数据是全了(打开查看也能看到截止到昨日的历史数据,各周期的),还在图表中不断切换周期,以确保各种周期的当天数据也点播进来了。

当我做完这些事情之后,再切换到1分钟周期,引用的数据正确了,不管是当天的还是历史上的。

但当我把图表关了,再打开同样的图表,引用就不工作了,不管是当天的还是历史上的


--  作者:jinzhe
--  发布时间:2013/4/25 15:26:51
--  
给一段引用带多个参数的代码,引用一定要是字符模式的,才能被引用函数所识别
图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

--  作者:klc
--  发布时间:2013/4/25 15:38:09
--  

我这次改不要参数了,可还是不行

并且比我想像的问题大,好奇怪,我之前说过切换到15分钟,再切换回来,引用15分钟的那个值就有了,其实有是有了,但却是不变的,比如我写这么一个简单的指标,就一句话,没有任何参数:

 

mylot:c;

 

假如指标的名字是my15close,那么:

cc:stkindi(stklabel,\'my15close.mylot\',0,3,0),NODRAW;

 

结果就是没有cc的值,运行时变量为##


--  作者:jinzhe
--  发布时间:2013/4/25 15:41:22
--  

用个简单点的指标

cc:stkindi(stklabel,\'ma.ma1\',0,3,0),NODRAW;

有输出值吗