: | : | :期货程序化 | :期货程序化研究 | :期货量化学习 | :期货量化 |
返回列表 发帖

【RS_DailyDataArray】

【RS_DailyDataArray】

  1. inputs:
  2.         NumDays( numericsimple ),
  3.         oDataArray[ Twelve, MaxNumDays ]( numericarrayref ),                          
  4.                
  5.         oIndex( numericref ),
  6.         oSubArray[ Three ]( numericarrayref ) ;                                         
  7.                                              

  8. variables:
  9.         var0( BarType ),
  10.         var1( 0 ),
  11.         var2( 0 ),               
  12.         var3( 0 ),            
  13.         var4( 0 ),
  14.         var5( 0 ) ;

  15. //if var0 <> 1 then
  16. //        RaiseRuntimeError( "Invalid interval. This indicator requires intraday data." ) ;
  17. if NumDays < 1 or NumDays > MaxNumDays then
  18.         RaiseRuntimeError( "NumDays out of range." ) ;

  19. var1 = CurrentBar ;

  20. if CurrentBar = 1 then
  21.         begin
  22.         var2 = ( NumDays + 5 ) * RS_BarsPerDay ;                                    
  23.                                                                                         
  24.         for var3 = var2 downto 0
  25.                 begin
  26.                 condition1 = Date[var3] <> Date[var3+1] ;
  27.                 if condition1 then
  28.                         begin
  29.                         var4 = var4 + 1 ;
  30.                
  31.                                                                                                   
  32.                         oDataArray[ 4, oIndex ] = Close[var3+1] ;
  33.                         oDataArray[ 6, oIndex ] = ( oDataArray[ 2, oIndex ] + oDataArray[ 3,
  34.                          oIndex ] ) * .5 ;
  35.                         oDataArray[ 7, oIndex ] = MaxList( oDataArray[ 2, oIndex ],
  36.                          var5 ) ;
  37.                         oDataArray[ 8, oIndex ] = MinList( oDataArray[ 3, oIndex ],
  38.                          var5 ) ;
  39.                         oDataArray[ 9, oIndex ] = oDataArray[ 7, oIndex ] - oDataArray[ 8,
  40.                          oIndex ] ;
  41.                         var5 = Close[var3+1] ;
  42.                
  43.                         oIndex = oIndex - 1 ;
  44.                         if oIndex = -1
  45.                                 then oIndex = MaxNumDays ;
  46.                
  47.                                             
  48.                         oDataArray[ 1, oIndex ] = Open[var3] ;
  49.                         oDataArray[ 2, oIndex ] = High[var3] ;
  50.                         oDataArray[ 3, oIndex ] = Low[var3] ;
  51.                                                                                    
  52.                         oDataArray[ 5, oIndex ] = Ticks[var3] ;
  53.                                                                                       
  54.                                                                                       
  55.                                                                                      
  56.                                                                                       
  57.                         oDataArray[ 10, oIndex ] = 1-var3            ;               
  58.                         oDataArray[ 11, oIndex ] = 1-var3            ;               
  59.                         oDataArray[ 12, oIndex ] = var4 ;
  60.                         end
  61.                 else if var4 > 0 then
  62.                         begin
  63.                         condition1 = High[var3] > oDataArray[ 2, oIndex ] ;
  64.                         if condition1 then
  65.                                 begin
  66.                                 oDataArray[ 2, oIndex ] = High[var3] ;
  67.                                 oDataArray[ 10, oIndex ] = 1-var3            ;
  68.                                 end ;
  69.                         condition1 = Low[var3] < oDataArray[ 3, oIndex ] ;
  70.                         if condition1 then
  71.                                 begin
  72.                                 oDataArray[ 3, oIndex ] = Low[var3] ;
  73.                                 oDataArray[ 11, oIndex ] = 1-var3            ;
  74.                                 end ;
  75.                         oDataArray[ 5, oIndex ] = oDataArray[ 5, oIndex ] + Ticks[var3] ;
  76.                         end ;

  77.                 if var3 = 1 then
  78.                         begin
  79.                         oSubArray[1] = oDataArray[ 2, oIndex ] ;                        
  80.                         oSubArray[2] = oDataArray[ 3, oIndex ] ;                        
  81.                         oSubArray[3] = oDataArray[ 12, oIndex ] ;                           
  82.                         end ;
  83.                 end ;
  84.         end
  85. else                     
  86.         begin
  87.         if Date <> Date[1] then
  88.                 begin
  89.                 var4 = var4 + 1 ;
  90.        
  91.                                                                                           
  92.                 oDataArray[ 4, oIndex ] = Close[1] ;
  93.                 oDataArray[ 6, oIndex ] = ( oDataArray[ 2, oIndex ] + oDataArray[ 3,
  94.                  oIndex ] ) * .5 ;
  95.                 oDataArray[ 7, oIndex ] = MaxList( oDataArray[ 2, oIndex ], var5 ) ;
  96.                 oDataArray[ 8, oIndex ] = MinList( oDataArray[ 3, oIndex ], var5 ) ;
  97.                 oDataArray[ 9, oIndex ] = oDataArray[ 7, oIndex ] - oDataArray[ 8, oIndex ] ;
  98.                 var5 = Close[1] ;
  99.        
  100.                 oIndex = oIndex - 1 ;
  101.                 if oIndex = -1
  102.                         then oIndex = MaxNumDays ;
  103.        
  104.                                     
  105.                 oDataArray[ 1, oIndex ] = Open ;
  106.                 oDataArray[ 2, oIndex ] = High ;
  107.                 oDataArray[ 3, oIndex ] = Low ;
  108.                                                                            
  109.                 oDataArray[ 5, oIndex ] = Ticks ;
  110.                                                                               
  111.                                                                               
  112.                                                                              
  113.                                                                               
  114.                 oDataArray[ 10, oIndex ] = var1 ;               
  115.                 oDataArray[ 11, oIndex ] = var1 ;               
  116.                 oDataArray[ 12, oIndex ] = var4 ;
  117.                 end
  118.         else if var4 > 0 then
  119.                 begin
  120.                 condition1 = High > oDataArray[ 2, oIndex ] ;
  121.                 if condition1 then
  122.                         begin
  123.                         oDataArray[ 2, oIndex ] = High ;
  124.                         oDataArray[ 10, oIndex ] = var1 ;
  125.                         end ;
  126.                 condition1 = Low < oDataArray[ 3, oIndex ] ;
  127.                 if condition1 then
  128.                         begin
  129.                         oDataArray[ 3, oIndex ] = Low ;
  130.                         oDataArray[ 11, oIndex ] = var1 ;
  131.                         end ;
  132.                 oDataArray[ 5, oIndex ] = oDataArray[ 5, oIndex ] + Ticks ;
  133.                 end ;
  134.         end ;

  135. RS_DailyDataArray = 1 ;
