home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1993 #2 / Image.iso / finance / tas515dm.zip / EXAMPLES.ZIP / AVG30.TAS < prev    next >
Text File  |  1991-11-30  |  3KB  |  78 lines

  1.     {Martin,
  2.       This is a revised Script of the 80/60 rule used by the "CHARTIST".
  3.       The script uses only those stocks with 191 days of Quotes and
  4.       calculates its results on those stocks used. No changes need to be
  5.       made for additions or deletions of the number of stocks in your
  6.       directors. A good cross-section of stocks is necessary to 'Mirror'
  7.       the publicly reported 80/60 Rule.    Leon   Mandeville, La.}
  8.  
  9. #MAX_QUOTES 191
  10. #OUTPUT_FILE 'C:\$AREPORT\REP10.PRN' N
  11. WEEKS : ARRAY;
  12. WEEKS := MOV(C,150,'S');  {Thirty Week Moving Average}
  13. COUNT := 0;
  14. IF FIRST_TICKER THEN
  15. BEGIN
  16. LINE_COUNT := 0;          {Today}
  17. LINE22 := 0;              {One Week-ago}
  18. LINE44 := 0;              {Four Weeks-ago}
  19. LINE66 := 0;              {Eight Weeks-ago}
  20. TOTCOM := 0;              {Companys used in Calculations}
  21. TOTAL := 0;               {Total Companys in your Directors}
  22. WRITELN('                      80/60 RULE');
  23. WRITELN('=============================================================');
  24. WRITELN('  AFTER A MARKET RISE AND 80% OF STOCKS ON NYSE ARE OVER');
  25. WRITELN('     THEIR 30 WEEK MOVING AVGERAGE A **CAUTION SIGNAL**');
  26. WRITELN('  OCCURS WHEN THE PERCENTAGE DROPS TO ** 60% ** OR LOWER');
  27. WRITELN('  PERCENT WILL DROP BELOW ** 30% ** BEFORE SEEING 80% AGAIN');
  28. WRITELN('------------------',DATE,'-----------------------------------');
  29. WRITELN('                                  STOCKS MOVING ABOVE OR BELOW AVG');
  30. WRITELN('#STKS  PERCENT  WHEN    TIC       CLOSE  30WK/AVG');
  31. WRITELN('=====  =======  ====    ====      =====  ========');
  32. END;
  33. TOTAL := TOTAL + 1;
  34. IF QUOTE_COUNT < 191 THEN
  35. RETURN;
  36. IF C = C THEN
  37. TOTCOM := TOTCOM + 1;
  38. IF C[-1] < WEEKS[-1] AND C > WEEKS THEN
  39. WRITELN('      ','    ','      ','        ',TICKER,C,  WEEKS,' ','UP');
  40. IF C < WEEKS AND C[-1] > WEEKS[-1] THEN
  41. WRITELN('      ','    ','      ','        ',TICKER,C,  WEEKS,' ','DOWN');
  42. IF (C - WEEKS) > 0 THEN
  43. COUNT := COUNT + 1
  44. ELSE
  45. LINE_COUNT := LINE_COUNT - 1;
  46. LINE_COUNT := LINE_COUNT + 1
  47. IF (C[-5] - (WEEKS[-5])) > 0 THEN
  48. COUNT := COUNT + 1
  49. ELSE
  50. LINE22 := LINE22 - 1;
  51. LINE22 := LINE22 + 1
  52. IF (C[-20] - (WEEKS[-20])) > 0 THEN
  53. COUNT := COUNT + 1
  54. ELSE
  55. LINE44 := LINE44 - 1;
  56. LINE44 := LINE44 + 1
  57. IF (C[-40] - (WEEKS[-40])) > 0 THEN
  58. COUNT := COUNT + 1
  59. ELSE
  60. LINE66 := LINE66 - 1;
  61. LINE66 := LINE66 + 1
  62. IF LAST_TICKER THEN
  63. WRITELN('----------------------------------');
  64. IF LAST_TICKER THEN
  65. WRITELN(INT(LINE_COUNT),(LINE_COUNT/TOTCOM)*100,' ',' ','TODAY');
  66. IF LAST_TICKER THEN
  67. WRITELN(INT(LINE22),(LINE22/TOTCOM)*100,' ',' ','WEEK-AGO');
  68. IF LAST_TICKER THEN
  69. WRITELN(INT(LINE44),(LINE44/TOTCOM)*100,' ',' ','4 WEEKS-AGO');
  70. IF LAST_TICKER THEN
  71. WRITELN(INT(LINE66),(LINE66/TOTCOM)*100,' ',' ','8 WEEKS-AGO');
  72. IF LAST_TICKER THEN
  73. WRITELN('----------------------------------');
  74. IF LAST_TICKER THEN
  75. WRITELN('NUMBER OF COMPANYS USED ','  ',INT(TOTCOM));
  76. IF LAST_TICKER THEN
  77. WRITELN('TOTAL COMPANYS IN DIRECTORS ','  ',INT(TOTAL));
  78.