home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1993 #2
/
Image.iso
/
finance
/
tas515dm.zip
/
EXAMPLES.ZIP
/
EZMOVTRD.TAS
< prev
next >
Wrap
Text File
|
1991-06-21
|
5KB
|
126 lines
{ Ease of Movement - from July '91 Technical Analysis of Stocks and
Commodities. Coded by Jim Camenos - Prodigy # VNGH10A.
June 15, 1991 ... changes to enhance using EOM as a trading tool ....
I've added a few more graphic capabilites to this module that should
enhance the ability to use ease of movement as a trading tool. I've
added along with a 13 day SMA of the indicator a 4 day SMA together on
the same graph. Looking at the oscillation of the 4 day SMA and
following price trend one can determine if trend is true. Divergances
in the 4 day SMA vs price, eg. higher prices but lower 4 day peaks and
lower troughs would indicate a possible trend change to come. Using
the 4 day SMA crossing the 13 day SMA can give one entry and exit points.
Example, 13 day SMA just crossed the 0 line up, and the 4 day SMA is
at a high peak. One method would be to allow the 4 day SMA to drop into
a trough and as it swings up buy into the market as long as the 13 day
SMA remains above 0.
I've added Bollinger Bands using 20 day EMA with 2 standard diviations.
I've also added a 20 day EMA and 49 day EMA, all plus Bollinger into
the price graph. A majority of the charts and their patterns indicate
the direction of the move when prices reach the lower, upper or 20 day
moving average. Crosses in either direction of the 20 day / 49 day
EMA's are important trading tools also. Once the 49 day EMA is
penetraded, and price objectives met using Bollinger, use the
ease of movement indicators to enter or exit the market.
-----------------------------------------------------------------------------
July 1991, pg 49, Technical Analysis of Stocks and Commodities
This indicator is an oscillator designed to reveal the direction that
a stock or commodity is moving with the least amount of resistance.
First, calculate the midpoint movement (MPM):
MPM = TH+TL - YH+YL
----- -----
2 2
Where TH = Today's High
YH = Yesterday's High
TL = Today's Low
YL = Yesterday's Low
If, for example, yesterday the stock had a high of 32 and a low of 31,
its midpoint would be 31-1/2. If today it had a high of 34 and a low
of 32, then the midpoint would be 33. The midpoint move would be 33
minus 32-1/2, or 1/2.
The next step is to calculate the box ratio. The box is the Equivolume
box, which uses the day's high-to-low-price range for the vertical
axis and the volume for the horizontal axis. Use a number of increments
to represent volume - for example, 10,000 shares equal 1 unit, A 55,000
share day would have 5.5 units. For the height of the box, use 1/8
of a point for 1 unit. If a stock had a high of 24 and a low of
23-1/8, the number of units would be 7 units. Divide the volume
units by the range units for the box ratio.
EMV = Midpoint Move
-------------
Box Ratio
The ease of movement value is:
EMV = 0.05
---------------- = 0.64
(5.5 / 7)
Use a 13-day moving average of the EMV to calculate the ease of
movement oscillator.
Buy or sell when indicator crosses 0. Careful study of charts
can give one other buy/sell signals, especially in the extreme
ranges.
}
#max_quotes 100
#output_file 'EASEMOVE.LST'
graph_switch = 1; { 1 = graphics; 0 = no graphics }
emva : array;
emvama : array;
emvama4 : array;
emva_diff : array;
x = 1;
:loop
if x < 100 then
goto ease else
begin
emvama4 = mov(emva,4,'s');
emvama4[-99+3] = emvama4[-98+3];
emvama = mov(emva,13,'s');
emvama[-99+12] = emvama[-98+12]; {aligns array so it doesn't begin }
emva_diff = sub(emvama4,emvama);
if emvama > 0 then {the graph with a wide swing }
begin
ease = ' Least Resistance is UP' ;
gosub graphit;
end
else
begin
ease = ' Least Resistance is DOWN';
gosub graphit;
end;
if graph_switch = 0 then
writeln(ticker,fullname,emvama,ease);
end;
end;
return;
{ This is the routine that calculates the EOM indicator }
:ease
if v = 0 then return;
mpm = ((h[x]+l[x])/2)-((h[x-1]+l[x-1])/2);
box_ratio_price = (h[x]-l[x])/8;
if v[x] > 1000 then box_ratio_vol = v[x]/1000 or box_ratio_vol = v[x]/100;
emva[x] = (mpm/(box_ratio_vol+box_ratio_price));
x = x+1;
goto loop;
return;
{ Graphics Routine }
:graphit
if graph_switch then
begin
opengraph(4); { chg to 3 to view different to view 0 xovr on 4/13 }
sizegraph(2,1,1,1); { make 1st graph 40% area}
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');
graph(v,'VOLUME');
graph(emvama,'EASE OF MOVEMENT 13 DAY MA',
emvama4,'EASE OF MOVEMENT 4 DAY MA');
graph(emva_diff,'EASE OF MOVEMENT OSCILLATOR');
closegraph();
end;
return;