龙听期货论坛's Archiver

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

【NthExtremesArray】

[code]inputs:
        PriceValueArray[MaxSize]( numericarray ),                       
        Size( numericsimple ),                        
        N ( numericsimple ),                  
        HiLo( numericsimple ),                                                         
        oExtremeVal( numericref ),
        oExtremePosRaw( numericref ) ;                                               
                                                                                     
                                                                        

arrays:
        arr0[ 2, 100 ]( 0 ) ;                                 

condition1 = N > Size or Size > MinList( MaxSize, 100 ) ;
if condition1 then
        begin
        oExtremeVal = 0 ;
        oExtremePosRaw = -1 ;
        NthExtremesArray = -1 ;
        end
else
        begin
                                                                                        
                                                                                     
                
        for Value1 = 1 to Size
                begin
                arr0[ 1, Value1 ] = PriceValueArray[Value1] ;
                arr0[ 2, Value1 ] = Value1 - 1 ;
                end ;
                                                                                          
                                                                           
        Value1 = Sort2DArray( arr0, 2, Size, HiLo ) ;

        oExtremeVal = arr0[ 1, N ] ;
        oExtremePosRaw = arr0[ 2, N ] ;
        NthExtremesArray = 1 ;
        end ;
[/code]

页: [1]