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

金融证券系统

开发平台:

Others

  1. //------------------------------------------------------------------------------
  2. //
  3. //  Formula Name:    QP2 Float Analysis
  4. //  Author/Uploader: Steve Wiser 
  5. //  E-mail:          slwiserr@erols.com
  6. //  Date/Time Added: 2001-08-12 11:06:29
  7. //  Origin:          
  8. //  Keywords:        
  9. //  Level:           basic
  10. //  Flags:           exploration,indicator
  11. //  Formula URL:     http://www.amibroker.com/library/formula.php?id=99
  12. //  Details URL:     http://www.amibroker.com/library/detail.php?id=99
  13. //
  14. //------------------------------------------------------------------------------
  15. //
  16. //  As an exploration this looks for the most recent peak
  17. //
  18. //  or trough and from that point calculates the amount of
  19. //
  20. //  volume that has traded. Taking this volume and dividing
  21. //
  22. //  this be the amount of float (shares available for trading
  23. //
  24. //  that are not held by insiders) to get a percentage of
  25. //
  26. //  the total float that has been trading since that last
  27. //
  28. //  peak or trough. From Wood's Precision Float indicator
  29. //
  30. //  type of theory somewhere between 80 and 120 percent of
  31. //
  32. //  the float one has a higher potential for finding trend
  33. //
  34. //  changes. Of course that are always exceptions to the
  35. //
  36. //  rule.
  37. //
  38. //  If you use this an an indicator look at the title to
  39. //
  40. //  see the detail information concerning the amount of
  41. //
  42. //  float, the percentage of float traded since the last
  43. //
  44. //  trend change and the number of days since a complete
  45. //
  46. //  float turnover based on a 50 DVA.
  47. //
  48. //------------------------------------------------------------------------------
  49. MaxGraph = 9;
  50. EnableScript("jscript");
  51. // this is to show only one entry per stock
  52. ticker = name();
  53. <%
  54. CInfo = new ActiveXObject("QuotesPlus.CompanyInfo");
  55. CInfo.Symbol = AFL("ticker");
  56. // try-catch block handles the situation when
  57. // QuotesPlus object returns strange values
  58. try
  59. {
  60. AFL("Float") = Number( CInfo.Float() );
  61. }
  62. catch( e )
  63. {
  64. AFL("Float") = 0;
  65. }
  66. %>
  67. PercentChange=8;
  68. PkBars = PeakBars(C,PerCentChange,1);
  69. TghBars = TroughBars(C,PerCentChange,1);
  70. Bars1 = IIF(PkBars<TghBars,PkBars,TghBars);
  71. Bars1 = IIF( IsEmpty( Bars1 ), 0, Bars1 ); 
  72. TotalVol1 = Sum(Volume,Bars1)/1000000;     
  73. PerCentFloat = TotalVol1/Float*100;
  74. filter = cum( 1 ) == lastvalue( cum( 1 ) ); 
  75. /*filter = (PerCentFloat > 85) OR (PerCentFloat < 115);*/
  76. numcolumns = 4;
  77. column0 = Float;
  78. column0name = "   Float   ";
  79. Column1 = ma(Volume,50)/1e6;
  80. Column1Name = "50 DVA";
  81. Column2 = TotalVol1;
  82. Column2Name = "TotalVolume";
  83. Column3 = PerCentFloat;
  84. Column3Name = "PerCentOfFloat";
  85. GraphXspace = 5;
  86. graph1 = close;
  87. Graph1Style= 64;
  88. graph0 = zig( close, PerCentChange );
  89. graphxspace= 9;
  90. title="The Per Cent of Float today="  +  WriteVal(PerCentFloat) + 
  91.         ";    Float="  +   WriteVal(Float)   +
  92.         ";    50DVA = " +   WriteVal(ma(V,50)/1e6 )  +  "    Million Shares" +
  93.         "   Days since for float turnover based on MOV" + 
  94.             WriteVal(Float/(ma(v,50)/1e6) );