home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1993 #2
/
Image.iso
/
finance
/
tas515dm.zip
/
EXAMPLES.ZIP
/
BIG-CHG2.TAS
< prev
next >
Wrap
Text File
|
1992-12-12
|
6KB
|
149 lines
{ BIG-CHNG.TAS JEC 03 JULY 1991 }
{ Rev.: December 5, 1992 Added Close price, IBD Vol % and 50dma of Vol
Scott Cunningham, Prodigy ID RXVP06A}
{ Rev.: October 26, 1992 Added VOLCHEK and printout }
{ Rev.: August 21, 1991 10:35 PM }
{}
{
This script provides a fast way to check your watch list for any stocks
that have had more than $1.50 change in value since previous day. It
also alerts you to stocks which have split, since their 'adjusted'
value will look like a BIG down change!
Most of the indexes have been skipped, since they will often be large
changes. If you want to monitor them also, simply delete the appropriate
if TICKER =
line(s) from the next section.
This scrpt was written by: Jim Cooper, P.O.Box 73, Paramus, NJ 07653.
Prodigy ID: NSWF53C
If you find this utility useful, a shareware donation of $5 would
help assure further such utilities being released in the future.
(Send $10 if you would like to receive, in the mail, a disk with
the next revision/enhancement of this utility.) Thank you.
}
{-------------------------------------------------------------------}
#OUTPUT_FILE 'c:\TAS\lst\atasfile.lst'
if TICKER = 'AMEX' then return;
if TICKER = 'DJ-65' then return;
if TICKER = 'NSDQ' then return;
if TICKER = 'OEX' then return;
if TICKER = 'DJIA' then return;
if TICKER = 'DJTA' then return;
if TICKER = 'SP-500' then return;
if TICKER = 'NYSE' then return;
if TICKER = 'NYAD' then return;
if TICKER = 'NYDE' then return;
if TICKER = 'NYUC' then return;
if TICKER = 'UVDV' then return;
if TICKER = 'HI-LO' then return;
{-------------------------------------------------------------------}
#MAX_QUOTES 50
if quote_count < 50 then return;
if first_ticker then
begin
linez = 99;
pagez = 1;
gosub header;
end;
MV50 : array;
MV50 = mov(v,50,'s');
pctv = ((v[0]-mv50)/mv50)*100;
level = 1;
{-----------------------------------------}
{General conditions}
PRCHNG = (C - C[-1]); {Change in price since yestday}
PCTPRC = (PRCHNG * 100)/(C[-1]) { % change in price since ystdy}
{}
VOLCHNG = int(100*(V - V[-1])/V[-1]); {Change in volume since yestday}
{}
{-------------------------------------------------------------------}
{-------------------------------------------------------------------}
:START
{-------------------------------------------------------------------}
gosub PRC_CHNG;
gosub VOLCHEK;
gosub writedata;
return; { Return for next ticker processing }
{-------------------------------------------------------------------}
{END }
{-------------------------------------------------------------------}
{ SUBROUTINES
{-------------------------------------------------------------------}
{-------------------------------------------------------------------}
:PRC_CHNG
IF (PRCHNG > 1.5) OR (PRCHNG < -1.5)
THEN begin
pt = pt + 1;
writeln
(trim(Ticker),' - Big Price Change of $',PRCHNG,' ',
'(',trim(format(PCTPRC,'%5.1f')),'%)',' ',' to Close at $',c,'\n');
linez = (linez + 2);
end;
return; { Return from sub-routine loop }
{-------------------------------------------------------------------}
:writedata
if pt = 0 then return;
else
begin
writeln
('--------------------------------------------------------------------');
linez = (linez + 1);
pt = 0;
end;
return; { Return from sub-routine loop }
{-------------------------------------------------------------------}
:header
if linez >= 47 then
begin
write(dates[0],' Page',int(pagez));
writeln(' C:\\TAS\\BIG-CHG2.LST');
write('----------------------------------------');
writeln('-------------------------------');
linez = 5;
pagez = pagez + 1;
end;
{-------------------------------------------------------------------}
if first_ticker
THEN begin
linez = 13;
end;
return; { Return from sub-routine loop }
{-------------------------------------------------------------------}
:VOLCHEK
if (V[0] = 0) or (MV50 = 0) or (pt = 0) then return;
else;
if V[0] >= 4*MV50 then { if vol. today > 4 times 50-day MA.... }
begin
writeln(ticker,' volume MORE THAN 4 TIMES 50-day MA ...');
linez = (linez + 1);
goto volume;
end;
else;
if V[0] >= 3*MV50 then { if vol. today > triple 50-day mov.avg.... }
begin
writeln(ticker,' volume MORE THAN TRIPLE 50-day MA ...');
linez = (linez + 1);
goto volume;
end;
else;
if V[0] >= 2*MV50 then { if vol. today > twice 50-day mov.avg.... }
begin
writeln(ticker,' volume MORE THAN DOUBLE 50-day MA ...');
linez = (linez + 1);
goto volume;
end;
else;
if V[0] <= MV50/2 then { if vol. today < half 50-day mov.avg.s..}
begin
writeln(ticker,' volume LESS THAN HALF 50-day MA ...');
linez = (linez + 1);
goto volume;
end;
:volume
writeln
('Volume today of ',trim(format(V[0]*100,'%9.0f')),' is ',int(pctv),
' percent of 50-day MA of ',trim(format(MV50[0]*100,'%9.0f')),'');
linez = (linez + 1);
pt = pt + 1;
return; { Return from sub-routine loop }
{-------------------------------------------------------------------}