以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  逐K线模式下,数组如何引用前一个值  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=71134)

--  作者:liulion
--  发布时间:2014/10/19 22:32:07
--  逐K线模式下,数组如何引用前一个值
请教 我在逐K线模式下:下面黄色语句中,Filt[BARPOS-1]得出的值一直是0,这是什么原因?

If (BARPOS < N + 1) then
   Filt[BARPOS]:= Price[BARPOS];
ELSE
  begin
    Filt[BARPOS]:= alpha[BARPOS]*Price[BARPOS] + (alphaComplement[BARPOS])*Filt[BARPOS-1];  
  end;

--  作者:王锋
--  发布时间:2014/10/19 22:36:56
--  
http://www.weistock.com/bbs/dispbbs.asp?boardid=16&Id=57075 问题4, 学习一下最基本的调试技巧
--  作者:liulion
--  发布时间:2014/10/19 22:57:01
--  
 谢谢指导,在逐K线模式下, 为什么barpos 一直是0? 这个函数应该“返回当前K线是本地某品种某周期按顺序第几根K线”,所以我理解应该是按顺序 +1的呀?



--  作者:liulion
--  发布时间:2014/10/19 22:57:47
--  
补充一点: 在按顺序遍历K线时。
--  作者:王锋
--  发布时间:2014/10/20 0:24:51
--  

你做个简单公式测试一下

MYDATA:=BARPOS;

 

运行看看BARPOS是不是只是0


--  作者:liulion
--  发布时间:2014/10/20 21:56:04
--  
我测试过,逐K线模式下,sBarPos一直是0,这个是不是程序BUG呢?

 If (BARPOS < N + 1) then
   Filt[BARPOS]:= Price[BARPOS];
ELSE
  begin
    Filt[BARPOS]:= alpha[BARPOS]*Price[BARPOS] + (alphaComplement[BARPOS])*Filt[BARPOS-1];   
    Filttmp:=Filt[BARPOS-1];   
    sBarPos:BARPOS;
    sD :DATACOUNT;
  end;
--  作者:王锋
--  发布时间:2014/10/20 21:57:30
--  
你还是搞个完整可以运行的程序,把问题说明清楚,明天我们客服帮你测试看看问题吧