Board logo

标题: 【PercentRank】 [打印本页]

作者: 龙听    时间: 2022-11-2 11:40     标题: 【PercentRank】

  1. inputs:
  2.         PriceValueToRank( numericsimple ),
  3.         PriceValue( numericseries ),
  4.         Len( numericsimple ) ;

  5. variables:
  6.         var0( 0 ),
  7.         var1( 0 ),
  8.         var2( 0 ),
  9.         var3( 0 ) ;

  10. arrays:
  11.         arr0[1000]( 0 ) ;

  12. condition1 = Len > 1
  13.         and PriceValueToRank >= Lowest( PriceValue, Len )
  14.         and PriceValueToRank <= Highest( PriceValue, Len ) ;

  15. if condition1
  16. then
  17.         begin
  18.                                                                                     
  19.         for Value1 = 1 to Len
  20.                 begin
  21.                 arr0[Value1] = PriceValue[ Value1 - 1 ] ;
  22.                 end ;
  23.         Value1 = SortArray( arr0, Len, -1 ) ;
  24.                                                                         
  25.         var0 = 1 / ( Len - 1 ) ;
  26.                                                                                   
  27.                                                                                           
  28.                             
  29.         var1 = 0 ;
  30.         for Value2 = 1 to Len
  31.                 begin
  32.                 if arr0[Value2] = PriceValueToRank then
  33.                         begin
  34.                         PercentRank = var0 * ( Value2 - 1 ) ;
  35.                         var1 = 1 ;
  36.                         Value2 = Len ;                                 
  37.                         end ;
  38.                 end ;
  39.                                                 
  40.         if var1 = 0 then
  41.                 begin
  42.                 for Value3 = 1 to Len - 1
  43.                         begin
  44.                         var2 = arr0[Value3] ;
  45.                         var3 = arr0[ Value3 + 1 ] ;
  46.                         condition1 = PriceValueToRank > var2 and PriceValueToRank < var3 ;
  47.                         if condition1 then
  48.                                 begin
  49.                                 PercentRank = var0 * ( ( Value3 - 1 ) + ( PriceValueToRank -
  50.                                  var2 ) / ( var3 - var2 ) ) ;
  51.                                 Value3 = Len - 1 ;                                 
  52.                                 end ;
  53.                         end ;
  54.                 end ;
  55.         end
  56. else
  57.         PercentRank = -1 ;
复制代码





欢迎光临 龙听期货论坛 (http://qhlt.club/) Powered by Discuz! 7.2