以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  这么简单的代码,序列模式下不起作用?  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=58140)

--  作者:fyinwater
--  发布时间:2013/10/29 21:01:28
--  这么简单的代码,序列模式下不起作用?

 runmode:1;//序列模式
 zzd:=c; 
 newH:=high;
 newL:=low;
  fxState:=ref(zzd, 1)  ;
  fh:=ref(newh,1); 
  fl:=ref(newl,1);  
 
 zzdx:=0;
  cond:=HIGH>fh and low>fl , NOAXIS;
  if  COND then  zzdx:=10;
  zzdx显示: zzdx,NOAXIS;
 

 

上述代码逐K线模式下正常,序列模式下   zzdx显示永远显示的是0,cond正常,哪里出问题了?


--  作者:fyinwater
--  发布时间:2013/10/29 21:38:02
--  

难道,if then语句在序列模式下不起作用?


--  作者:jinzhe
--  发布时间:2013/10/30 9:04:38
--  
序列计算只计算最后一根k线然后向前全部赋值,你看看最后根k线是不是为0
--  作者:lxihua5201
--  发布时间:2013/10/30 9:32:26
--  
为什么系列模式最后一根K线要等于0,假如我最后一根K线等于2的话(算最后一根k线然后向前全部赋值),我在向前赋值难道这不是系列吗
--  作者:jinzhe
--  发布时间:2013/10/30 9:41:09
--  

自己的代码不理解为什么会等于0?条件cond不成立就是0,最后根k线为0,向前赋值全部为0


--  作者:fyinwater
--  发布时间:2013/10/30 10:02:01
--  

     if cond then
      zzdx:=10;
      else
      zzdx:=5;

 

和下面的语句看起来是一样的啊, 结果却是,下面的可以实现zzdx有5 和10不同的值。


 zzdx:=if(cond , 10 ,5);


--  作者:jinzhe
--  发布时间:2013/10/30 10:09:45
--  

这两个是不一样

zzdx:=是直接赋值,根据图表的特性每根k线上都先计算一遍就和close:=c;是一样的,先在每根k线上计算出具体的数值

后面的是判断赋值,图表序列就只计算最后一根k线的判断


--  作者:fyinwater
--  发布时间:2013/10/30 10:23:52
--  

谢谢专家, 这个太重要了, 看说明书真的没有这么详细的。

 

 我有个想法:金字塔在公式编辑器里增加一个功能, 就是用户可以对公式函数的使用添加说明和例子(类似百度百科), 这样帮助就丰富多了。 这样论坛上也就没必要出现我这样的低水平问题了。毕竟现在金字塔工程师写的帮助天简陋了,而且很多是基于程序员思维写的,普通用户理解困难。


--  作者:jinzhe
--  发布时间:2013/10/30 10:44:57
--  
感谢提交建议!
--  作者:garhou
--  发布时间:2016/1/7 16:02:36
--  

回复收藏,谢谢7楼,今天也遇到了类似的疑问