以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  计算相关性模型运行不能 请帮忙修改  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=11553)

--  作者:RogarZ
--  发布时间:2012/5/8 9:54:19
--  计算相关性模型运行不能 请帮忙修改

模型运行时 显示为-1,#qnan 找不出原因 还请帮忙修改下。

 

runmode:0;
variable:name1[26]=\'\';
variable:close1[26]=0;
name1[1]:=\'橡胶\';
name1[2]:=\'棉花\';
name1[3]:=\'PTA\';
name1[4]:=\'塑料\';
name1[5]:=\'沪锌\';
name1[6]:=\'股指\';
name1[7]:=\'白糖\';
name1[8]:=\'沪铅\';
name1[9]:=\'线材\';
name1[10]:=\'聚氯乙烯\';
name1[11]:=\'沪铜\';
name1[12]:=\'焦炭\';
name1[13]:=\'棕榈\';
name1[14]:=\'豆油\';
name1[15]:=\'豆二\';
name1[16]:=\'菜油\';
name1[17]:=\'螺纹钢\';
name1[18]:=\'籼稻\';
name1[19]:=\'豆一\';
name1[20]:=\'强麦\';
name1[21]:=\'豆粕\';
name1[22]:=\'沪铝\';
name1[23]:=\'硬麦\';
name1[24]:=\'玉米\';
name1[25]:=\'黄金\';
name1[26]:=\'燃油\';
close1[1]:="ru00$close";
close1[2]:="cf00$close";
close1[3]:="ta00$close";
close1[4]:="l00$close";
close1[5]:="zn00$close";
close1[6]:="if00$close";
close1[7]:="srx00$close";
close1[8]:="pb00$close";
close1[9]:="wr00$close";
close1[10]:="v00$close";
close1[11]:="cu00$close";
close1[12]:="j00$close";
close1[13]:="p00$close";
close1[14]:="y00$close";
close1[15]:="b00$close";
close1[16]:="ro00$close";
close1[17]:="rb00$close";
close1[18]:="er00$close";
close1[19]:="ax00$close";
close1[20]:="wsx00$close";
close1[21]:="m00$close";
close1[22]:="al00$close";
close1[23]:="wt00$close";
close1[24]:="c00$close";
close1[25]:="au00$close";
close1[26]:="fu00$close";
for i=1 to 26 do begin
 for j=1 to 26 do begin
  msgout(islastbar,name1[i]+\'与\'+name1[j]+\'的相关系数:\'+numtostr(relate(close1[i],close1[j],50),5)); 
 end
end


--  作者:董小球
--  发布时间:2012/5/8 10:20:11
--  
楼主 运行你的指标 感觉  循环26×26次 其中只有一个26次是返回你所说的值的 


--  作者:admin
--  发布时间:2012/5/8 10:24:44
--  股票_扩展统计数据的应用
你都没有用CALLSTOCK函数来引用其他品种数据啊
--  作者:董小球
--  发布时间:2012/5/8 10:40:34
--  
楼主 我简化了下你的指标,发现如果当前加载你这个指标的品种有行情则没问题不报错
如果是没有行情的品种就会报错
我简化了下你的指标查问题
runmode:0;
variable:name1[3]=\'\';
variable:close1[3]=0;
name1[1]:=\'橡胶\';
name1[2]:=\'棉花\';
name1[3]:=\'PTA\';

close1[1]:="ru00$close";
close1[2]:="cf00$close";
close1[3]:="ta00$close";

for i=1 to 3 do begin
 for j=1 to 3 do begin
  msgout(islastbar,name1[i]+\'与\'+name1[j]+\'的相关系数:\'+numtostr(relate(close1[i],close1[j],50),5));  
 end
end

--  作者:jun123k
--  发布时间:2012/5/8 10:40:47
--  
用CALLSTOCK函数来引用其他品种数据,具体应怎么该呢?
--  作者:admin
--  发布时间:2012/5/8 10:53:19
--  

参考 http://www.weistock.com/bbs/dispbbs.asp?BoardID=4&ID=11430&replyID=51897&skin=1

并参考金字塔软件公式编辑器中对CALLSTOCK函数的详细描述


--  作者:jun123k
--  发布时间:2012/5/8 13:52:09
--  [原创]策略加密服务器管理
runmode:0;
variable:name1[3]=\'\';
variable:close1[3]=0;
name1[1]:=\'橡胶\';
name1[2]:=\'棉花\';
name1[3]:=\'PTA\';

close1[1]:="ru00$close";
close1[2]:="cf00$close";
close1[3]:="ta00$close";

for i=1 to 3 do begin
 for j=1 to 3 do begin
  msgout(islastbar,name1[i]+\'与\'+name1[j]+\'的相关系数:\'+numtostr(relate(close1[i],close1[j],50),5));  
 end
end

以上代码,还是会报错呀,而且将公式 “应用于图” 后,那个消息提示不断地提示“相关系数:-1.#QNAN”,都不知怎么停止那消息的提示,删除公式也停止不了提示。

--  作者:jun123k
--  发布时间:2012/5/8 13:52:49
--  
怎么改才能看到正确的相关系数呢?
--  作者:董小球
--  发布时间:2012/5/8 14:12:02
--  
楼主是运行在哪个品种下 哪个周期下的
--  作者:admin
--  发布时间:2012/5/8 14:12:51
--  

金字塔的跨品种引用无法使用你上面的数组定义方法

只能通过CALLSTOCK函数进行,请仔细看看CALLSTOCK函数的说明方法教程