复制代码

论坛官方微信、群(期货热点、量化探讨、开户与绑定实盘)
 
期货论坛 - 版权/免责声明   1.本站发布源码(包括函数、指标、策略等)均属开放源码,用意在于让使用者学习程序化语法撰写,使用者可以任意修改语法內容并调整参数。仅限用于个人学习使用,请勿转载、滥用,严禁私自连接实盘账户交易
  2.本站发布资讯(包括文章、视频、历史记录、教材、评论、资讯、交易方案等)均系转载自网络主流媒体,内容仅为作者当日个人观点,本网转载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。本网不对该类信息或数据做任何保证。不对您构成任何投资建议,不能依靠信息而取代自身独立判断,不对因使用本篇文章所诉信息或观点等导致的损失承担任何责任。
  3.本站发布资源(包括书籍、杂志、文档、软件等)均从互联网搜索而来,仅供个人免费交流学习,不可用作商业用途,本站不对显示的内容承担任何责任。请在下载后24小时内删除。如果喜欢,请购买正版,谢谢合作!
  4.龙听期货论坛原创文章属本网版权作品,转载须注明来源“龙听期货论坛”,违者本网将保留追究其相关法律责任的权力。本论坛除发布原创文章外,亦致力于优秀财经文章的交流分享,部分文章推送时若未能及时与原作者取得联系并涉及版权问题时,请及时联系删除。联系方式:http://www.qhlt.cn/thread-262-1-1.html
如何访问权限为100/255贴子:/thread-37840-1-1.html;注册后仍无法回复:/thread-23-1-1.html;微信/QQ群:/thread-262-1-1.html;网盘链接失效解决办法:/thread-93307-1-1.html

返回列表