请问TBQuant中Na1Sort、Na1Sort2两个数组排序函数可以用吗?

我在公式里试了一下,好像没有效果。在“内建函数”中也没有找到这两个函数。谢谢!

关于Na1Sort2函数造成的信号闪烁问题
求一维数组的最大值,数组里面可以用变量吗?
数组排序取分位数
A函数可以用在tb的模拟账户吗???
二维数组排序的例子
请问数组函数
序列数组排序不能通过编译
请问:简语言版中CLOSEMINUTE函数,对应TBQUANT是什么函数。
两个数组交叉合并怎么写?
函数可以用onbar吗

可以用,这两个是系统函数。可在帮助中心查找使用说明

代码:

OnBar(ArrayRef<Integer> indexs)
{
  //参数
  Array<Numeric> ArrNumSource;//被排序数组
  Array<Integer>   ArrIntIndex      ;//排序得到的下标
  Integer                intI                   ;//循环计数器
  
  //数组赋值
  ArrNumSource[0] = -0.337;
  ArrNumSource[1] = 4        ;
  ArrNumSource[2] = 311   ;
  ArrNumSource[3] = 0.13  ;
  ArrNumSource[4] = -10   ;
  ArrNumSource[5] = 778   ;
  ArrNumSource[6] = -776  ;
  ArrNumSource[7] = 7       ;
  ArrNumSource[8] = 7      ;
  ArrNumSource[9] = 0     ;
  
  If(gvalue[0]==0)
  {  
    Na1Sort2(ArrNumSource,//被排序数组
                     ArrIntIndex     ,//排序后生成的下标数组
                     0                     ,//开始位置
                     9                     ,//结束位置
                     False             );//降序排列
    For intI = 0 To 9
    {
      FileAppend("C:\\tblog\\printOut "," 序号:"       +Text(intI)
                                                           +" 原数组:"    +Text(ArrNumSource[intI])
                                                           +" 下标排序:"+Text(ArrIntIndex[intI])
                                                           +" 数值倒序:"+Text(ArrNumSource[ArrIntIndex[intI]]));
    }
    gvalue[0] = 1;
  }
}

 

输出结果:

    序号:0    原数组:-0.337    下标排序:0    数值倒序:-0.337

    序号:1    原数组:4            下标排序:0    数值倒序:-0.337

    序号:2    原数组:311        下标排序:0    数值倒序:-0.337

    序号:3    原数组:0.13       下标排序:0    数值倒序:-0.337

    序号:4    原数组:-10        下标排序:0    数值倒序:-0.337

    序号:5    原数组:778       下标排序:0    数值倒序:-0.337

    序号:6    原数组:-776     下标排序:0    数值倒序:-0.337

    序号:7    原数组:7          下标排序:0    数值倒序:-0.337

    序号:8    原数组:7          下标排序:0    数值倒序:-0.337

    序号:9    原数组:0         下标排序:0    数值倒序:-0.337

 

请帮忙看一下哪里出了问题,为什么排序后下标值为0,谢谢!