**循环语句中的一个难题**
我在做一个公式,遇到这样的问题:
(1)我需要对某根K线(满足收盘价大于昨日收盘价),寻找它前面15根K线中,是否有比它收盘值小的K线。如果找到,立刻中止循环。不使用LLV,HHV函数,只是用循环语句实现;
(2)我编的程序:
if c>ref(c,1) then
begin
for i=1 to 15 do
begin
if c<ref(c,i) then break;
end;
end;
程序错误:因为IF的条件c>ref(c,1)不是序列常量。
(3)使用VBS编程倒是能够解决。但是,VBS有一个问题,我在使用ubound函数时,它总是返回序列总数据量,而不是我所设想的,到我所计算的那根K线的当前位置。。我们知道VBS程序段也是在每根K线周期都被计算的。假设有2000根K线,它就需要计算2000次。而如果它内部也有循环,则是否是计算2000*2000次呢?
(4)我的问题归纳就是:如何在飞狐中,找到我当前计算的这根K线的序列数量。用BARSSINCE是不行的,它返回的是一个序列变量,不能用于条件和循环语句。
请高手帮我解答,谢谢。