龙听期货论坛's Archiver

龙听 发表于 2022-11-2 11:53

【Rank】

[code]Inputs: RankNum(Numeric), PriceValue(Numeric), Len(Numeric), SOrder(Numeric);
Variables: var0(0);
Array: arr0[1000](0);

condition1 = MinList(Len, RankNum) > 0 AND MaxList(Len, RankNum) <= 1000 ;
If condition1 Then Begin
        For value1 = 1 To Len Begin
                arr0[value1] = PriceValue[value1-1];
        End;               
        For value1 = 1 To Len-1 Begin
        condition1 = arr0[value1] > arr0[value1+1] ;
                If condition1 Then Begin
                        var0 = arr0[value1];
                        arr0[value1] = arr0[value1+1];
                        arr0[value1+1] = var0;
                        value1 = 0;
                End;
        End;
        If SOrder > 0 Then
                Rank = arr0[RankNum]
        Else
                Rank = arr0[Len - RankNum + 1];
End;
[/code]

页: [1]