home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The World of Computer Software
/
World_Of_Computer_Software-02-385-Vol-1of3.iso
/
g
/
getquo30.zip
/
MAKE_SCR.LST
< prev
next >
Wrap
File List
|
1993-01-09
|
10KB
|
262 lines
***** UTAH Fortran 1.0 (Mod 4) ** Compiling File: C:MAKE_SCR.FOR *****
0001 OPTIONS X
C C:\AUTOSIG\MAKE_SCR.FOR
C
C This UTAH FORTRAN program creates an .SCR file for AUTOSIG to
C access BASICQUOTES. It assumes the default directory is C:\AUTOSIG
C and all files are located there unless a configuration control file
C exists.
C
C Inputs:
C TICKER.LST - List of stock symbols in Fortran A6 format.
C PROGRAM.CTL - Configuration control file containing drives, paths,
C and PROGRAM file name if not C:\AUTOSIG\AUTOSIG.EXE
C
C Outputs:
C ATOSTART.BAT - Batch file for automatic operation.
C DYyymmdd.LOG - Session log of the quotes recieved.
C DYyymmdd.SCR - SCR file envoked by ATOSTART when AUTOSIG is started.
C where yy - Year
C mm - Month
C dd - Day
C
C Rev. 0 Clinton D. Huntemann - April 27, 1992
C (71247,2065)
C 5 Longwood Avenue
C Londonderry, New Hampshire 03053
C phone (603) 432-7554
C
C Rev. 1 Clinton D. Huntemann - May 6, 1992
C Added '/Z' to the script file to automatically logout
C from AUTOSIG (allows unattended operation). Also, added
C PROGRAM.CTL for variable configuration control. STRIPPER
C was added to the processing stream in ATOSTART.BAT.
C
C Rev. 1A Clinton D. Huntemann - May 13, 1992
C Fixed embarassing errors.
C
C Rev. 1B Clinton D. Huntemann - May 23, 1992
C Adjusted script file to compensate for missing or not
C found symbols. (Part of overall GETQUOTE fix.)
C
C Rev. 2 Clinton D. Huntemann - Oct. 25, 1992
C Added code to skip weekends.
C
C Rev. 2A Clinton D. Huntemann - Nov. 27, 1992
C Incorporated weekend skip code into subroutine to search a
C file NODAYS.DAT for a list of holidays and other days the
C market may be closed.
C
C Rev. 2B Clinton D. Huntemann - Jan. 9, 1993
C Fixed some poor control commands in ATOSTART.BAT when run
C without a PROGRAM.CTL file.
C
0002 DIMENSION FNAME1(2),FNAME2(2),MPATH(10),PATH1(10),PATH2(10),
1PATH3(10),ATO(2),DRV(10)
0003 REAL RYR,RMO,RDY
0004 INTEGER MONTH,DAY,YEAR,WEEK,SKIP
C
C Update data file name based on system date
C
0005 CALL DATE(MONTH,DAY,YEAR,WEEK)
0006 YEAR = YEAR-100*INT(YEAR/100)
0007 ENCODE (RMO,2,4001) MONTH
0008 4001 FORMAT (I2)
0009 IF (MONTH .LT. 10) ENCODE (RMO,2,4002) MONTH
0010 4002 FORMAT ('0',I1)
0011 ENCODE (RDY,2,4001) DAY
0012 IF (DAY .LT. 10) ENCODE (RDY,2,4002) DAY
0013 ENCODE (RYR,2,4001) YEAR
0014 IF (YEAR .LT. 10) ENCODE (RYR,2,4002) YEAR
0015 ENCODE (FNAME1,14,4003) RYR,RMO,RDY
0016 4003 FORMAT ('DY',3A2,'.LOG')
0017 ENCODE (FNAME2,14,4004) RYR,RMO,RDY
0018 4004 FORMAT ('DY',3A2,'.SCR')
C
C Retrieve the configuration file
C
0019 DO 51 I=1,10
0020 DRV(I) = 'C: '
0021 MPATH(I)=' '
0022 PATH1(I)=' '
0023 PATH2(I)=' '
0024 51 PATH3(I)=' '
0025 ENCODE (MPATH,8,5003) '\5C\AUTOSIG'
0026 5003 FORMAT (10A6)
0027 ENCODE (PATH1,8,5003) '\5C\AUTOSIG'
0028 ENCODE (PATH2,8,5003) '\5C\AUTOSIG'
0029 ENCODE (PATH3,8,5003) '\5C\AUTOSIG'
0030 ENCODE (ATO,8,5003) 'AUTOSIG '
0031 IERR=0
0032 CALL OPEN (4,'PROGRAM.CTL',IERR)
0033 IF (IERR .NE. 0) GOTO 59
0034 READ (4,5005) DRV
0035 5005 FORMAT (12X,10(A2,1X))
0036 READ (4,5004) ATO
0037 5004 FORMAT (12X,A6,A2)
0038 READ (4,5006) MPATH
0039 5006 FORMAT (12X,10A6)
0040 READ (4,5006) PATH1
0041 READ (4,5006) PATH2
0042 READ (4,5006) PATH3
0043 CALL CLOSE (4)
C
C Update the AUTOSIG Batch File
C
0044 59 CALL OPEN (5,'ATOSTART.BAT')
0045 WRITE (5,4999) FNAME2
0046 4999 FORMAT ('echo Starting ATOSTART for ',2A6)
0047 IF ((DRV(1).NE.'C: ').AND.(DRV(1).NE.' '))
1WRITE (5,5000) DRV(1),MPATH
0048 5000 FORMAT ('SUBST ',A2,' ',10A6)
0049 IF ((DRV(2).NE.'C: ').AND.(DRV(2).NE.' '))
1WRITE (5,5000) DRV(2),PATH1
0050 IF ((DRV(3).NE.'C: ').AND.(DRV(3).NE.' '))
1WRITE (5,5000) DRV(3),PATH2
0051 IF ((DRV(4).NE.'C: ').AND.(DRV(4).NE.' '))
1WRITE (5,5000) DRV(4),PATH3
0052 CALL NODAY(SKIP)
0053 IF (SKIP .NE. 0) GOTO 60
0054 WRITE (5,5002) DRV(1),ATO,FNAME2
0055 5002 FORMAT ('call ',A2,A6,A2,' /Z/X',2A6)
0056 WRITE (5,5001)
0057 5001 FORMAT ('call STRIPPER')
0058 60 DO 61 M=1,10
0059 61 IF ((DRV(M).NE.'C: ').AND.(DRV(M).NE.' '))
1WRITE (5,5007) DRV(M)
0060 5007 FORMAT ('SUBST ',A2,' /d')
0061 CALL CLOSE (5)
C
C Create the .SCR file
C
0062 CALL OPEN (5,FNAME2)
0063 WRITE (5,6000)
0064 6000 FORMAT (' sendline ATDT %HOSTPHONE'/' match CONNECT')
0065 WRITE (5,6001)
0066 6001 FORMAT (' pause 1'/' send ''^C'''/' match ''User ID:''')
0067 WRITE (5,6002)
0068 6002 FORMAT (' display ''{'' %COM ''}'''/' sendline %HOSTUSERID')
0069 WRITE (5,6003)
0070 6003 FORMAT (' if %hostuserid ''\5C\'' then goto have.pswd')
0071 WRITE (5,6004)
0072 6004 FORMAT (' match ''Password:'''/' sendline %HOSTPASSWORD')
0073 WRITE (5,6005)
0074 6005 FORMAT ('label have.pswd'/' sendline SET BRIEF NO'
1/' match ''choice''')
0075 WRITE (5,6006) DRV(2),FNAME1
0076 6006 FORMAT (' capture ',A2,2A6)
C
C Open the Ticker List file
C
0077 CALL OPEN (4,'TICKER.LST')
0078 99 WRITE (5,6007)
0079 6007 FORMAT (' sendline ''GO BASICQUOTE''')
0080 IF ((WEEK .EQ. 0).OR.(WEEK .EQ. 6)) GOTO 200
C
C Cycle through the ticker symbols on file (if not a weekend)
C
0081 DO 101 K=1,3
0082 READ (4,6009,ERR=199,END=200) TICKER
0083 6009 FORMAT (1A6)
0084 WRITE (5,6008) TICKER
0085 6008 FORMAT (' match ''Issue:'''/' sendline ''',A6,Z)
0086 DO 100 I=2,6
0087 READ (4,6009,ERR=199,END=101) TICKER
0088 100 WRITE (5,6010) TICKER
0089 6010 FORMAT (',',A6,Z)
0090 101 WRITE (5,6011)
0091 6011 FORMAT ('''')
0092 WRITE (5,6012)
0093 6012 FORMAT (' match ''Issue:'''/' send ''^M''')
0094 GO TO 99
C
C Close the Script file
C
0095 200 CALL CLOSE (4)
0096 WRITE (5,6013)
0097 6013 FORMAT (' match ''Issue:'''/' capture OFF'/' send ''^M'''/
1' exit Z')
C
C Cleanup and exit
C
0098 CALL CLOSE (5)
0099 WRITE (0,7000) FNAME2,FNAME1
0100 7000 FORMAT (//'Files ATOSTART.BAT and ',2A6,' created.'/
1'To start, type ATOSTART'/
2'File ',2A6,' will be created when ATOSTART is run.'//)
0101 STOP 'Normal stop'
C
0102 199 CALL CLOSE (4)
0103 CALL CLOSE (5)
0104 WRITE (0,7099) FNAME2,FNAME2
0105 7099 FORMAT ('Error creating files ATOSTART.BAT or ',2A6,'.'/
1'DO NOT USE ',2A6,'.'//)
0106 STOP 'Abnormal stop'
0107 END
** Generated Code = 3166 (Decimal), 0C5E (Hex) Bytes
0001 SUBROUTINE NODAY(SKIP)
C
C This Subroutine looks up a list of dates to skip processing
C (i.e. days the market is closed). It returns SKIP > 0 if current
C date is a weekend or matches a date in the list.
C
C
C Programm Originator:
C Clinton D. Huntemann (71247,2065)
C 5 Longwood Avenue
C Londonderry, New Hampshire 03053
C phone (603) 432-7554
C
C Revision History:
C Rev. 0 - November 28, 1992 CDH
C Original
C
C
0002 DIMENSION LINE(7)
0003 INTEGER MONTH,DAY,YEAR,WEEK,SKIP
C
C Get current date
C
0004 CALL DATE(MONTH,DAY,YEAR,WEEK)
0005 IF ((WEEK.EQ.0).OR.(WEEK.EQ.6)) THEN
0006 SKIP = 6
0007 TYPE 'Processing skipped for weekends'
0008 RETURN
0009 ENDIF
C
C Open list of skipped days
C
0010 CALL OPEN (4,'NODAYS.DAT',SKIP)
0011 IF (SKIP.NE.0) THEN
0012 TYPE 'NODAYS.DAT file not found'
0013 SKIP = 0
0014 RETURN
0015 ENDIF
0016 READ (4,1000,END=199) LINE
0017 1000 FORMAT (7A6)
0018 READ (4,1000,END=199) LINE
C
C Look for dates match
C
0019 100 READ (4,1000,END=199) LINE
0020 DECODE (LINE,10,1001) IMO,IDY,IYR
0021 1001 FORMAT (2(I2,1X),I4)
0022 IF ((IMO.EQ.MONTH).AND.(IDY.EQ.DAY).AND.(IYR.EQ.YEAR)) THEN
0023 SKIP = 1
0024 CALL CLOSE (4)
0025 TYPE 'Processing skipped via NODAYS.DAT entry'
0026 WRITE (1,1000) LINE
0027 RETURN
0028 ENDIF
0029 GOTO 100
0030 199 SKIP = 0
0031 CALL CLOSE (4)
0032 RETURN
0033 END
** Generated Code = 543 (Decimal), 021F (Hex) Bytes
No Compile errors