以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 请教一个问题,求大大解答。 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=74434) |
-- 作者:lsx0514 -- 发布时间:2015/1/14 14:16:10 -- 请教一个问题,求大大解答。 IF BARPOS=1 THEN begin AA:=1; END AR:=ref(AA,1); if barpos>1 then begin
AA:=AR+1; end 如上公式,第二根K线走完后,AA变成了2,但在第3根K线时,AR依旧为1,请问这里要怎么理解?谢谢!
|
-- 作者:jinzhe -- 发布时间:2015/1/14 14:23:16 -- runmode:0; if barpos>1 then begin |
-- 作者:lsx0514 -- 发布时间:2015/1/14 14:36:20 -- 版主,你这个代码并没有解决我的问题,事实上我这个代码想要得到的是让aa第m根K线走完后的值为m,而在第二根k线走完后,aa的值为2,但在第3根k线时,无论是ar还是r1,他们的值还是为1,导致第3根k线走完后aa的值仍为2。 当然直接写成aa:=aa+1就做到,但我不明白的是为什么ref(aa,1)在第3根时调用的不是第2根的aa值而是第1根的aa值。
|
-- 作者:jinzhe -- 发布时间:2015/1/14 14:54:23 -- 计算顺序的问题,R1获取的是上一个周期未获得计算AA的值,所以没必要的话就不要反复嵌套REF |
-- 作者:lsx0514 -- 发布时间:2015/1/14 15:12:41 -- 那为什么第二个周期末aa的值为2,但第3个周期r1=ref(aa,1)的值为1? 这个例子中可以不用ref,但实际中总会用到吧。。。上面的问题无法弄清原因以后编程都提心掉胆
![]() |
-- 作者:jinzhe -- 发布时间:2015/1/14 15:20:42 -- 这样的循环嵌套里面ref的值获取的是上一个周期没有被计算过的AR 看下顺序代码,AR的取值是在R1的赋值之前,那么REF之后获取的上一个周期的AR是没有被上一个周期赋值过的 |
-- 作者:hohotss -- 发布时间:2015/1/14 15:47:59 -- 以下是引用jinzhe在2015/1/14 15:20:42的发言:
这样的循环嵌套里面ref的值获取的是上一个周期没有被计算过的AR 看下顺序代码,AR的取值是在R1的赋值之前,那么REF之后获取的上一个周期的AR是没有被上一个周期赋值过的 之前? |
-- 作者:jinzhe -- 发布时间:2015/1/14 15:57:19 -- runmode:0; if barpos>1 then begin
AA=AR+1这句在R1=REF(AA,1)后面,那么ref时,就是R1获取的是上个周期的这一个没有被AA=AR+1计算过的AA值 |
-- 作者:jinzhe -- 发布时间:2015/1/14 15:57:42 -- 如果搞不明白就简化掉,直接记结果 |