Pattern Recognition Exploration.afl
上传用户:shiqiang
上传日期:2009-06-12
资源大小:1289k
文件大小:3k
源码类别:

金融证券系统

开发平台:

Others

  1. //------------------------------------------------------------------------------
  2. //
  3. //  Formula Name:    Pattern Recognition Exploration
  4. //  Author/Uploader: Dimitris Tsokakis 
  5. //  E-mail:          tsokakis@oneway.gr
  6. //  Date/Time Added: 2001-09-03 14:03:35
  7. //  Origin:          
  8. //  Keywords:        
  9. //  Level:           medium
  10. //  Flags:           exploration
  11. //  Formula URL:     http://www.amibroker.com/library/formula.php?id=105
  12. //  Details URL:     http://www.amibroker.com/library/detail.php?id=105
  13. //
  14. //------------------------------------------------------------------------------
  15. //
  16. //  Paste the code in Automatic Analysis and Explore All Stocks for the last
  17. //  date of your data.
  18. //
  19. //  In Results click twice a label , for example "a TR" and you will collect
  20. //  all ascending Triangles marked with an "1".
  21. //
  22. //  This Exploration recognizes the following patterns:
  23. //
  24. //  +Ascending Wedges "aW"
  25. //
  26. //  +Descending Wedges "dW"
  27. //
  28. //  + ascending Triangles "a TR"
  29. //
  30. //  +descending Triangles "d TR"
  31. //
  32. //  +ascending channel "a ll"
  33. //
  34. //  +descending channel "d ll"
  35. //
  36. //  +almost horizontal channel "ll"
  37. //
  38. //  +Converging Support and Resistance
  39. //
  40. //  +Diverging Support and Resistance
  41. //
  42. //  +N/A, ie examples not belonging to any above category.
  43. //
  44. //  You may decrease sensitivity, changing
  45. //
  46. //  per=3;
  47. //
  48. //  with another percentage higher than 3.
  49. //
  50. //  For Indicator Builder paste the code in Comments.
  51. //
  52. //------------------------------------------------------------------------------
  53. /*Pattern Recognition Exploration
  54. by Dimitris Tsokakis*/
  55. x = cum(1);
  56. per = 3;
  57. s1=l;
  58. s11=h;
  59. pS = troughBars( s1, per, 1 ) == 0;
  60. endt= lastvalue(ValueWhen( pS, x, 1 ));
  61. startt=lastvalue(ValueWhen( pS, x, 2 ));
  62. dtS =endt-startt;
  63. endS = lastvalue(ValueWhen( pS, s1, 1 ) );
  64. startS = lastvalue( ValueWhen( pS, s1, 2  ));
  65. aS = (endS-startS)/dtS;
  66. pR = PEAKBars( s11, per, 1 ) == 0;
  67. endt1= lastvalue(ValueWhen( pR, x, 1 ));
  68. startt1=lastvalue(ValueWhen( pR, x, 2 ));
  69. dtR =endt1-startt1;
  70. endR = lastvalue(ValueWhen( pR, s11, 1 ) );
  71. startR = lastvalue( ValueWhen( pR, s11, 2  ));
  72. aR = (endR-startR)/dtR;
  73. filter=1;
  74. numcolumns=12;
  75. column0=aS;
  76. column1=aR;
  77. column0name="aSup";
  78. column1name="aRes";
  79. column2=ar>0 and as>3*ar;
  80. column2name="a W";
  81. column2format=1.0;
  82. column3=ar<3*as and as<0;
  83. column3name="d W";
  84. column3format=1.0;
  85. column4=abs(aR)<0.002 and aS>0;
  86. column4name="a TR";
  87. column4format=1.0;
  88. column5=abs(aS)<0.002 and ar<0;
  89. column5name="d TR";
  90. column5format=1.0;
  91. column6=abs(aR-aS)<0.1*aS;
  92. column6name="a ll";
  93. column6format=1.0;
  94. column7=abs(aR-aS)<0.1*abs(aR) and aR<0;
  95. column7name="d ll";
  96. column7format=1.0;
  97. column8=abs(aR-aS)<0.1*abs(aR) and abs(aR)<0.01;
  98. column8name=" ll ";
  99. column8format=1.0;
  100. column9=aR<0 and aS>0;
  101. column9name="Converging";
  102. column9format=1.0;
  103. column10=aR>0 and aS<0;
  104. column10name="Diverging";
  105. column10format=1.0;
  106. column11=column2==0 and column3==0 and column4==0 and 
  107. column5==0 and column6==0 and column7==0 and column8==0 
  108. and column9==0 and column10==0;
  109. COLUMN11NAME="N/A";
  110. COLUMN11FORMAT=1.0;