Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共4 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:求助个循环找数值的问题

1楼
hj007s 发表于:2018/4/17 14:13:59

我的逻辑是,从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;
2楼
hj007s 发表于:2018/4/17 14:41:48
循环写疯了,求助……
3楼
wenarm 发表于:2018/4/17 15:05:45

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);

 

4楼
hj007s 发表于:2018/4/17 15:54:17
老师,你用LARGE取那么会取得临近值,非常接近,不太符合我想要的思想。
那我再研究研究
共4 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.01563 s, 3 queries.