我的逻辑是,从1到100遍历(步长10),先求100个周期的最低值,然后我循环找出最低值所在的N,然后再继续遍历,如果当90个周期的最低值等于100个周期的最低值时,继续找,直到找到第二个至少间隔为10的最低值,
同理,继续找,总共找3个最低值和对应的N;然后代码我写一半了之后发现,有个错误就是FOR循环中不能用IF或者HHV这样的统计函数,
请问,有啥解决方案能解决我的需求?
VARIABLE:N:=0;
{
FOR i=100 downto 10 step 10 DO
BEGIN
N:=i;
A:HHV(L,100); //求100个周期的最低价
//当100个周期的最低价等于N个周期的最低价时,取得N,否则继续
IF A=HHV(L,N) THEN
A1:=HHV(L,N);
ELSE
N:=N+1;
END
A1;
N;
1.在金字塔中处理逻辑过程中,尽量不要使用for循环的方式处理自己的策略。在金字塔的策略机制上它已经被弱化了很多,非但不能帮助你完成相关需求,还会影响你的策略运行效率、
2.你上面的需求求取10个间隔的方式实现不了。
而求取最低的3个值可以通过。
ll:llv(L,100); //求100个周期的最低价
aa:LARGE( ll,100 , 1);
bb:LARGE( ll,100 , 2);
cc:LARGE( ll,100 , 3);
老师,你用LARGE取那么会取得临近值,非常接近,不太符合我想要的思想。
那我再研究研究