从5分钟获取30分钟前2个周期的最低价格,实际只能得到了前1个30分钟周期的,请问哪里写错了?怎么修改效率高?
谢谢!!
m30pl := callstock(stkref, vtlow, 4, -1);
plow:=llv(m30pl,2);
我猜测是llv统计2次低值,仍然按照5分钟周期来的,但是怎么修改呢?
l1:callstock(stklabel,vtlow,4-,1);
l2:callstock(stklabel,vtlow,4,-2);
最小值:min(l1,l2);
实际要比较的大于2个周期,我用for循环试了下,好像效率还不如拆出单独的公式通过stkindi调用(简单看CPU占用率),stkindi也有其它限制。
1:
s:=numtostr(n1-1,0);
plow2:=stkindi(stkref2,'pinfo.plow('&s&')',0,4,-1);
2:
plow2:=callstock(stkref2, vtlow, 4, -1);
for i = 2 to n1-1 do begin
lowthis := callstock(stkref2, vtlow, 4, 0-i);
if lowthis < plow2 then plow2 := lowthis;
end
要大于2个,就是要新写一个公式来引用
公式1:
input:n(5,1,200,1);
ll:llv(l,n);
公式2:
lll:stkindi('','公式1.ll',0,4);
这样lll就是5个30分钟周期里面的最小值,要计算更多周期的,只要改n这个参数就行