以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 金字塔编程请教 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=65479) |
-- 作者:Follow -- 发布时间:2014/5/26 22:46:54 -- 金字塔编程请教 向大家请教一个金字塔的编程问题,我觉得这段代码这样写比较繁琐,有没有类似于循环的语句可以把它改良一下 ///////////////////////////////////////////////////////设置全局变量/////////////////////////////////////////////////// VARIABLE:a10=0,a9=0,a8=0,a7=0,a6=0,a5=0,a4=0,a3=0,a2=0,a1=0; VARIABLE:b10=0,b9=0,b8=0,b7=0,b6=0,b5=0,b4=0,b3=0,b2=0,b1=0; //////////////////////////////////////////////////////对an,bn赋值///////////////////////////////////////////////////// if ref(close-open,10)>0 then a10:=1; else a10:=0; if ref(close-open,9)>0 then a9:=1; else a9:=0; if ref(close-open,8)>0 then a8:=1; else a8:=0; if ref(close-open,7)>0 then a7:=1; else a7:=0; if ref(close-open,6)>0 then a6:=1; else a6:=0; if ref(close-open,5)>0 then a5:=1; else a5:=0; if ref(close-open,4)>0 then a4:=1; else a4:=0; if ref(close-open,3)>0 then a3:=1; else a3:=0; if ref(close-open,2)>0 then a2:=1; else a2:=0; if ref(close-open,1)>0 then a1:=1; else a1:=0;////////////////对an进行赋值//////////////////////// if ref(close-open,10)<0 then b10:=1; else b10:=0; if ref(close-open,9)<0 then b9:=1; else b9:=0; if ref(close-open,8)<0 then b8:=1; else b8:=0; if ref(close-open,7)<0 then b7:=1; else b7:=0; if ref(close-open,6)<0 then b6:=1; else b6:=0; if ref(close-open,5)<0 then b5:=1; else b5:=0; if ref(close-open,4)<0 then b4:=1; else b4:=0; if ref(close-open,3)<0 then b3:=1; else b3:=0; if ref(close-open,2)<0 then b2:=1; else b2:=0; if ref(close-open,1)<0 then b1:=1; else b1:=0;////////////////对bn进行赋值//////////////////////// 收阳上涨幅度和:=(a10)*ref(close-open,10)+(a9)*ref(close-open,9)+(a8)*ref(close-open,8)+(a7)*ref(close-open,7)+(a6)*ref(close-open,6)+(a5)*ref(close-open,5)+(a4)*ref(close-open,4)+(a3)*ref(close-open,3)+(a2)*ref(close-open,2)+(a1)*ref(close-open,1),NOAXIS; 收阴下跌幅度和:=(b10)*ref(open-close,10)+(b9)*ref(open-close,9)+(b8)*ref(open-close,8)+(b7)*ref(open-close,7)+(b6)*ref(open-close,6)+(b5)*ref(open-close,5)+(b4)*ref(open-close,4)+(b3)*ref(open-close,3)+(b2)*ref(open-close,2)+(b1)*ref(open-close,1),NOAXIS; |
-- 作者:jinzhe -- 发布时间:2014/5/27 9:01:55 -- 这样挺好的,觉得繁琐可以自己想办法写成其他的 |
-- 作者:无极无名 -- 发布时间:2014/5/27 9:46:22 -- 我来试试。应该不需要这么复杂。 HL:=CLOSE-OPEN; X:=SUM(HL,10);//阳减阴 Y:=SUM(ABS(HL),10);//阳加阴 //////////于是///////////// A:=0.5*(X+Y);//收阳上涨幅度和 B:=0.5*(Y-X);//收阴下跌幅度和
|
-- 作者:Follow -- 发布时间:2014/5/27 10:30:30 -- 高手!太聪明了!数学真好。谢谢 |
-- 作者:Follow -- 发布时间:2014/5/27 10:31:21 -- 好的,我已经找到解决方法了 |
-- 作者:无极无名 -- 发布时间:2014/5/27 12:51:10 -- 回答问题有金币奖励。 |
-- 作者:jinzhe -- 发布时间:2014/5/27 13:31:08 -- 以下是引用无极无名在2014/5/27 12:51:10的发言:
回答问题有金币奖励。 那是,必须的 |