: | : | :期货量化学习 | :期货量化 |
返回列表 发帖

【TrendLines Automatic】

【TrendLines Automatic】

  1. inputs:
  2.         SwHiStrength( 4 ),
  3.         SwLoStrength( 4 ),
  4.         BarsPast( 10 ),
  5.         History( "Yes" ),
  6.         DnTLColor( Red ),
  7.         UpTLColor( Cyan ),
  8.         AlertType( "IntraBar" ) ;

  9. variables:
  10.         var0( -1 ),
  11.         var1( 0 ),
  12.         var2( false ),
  13.         var3( DnTLColor ),

  14.         var4( -1 ),
  15.         var5( 0 ),
  16.         var6( false ),
  17.         var7( UpTLColor ),

  18.         var8( 0 ),
  19.         var9( 0 ),
  20.         var10( false ),
  21.         var11( UpperStr( AlertType ) ) ;

  22. arrays:
  23.         arr0[10]( 0 ),
  24.         arr1[10]( 0 ),
  25.         arr2[10]( -1000000 ),
  26.         arr3[10]( 0 ),
  27.         arr4[10]( 0 ),
  28.         arr5[10]( 1000000 ) ;

  29. if CurrentBar = 1 then
  30.         var10 = UpperStr( History ) = "YES" or UpperStr( History ) = "Y" ;
  31.                                                                 

  32. var9 = CurrentBar;

  33. condition1 = SwingHighBar( 1, High, SwHiStrength, SwHiStrength + 1 ) = SwHiStrength ;
  34. if condition1 then
  35.                               
  36.         begin

  37.                             
  38.         for Value1 = 9 downto 0
  39.                 begin
  40.                 arr0[ Value1 + 1 ] = arr0[Value1] ;
  41.                 arr1[ Value1 + 1 ] = arr1[Value1] ;
  42.                 arr2[ Value1 + 1 ] = arr2[Value1] ;
  43.                 end ;

  44.                                                                    
  45.         arr0[0] = Date[SwHiStrength] ;
  46.         arr1[0] = Time[SwHiStrength] ;
  47.         arr2[0] = High[SwHiStrength] ;

  48.                                                                                     
  49.         for Value2 = 1 to 10
  50.                 begin
  51.                 if arr2[Value2] > arr2[0] then
  52.                         begin
  53.                         var8 = Value2 ;
  54.                         Value2 = 11 ;                                                         
  55.                                                            
  56.                         end ;
  57.                 end ;

  58.         if Value2 = 12 then                                               
  59.                 begin
  60.                 if var0 >= 0 then                                 
  61.                         begin
  62.                         condition1 = var10 and var2 = false ;
  63.                         if condition1 then
  64.                                                                                              
  65.                                                              
  66.                                 begin
  67.                                 TL_SetEnd( var0, Date, Time, TL_GetValue( var0, Date, Time ) ) ;
  68.                                 TL_SetExtRight( var0, false ) ;
  69.                                 end
  70.                         else if var10 = false then
  71.                                                                                
  72.                                 TL_Delete( var0 ) ;
  73.                         end ;
  74.                                                                                          
  75.                 var0 = TL_New( arr0[var8], arr1[var8], arr2[var8],
  76.                  arr0[0], arr1[0], arr2[0] ) ;
  77.                 if var2 = true then
  78.                         var2 = false ;
  79.                 var1 = var9 - SwHiStrength ;
  80.                 TL_SetExtLeft( var0, false ) ;
  81.                 TL_SetExtRight( var0, true ) ;
  82.                 if var3 <> 99 then
  83.                         TL_SetColor( var0, var3 ) ;
  84.                 if var11 = "ONCLOSE" then
  85.                         TL_SetAlert( var0, 2 )
  86.                 else if var11 = "INTRABAR" then
  87.                         TL_SetAlert( var0, 1 )
  88.                 else
  89.                         TL_SetAlert( var0, 0 ) ;
  90.                 end ;
  91.         end ;

  92. condition1 = SwingLowBar( 1, Low, SwLoStrength, SwLoStrength + 1 ) = SwLoStrength ;
  93. if condition1 then                              
  94.         begin                            
  95.         for Value1 = 9 downto 0
  96.                 begin
  97.                 arr3[Value1+1] = arr3[Value1] ;
  98.                 arr4[Value1+1] = arr4[Value1] ;
  99.                 arr5[Value1+1] = arr5[Value1] ;
  100.                 end ;

  101.                                                                    
  102.         arr3[0] = Date[SwLoStrength] ;
  103.         arr4[0] = Time[SwLoStrength] ;
  104.         arr5[0] = Low[SwLoStrength] ;

  105.                                                                                   
  106.         for Value2 = 1 to 10
  107.                 begin
  108.                 if arr5[Value2] < arr5[0] then
  109.                         begin
  110.                         var8 = Value2 ;
  111.                         Value2 = 11 ;                                                         
  112.                                                            
  113.                         end ;
  114.                 end ;

  115.         if Value2 = 12 then                                               
  116.                 begin
  117.                 if var4 >= 0 then                                
  118.                         begin
  119.                         condition1 = var10 and var6 = false ;
  120.                         if condition1 then                                                              
  121.                                 begin
  122.                                 TL_SetEnd( var4, Date, Time, TL_GetValue( var4, Date, Time ) ) ;
  123.                                 TL_SetExtRight( var4, false ) ;
  124.                                 end
  125.                         else if var10 = false then
  126.                                                                                
  127.                                 TL_Delete( var4 ) ;
  128.                         end ;
  129.                                                                                          
  130.                 var4 = TL_New( arr3[var8], arr4[var8], arr5[var8],
  131.                  arr3[0], arr4[0], arr5[0] ) ;
  132.                 if var6 = true then
  133.                         var6 = false ;
  134.                 var5 = var9 - SwLoStrength ;
  135.                 TL_SetExtLeft( var4, false ) ;
  136.                 TL_SetExtRight( var4, true ) ;
  137.                 if var7 <> 99 then
  138.                         TL_SetColor( var4, var7 ) ;
  139.                 if var11 = "ONCLOSE" then
  140.                         TL_SetAlert( var4, 2 )
  141.                 else if var11 = "INTRABAR" then
  142.                         TL_SetAlert( var4, 1 )
  143.                 else
  144.                         TL_SetAlert( var4, 0 ) ;
  145.                 end ;
  146.         end ;

  147.                                                                                     
  148.                                                                                     
  149.                   
  150. condition1 = var0 >= 0
  151.         and var2 = false
  152.         and var9 > var1 + SwHiStrength + BarsPast
  153.         and ( Close > TL_GetValue( var0, Date, Time ) )[BarsPast];

  154. if condition1
  155. then
  156.         begin
  157.         TL_SetEnd( var0, Date, Time, TL_GetValue( var0, Date, Time ) ) ;
  158.         TL_SetExtRight( var0, false ) ;
  159.         var2 = true ;
  160.         end ;

  161. condition1 = var4 >= 0
  162.         and var6 = false
  163.         and var9 > var5 + SwLoStrength + BarsPast
  164.         and ( Close < TL_GetValue( var4, Date, Time ) )[BarsPast];

  165. if condition1
  166. then
  167.         begin
  168.         TL_SetEnd( var4, Date, Time, TL_GetValue( var4, Date, Time ) ) ;
  169.         TL_SetExtRight( var4, false ) ;
  170.         var6 = true ;
  171.         end ;
复制代码

论坛官方微信、群(期货热点、量化探讨、开户与绑定实盘)
 
期货论坛 - 版权/免责声明   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

返回列表