home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1993 #2 / Image.iso / finance / tas515dm.zip / EXAMPLES.ZIP / EZMOVTRD.TAS < prev    next >
Text File  |  1991-06-21  |  5KB  |  126 lines

  1. { Ease of Movement - from July '91 Technical Analysis of Stocks and
  2.   Commodities.  Coded by Jim Camenos - Prodigy # VNGH10A.
  3.  
  4.   June 15, 1991 ... changes to enhance using EOM as a trading tool ....
  5.  
  6.   I've added a few more graphic capabilites to this module that should
  7.   enhance the ability to use ease of movement as a trading tool.  I've
  8.   added along with a 13 day SMA of the indicator a 4 day SMA together on
  9.   the same graph.  Looking at the oscillation of the 4 day SMA and
  10.   following price trend one can determine if trend is true.  Divergances
  11.   in the 4 day SMA vs price, eg. higher prices but lower 4 day peaks and
  12.   lower troughs would indicate a possible trend change to come.  Using
  13.   the 4 day SMA crossing the 13 day SMA can give one entry and exit points.
  14.   Example, 13 day SMA just crossed the 0 line up, and the 4 day SMA is
  15.   at a high peak.  One method would be to allow the 4 day SMA to drop into
  16.   a trough and as it swings up buy into the market as long as the 13 day
  17.   SMA remains above 0.
  18.  
  19.   I've added Bollinger Bands using 20 day EMA with 2 standard diviations.
  20.   I've also added a 20 day EMA and 49 day EMA, all plus Bollinger into
  21.   the price graph.  A majority of the charts and their patterns indicate
  22.   the direction of the move when prices reach the lower, upper or 20 day
  23.   moving average.  Crosses in either direction of the 20 day / 49 day
  24.   EMA's are important trading tools also.  Once the 49 day EMA is
  25.   penetraded, and price objectives met using Bollinger, use the
  26.   ease of movement indicators to enter or exit the market.
  27.  
  28. -----------------------------------------------------------------------------
  29.   July 1991, pg 49, Technical Analysis of Stocks and Commodities
  30.  
  31.   This indicator is an oscillator designed to reveal the direction that
  32.   a stock or commodity is moving with the least amount of resistance.
  33.   First, calculate the midpoint movement (MPM):
  34.                 MPM = TH+TL  - YH+YL
  35.                       -----    -----
  36.                         2        2
  37.   Where   TH = Today's High
  38.           YH = Yesterday's High
  39.           TL = Today's Low
  40.           YL = Yesterday's Low
  41.   If, for example, yesterday the stock had a high of 32 and a low of 31,
  42.   its midpoint would be 31-1/2.  If today it had a high of 34 and a low
  43.   of 32, then the midpoint would be 33.  The midpoint move would be 33
  44.   minus 32-1/2, or 1/2.
  45.   The next step is to calculate the box ratio.  The box is the Equivolume
  46.   box, which uses the day's high-to-low-price range for the vertical
  47.   axis and the volume for the horizontal axis.  Use a number of increments
  48.   to represent volume - for example, 10,000 shares equal 1 unit,  A 55,000
  49.   share day would have 5.5 units.  For the height of the box, use 1/8
  50.   of a point for 1 unit.  If a stock had a high of 24 and a low of
  51.   23-1/8, the number of units would be 7 units.  Divide the volume
  52.   units by the range units for the box ratio.
  53.                 EMV = Midpoint Move
  54.                       -------------
  55.                         Box Ratio
  56.   The ease of movement value is:
  57.                 EMV =       0.05
  58.                       ----------------    = 0.64
  59.                          (5.5 / 7)
  60.   Use a 13-day moving average of the EMV to calculate the ease of
  61.   movement oscillator.
  62.  
  63.   Buy or sell when indicator crosses 0.  Careful study of charts
  64.   can give one other buy/sell signals, especially in the extreme
  65.   ranges.
  66.  
  67. }
  68. #max_quotes 100
  69. #output_file 'EASEMOVE.LST'
  70. graph_switch = 1;    { 1 = graphics; 0 = no graphics  }
  71. emva  : array;
  72. emvama : array;
  73. emvama4 : array;
  74. emva_diff : array;
  75. x = 1;
  76. :loop
  77. if x < 100 then
  78.   goto ease else
  79.   begin
  80.   emvama4 = mov(emva,4,'s');
  81.   emvama4[-99+3] = emvama4[-98+3];
  82.   emvama = mov(emva,13,'s');
  83.   emvama[-99+12] = emvama[-98+12];     {aligns array so it doesn't begin     }
  84.   emva_diff = sub(emvama4,emvama);
  85.   if emvama > 0 then                   {the graph with a wide swing          }
  86.      begin
  87.      ease = '  Least Resistance is UP' ;
  88.      gosub graphit;
  89.      end
  90.      else
  91.      begin
  92.      ease = '  Least Resistance is DOWN';
  93.      gosub graphit;
  94.      end;
  95.   if graph_switch = 0 then
  96.     writeln(ticker,fullname,emvama,ease);
  97.     end;
  98.   end;
  99. return;
  100.  
  101. {  This is the routine that calculates the EOM indicator   }
  102. :ease
  103. if v = 0 then return;
  104. mpm = ((h[x]+l[x])/2)-((h[x-1]+l[x-1])/2);
  105. box_ratio_price = (h[x]-l[x])/8;
  106. if v[x] > 1000 then box_ratio_vol = v[x]/1000 or box_ratio_vol = v[x]/100;
  107. emva[x] = (mpm/(box_ratio_vol+box_ratio_price));
  108. x = x+1;
  109. goto loop;
  110. return;
  111.  
  112. {         Graphics Routine      }
  113. :graphit
  114. if graph_switch then
  115. begin
  116.    opengraph(4);      { chg to 3 to view different to view 0 xovr on 4/13  }
  117.    sizegraph(2,1,1,1); { make 1st graph 40% area}
  118.    graph(1,'PRICE',mov(c,49,'e'),'49 EMA',mov(c,20,'e'),'20 EMA',bbandb(20,2),'B Band Bot',bbandt(20,2),'B Band Top');
  119.    graph(v,'VOLUME');
  120.    graph(emvama,'EASE OF MOVEMENT 13 DAY MA',
  121.         emvama4,'EASE OF MOVEMENT 4 DAY MA');
  122.    graph(emva_diff,'EASE OF MOVEMENT OSCILLATOR');      
  123.   closegraph();
  124. end;
  125. return;
  126.