重发一贴,请老师指导一下

想跟各位大佬和老师咨询下,以下第4条和第5条应该怎样实现??策略想表达的:1.求出前N天的涨跌幅2.统计出前N天中涨幅1%以内的数量,1%-2%的数量,2%-3%的数量,3%.........以此类推3. 假设第二条里A=涨幅1%以内的数量,B=2%-3%的数量,C=3%-4%的数量.......那么每天开盘比较一下谁的数量最多,也就是比较一下ABC......这些变量的大小,然后返回的不是统计到的数量,而是对应的变量名称。4.比如今天开盘获取到前N根bar中涨幅1%以内的数量是最多的,即变量A是最大的。那么就用今天的OPEN*1%,如果B是最大的那就OPEN*2%,以此类推。5.因为ABCDE中的两个或者更多有可能是相等的,如果使用变量AAA=ABCDE其中最大的,假设ABCDE分别为2 4 4 5 6,那么变量AAA就等于4;如果我在条件语句中使用IF(变量AAA=4),那就分不清到底应该使用B还是使用C。所以我想让他返回名称而不是返回对应的数值问题1:我这个代码想让他智能一些,比如过去N根bar的涨幅中1%以内的最多,那么就用OPEN*1%画一条线,B最多就用OPEN*2%画一条线,如果AB相等就用OPEN分别乘,然后画两条线。问题2:TBL语言中只有MAX函数能判断两个数值的大小,返回的也是数值。请问有没有类似简语言里MAX1函数效果的函数,能一次判断多个数值里的最大值,并且返回的是相应的变量名称?? 是否只能用数组解决??最后写个伪代码表达一下想表达的意思ParamsVarsEvents onBar(ArrayRef<Integer> indexs) { 变量A= 过去N根bar中涨跌幅1%以内的数量; 变量B = 过去N根bar中涨跌幅1%-2%的数量; 变量 C= 过去N根bar中涨跌幅2%-3%的数量; 变量 D= ......................... 变量AAA=其中数值最大的变量(A,B,C,D,E.......);(返回结果:变量AAA=A/B/C/D.....) IF( 变量AAA = B AND 变量AAA=C)//意思就是如果变量B和变量C的数值是相等的(B=C同时又都是ABCDE中最大的) { 画线:OPEN*0.01 画线:OPEN*0.02 } }

1.求出前N天的涨跌幅 我建议你先想好第一个问题,前N天涨跌幅指什么一般意义涨跌幅为 (close-open)/close[1];也可以是(close-close[1])/close[1];如果你这里的N对应着回溯的周期,那么就是(close-close[N])/close[N];

回复:意思是前N天的当日涨跌幅。

回复:那就只是涨跌幅了定义序列变量aa = (close-open)/close[1];对a回溯就是N天前的涨跌幅