以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  FOR循环中REF函数的问题  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=143922)

--  作者:kulolo
--  发布时间:2016/12/2 16:18:41
--  FOR循环中REF函数的问题

DD:=STKINDI(\'\',\'T1.D1\',0,6);  //返回上市交易日天数
今收:= CALLSTOCK(STKLABEL,VTCLOSE,6,0);
今开:= CALLSTOCK(STKLABEL,VTOPEN,6,0);
VARIABLE:M[]=0;


IF DD < 10 THEN BEGIN
    FOR I=1 TO DD DO
    BEGIN
        M[I]=(REF(今收,DD-I)-REF(今开,DD-I))/REF(今开,DD-I);//前DD-I天涨幅
    END
END

 

 

 

请问下各位老师,在图表程序化交易中,REF函数不能调用,那么我上面那个逻辑要怎么设置才可以不在循环语句中用到REF


--  作者:kulolo
--  发布时间:2016/12/2 16:19:18
--  
DD是不定的,所以貌似REF放在外面也不行
--  作者:jinzhe
--  发布时间:2016/12/2 16:24:33
--  

DD:=STKINDI(\'\',\'T1.D1\',0,6);  //返回上市交易日天数
今收: CALLSTOCK(STKLABEL,VTCLOSE,6,0);
今开: CALLSTOCK(STKLABEL,VTOPEN,6,0);
VARIABLE:M[]=0;


IF DD < 10 THEN BEGIN
    FOR I=1 TO DD DO
    BEGIN
        M[I]=今收[barpos-(DD-I)]-今开[barpos-(DD-I)]/REF(今开,DD-I);//前DD-I天涨幅
    END
END