以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://weistock.com/bbs/list.asp?boardid=2)
----  REF函数的调试问题,调试了几天都没有明白  (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=87196)

--  作者:分析者
--  发布时间:2015/11/11 16:45:58
--  REF函数的调试问题,调试了几天都没有明白

      H2:=ref(high,1);
      H1:=ref(H2,1);     
      tmph2:=ref(h2,1);
      tmph1:=ref(h1,1);
      bool:=close>open;
      if   bool  then BEGIN h2:=tmph2;h1:=tmph1;  end

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看

 

  用鼠标右键查看运行时变量,明明上一根K线的H2是15.57,第二根K线执行之前H2还是15.57,理论上H1应该是ref(H2,1),应该还是15.57,可实际结果是 15.64,是上上根K线的高点。

  单步调试:看的很清楚,当前K线代码执行之前,上一根K线的H2是15.57 ,然后执行当前K线的 H1:=ref(H2,1); 执行完之后,H1就是15.64    
   


图片点击可在新窗口打开查看此主题相关图片如下:3.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:4.jpg
图片点击可在新窗口打开查看

--  作者:分析者
--  发布时间:2015/11/11 16:47:06
--  
就因为这么一个问题,耽误了我好多天进度,还没有进入到正式开发。
--  作者:yukizzc
--  发布时间:2015/11/11 16:59:43
--  

H2:=ref(high,1);
      H1:=ref(H2,1);                         //这个地方取的是上一根k线执行这一行时候 H2的值,不是上一根k最后的H2  
      tmph2:=ref(h2,1);
      tmph1:=ref(h1,1);
      bool:=close>open;
      if   bool  then BEGIN h2:=tmph2;h1:=tmph1;  end

 

您如果对这儿还有疑问直接电话我把,2033087


--  作者:分析者
--  发布时间:2015/11/11 17:04:04
--  
021-2033087?提示号码不正确呢
--  作者:yukizzc
--  发布时间:2015/11/11 17:07:44
--  
20339087,漏了一位
--  作者:分析者
--  发布时间:2015/11/12 14:56:02
--  

您好,昨天与您沟通后,还有两点疑惑:

  1、知道这里的H1其实是取得上上根K线的H2,但我就要取昨天的H2,怎么处理呢?可否麻烦您直接在我上述代码上修改一下。

  2、为什么我只要将“if   bool  then BEGIN h2:=tmph2;h1:=tmph1;  end”这句话删除,H1取得就是昨天的H2。

 


--  作者:yukizzc
--  发布时间:2015/11/12 15:38:20
--  

    H2:=ref(high,1); 
      tmph2:=ref(h2,1);
      tmph1:=ref(h1,1);
      bool:=close>open;
      if   bool  then BEGIN h2:=tmph2;h1:=tmph1;  end

 

H1:=ref(H2,1);  

 

最后再去引用,另外不要变量和变量之间来回引用,必须h1放在最后去引用,才是上一根k最后的h2


--  作者:分析者
--  发布时间:2015/11/12 16:45:37
--  
这是您昨天说的两个方法之一,但这不能满足我的需求啊,我不能将H1放在所有代码的最后,因为在前面的代码中需要对其进行计算,而且那个IF语句的目的就是根据不同条件对H1做不同赋值。
--  作者:分析者
--  发布时间:2015/11/12 16:45:56
--  
记得您昨天说还有一个方法的。
--  作者:yukizzc
--  发布时间:2015/11/12 16:53:37
--  
没有办法的,你必须在最后去引用。