以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 公式模型编写问题提交 (http://222.73.7.161/bbs/list.asp?boardid=4) ---- [求助]关于FOR循环语句函数引用的编写 (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=141987) |
-- 作者:plsman -- 发布时间:2016/10/31 10:52:50 -- [求助]关于FOR循环语句函数引用的编写 FOR循环语句函数引用,是需要用数组的方式来编写。在这个链接http://www.weistock.com/bbs/dispbbs.asp?boardid=4&Id=130 中写的范例看得不是很明白。 搜索论坛中看见FOR循环中引用的案例也不多。所以我这里有个简单的例子,看能否帮忙改下?
Input:A(5,1,10,1); i=0; UP=0; DN=0; CC := C - REF(C,1); For i = 0 To A DO BEGAN
If( REF(CC,1)> 0) THEN
UP = UP + REF(CC,1);
END
If( REF(CC,1)< 0) THEN
DN = DN + REF(CC,1);
END END ----------------------------------- 上面的REF是过不了编译的,请问怎么样修改? 上面循环的意思,就是计算前面几根K线的上涨和下跌的值。 |
-- 作者:jinzhe -- 发布时间:2016/10/31 10:54:50 -- 这段代码要实现什么目的? |
-- 作者:PLSMAN -- 发布时间:2016/10/31 10:58:21 -- 其实主要还是想了解FOR引用函数的写法。 通过这个例子来学习,这个代码的意思是 当 REF(CC,N)> 0,我就计算前面N根K线的涨幅。 当REF(CC,N)< 0,计算前面N根K线的跌幅。
|
-- 作者:jinzhe -- 发布时间:2016/10/31 11:12:15 -- 这个n是1? |
-- 作者:PLSMAN -- 发布时间:2016/10/31 11:14:36 -- 这个N比如是5?或者之后可以定义为一个参数来进行优化。 |
-- 作者:jinzhe -- 发布时间:2016/10/31 11:17:40 -- 当 REF(CC,N)> 0,我就计算前面N根K线的涨幅。
什么叫做“n根k线“的涨幅,和ref(cc,n)有什么区别
|
-- 作者:PLSMAN -- 发布时间:2016/10/31 11:26:56 -- 抱歉,没表达清楚,意思是当 REF(CC,N)> 0,我就计算前面N根K线中上涨K线的值。比如其中1,3,5是上涨的,2,4下跌,我需要1,3,5的涨幅值统计为UP。
|
-- 作者:jinzhe -- 发布时间:2016/10/31 13:22:11 -- Input:A(5,1,10,1);
n:=5;
UP:=0;
DN:=0;
CC := C - REF(C,1);
n1:=if(cc>=0,cc,0);
n2:=if(cc<0,cc,0);
sum1:=sum(n1,n); sum2:=sum(n2,n);
if ref(cc,n)>=0 then up:=sum1;
if ref(cc,n)<0 then dn:=sum2; [此贴子已经被作者于2016-10-31 13:22:18编辑过]
|
-- 作者:PLSMAN -- 发布时间:2016/10/31 13:29:53 -- 谢谢 Jinzhe. 其实我本意是想学习下FOR循环的语句,顺便实现下上面统计的功能。
|
-- 作者:jinzhe -- 发布时间:2016/10/31 13:54:17 -- 你那思路用循环是画蛇添足,没必要的 |