Stock Projector

Developer(s): Gene G. Buza
Date: September 1983
Type: Program
Platform(s): TS 1000

Appears on

Cassette to accompany the September 1983 issue of Synchro-Sette.

Source Code

  10 LET A$="000"+CHR$ 111
  20 LET SM=99999999
  30 LET N=0
  40 LET LG=0
 100 FAST 
 110 CLS 
 120 PRINT AT 1,7;"% %S%T%O%C%K% %P%R%O%J%E%C%T%O%R% "
 130 PRINT AT 5,0;"TO INPUT OR ADD DATA";TAB 30;1
 140 PRINT AT 7,0;"TO PERFORM PEAK SEARCH";TAB 30;2
 150 PRINT AT 9,0;"TO SEE 20 DAY\ 'S QUOTATIONS";TAB 30;3
 160 PRINT AT 11,0;"TO INITIALIZE FILE";TAB 30;4
 170 PRINT AT 13,0;"TO SAVE ON TAPE";TAB 30;5
 180 PRINT AT 15,0;"TO EDIT DATA";TAB 30;6
 190 SLOW 
 200 PRINT AT 21,6;" ENTER ONE OF ABOVE ";AT 21,6;"% %E%N%T%E%R% %O%N%E% %O%F% %A%B%O%V%E% "
 210 LET Y$=INKEY$
 220 IF CODE Y$<29 OR CODE Y$>34 THEN GOTO 200
 230 FAST 
 240 CLS 
 250 GOTO VAL Y$*1000
1000 LET N=VAL A$( TO 3)
1002 IF LEN A$>4 THEN GOSUB 1800
1005 LET N=N+1
1010 SCROLL 
1015 PRINT "................................"
1017 SCROLL 
1020 PRINT "ENTER DATE FOR QUOTE NO.";N
1025 SLOW 
1030 SCROLL 
1040 PRINT "(JUST PRESS ENTER IF NO MORE)"
1045 SCROLL 
1047 PRINT "................................"
1048 DIM N$(8)
1050 INPUT D$
1052 IF D$="" THEN GOTO 1500
1055 LET N$=D$
1060 LET D$=N$
1070 SCROLL 
1080 SCROLL 
1090 PRINT "(";N;") - (";D$;")"
1100 SCROLL 
1110 SCROLL 
1120 PRINT "ENTER PRICE QUOTE FOR THAT DAY."
1130 INPUT Q$
1140 SCROLL 
1150 SCROLL 
1160 PRINT "(";N;") - (";D$;") - (";Q$;")"
1170 SCROLL 
1180 SCROLL 
1190 SCROLL 
1200 LET A$=A$+STR$ N+CHR$ 67+D$+CHR$ 68+Q$+CHR$ 111
1210 GOTO 1005
1500 FAST 
1510 LET A$(1 TO 3)=STR$ (N-1)
1520 GOTO 100
1800 PRINT AT 18,0;"LAST ENTRY WAS :::"
1810 FOR I=LEN A$-1 TO 4 STEP -1
1820 IF A$(I)=CHR$ 111 THEN GOTO 1840
1830 NEXT I
1840 FOR A=I+1 TO LEN A$-1
1850 IF A$(A)=CHR$ 67 THEN GOTO 1870
1860 NEXT A
1870 LET Z$=A$(I+1 TO A-1)
1880 FOR I=A+1 TO LEN A$-1
1890 IF A$(I)=CHR$ 68 THEN GOTO 1910
1900 NEXT I
1910 LET D$=A$(A+1 TO I-1)
1920 LET Q$=A$(I+1 TO LEN A$-1)
1930 PRINT "(";Z$;") - (";D$;") - (";Q$;")"
1940 RETURN 
2000 IF VAL A$( TO 3)>27 THEN GOTO 2100
2010 PRINT AT 10,0;"THE FILE DOES NOT HAVE AT LEAST 28 QUOTATIONS - PRESS ENTER TO  RETURN :::"
2020 PAUSE 40000
2030 GOTO 100
2100 LET X=(VAL A$( TO 3))
2105 PRINT "DO YOU WANT HARD COPY?"
2106 PAUSE 40000
2107 LET Y$=INKEY$
2110 DIM S(X)
2115 DIM B$(X,8)
2120 LET N=0
2130 FOR I=5 TO LEN A$
2150 IF A$(I)=CHR$ 111 THEN GOTO 2200
2160 NEXT I
2170 GOTO 2300
2200 FOR B=I-1 TO 1 STEP -1
2210 IF A$(B)=CHR$ 68 THEN GOTO 2250
2220 NEXT B
2250 LET N=N+1
2260 LET S(N)=VAL A$(B+1 TO I-1)
2270 LET B$(N)=A$(B-8 TO B-1)
2290 GOTO 2160
2300 LET XX=X-4
2310 DIM Q(XX)
2320 FOR N=3 TO XX
2330 LET Q(N)=(S(N-2)+S(N-1)+S(N)+S(N+1)+S(N+2))/5
2332 IF Q(N)<SM THEN LET SM=Q(N)
2334 IF Q(N)>LG THEN LET LG=Q(N)
2336 LET MQ=LG-SM
2340 NEXT N
2350 SLOW 
2360 FOR N=1 TO XX
2365 SCROLL 
2370 IF N>2 THEN PRINT B$(N);
2375 IF N>2 AND Y$(1)="Y" THEN LPRINT B$(N);
2380 GOSUB 2500
2390 NEXT N
2400 PAUSE 40000
2410 GOTO 100
2500 LET LQ=(Q(N)-SM)/MQ
2510 LET LQ=INT (LQ*24)
2520 LET C$=""
2530 FOR J=1 TO LQ
2540 LET C$=C$+"%."
2550 NEXT J
2560 PRINT C$
2565 IF Y$(1)="Y" THEN LPRINT C$
2570 RETURN 
2899 STOP 
2900 FOR A=1 TO LEN A$
2910 IF CODE A$(A)=111 THEN GOTO 2950
2920 NEXT A
2930 PRINT A$(A+1 TO A+3);" ";A$(A+5 TO A+12);
2940 RETURN 
2950 IF VAL A$(A+1 TO A+3)=N THEN GOTO 2930
2960 GOTO 2920
3000 PRINT AT 10,0;"INPUT DATE EXACTLY AS ENTERED ::"
3005 SLOW 
3010 INPUT D$
3015 FAST 
3020 FOR N=1 TO VAL A$( TO 3)
3030 IF B$(N, TO LEN D$)=D$ THEN GOTO 3100
3040 NEXT N
3050 PRINT ,,"DATE NOT IN FILE, PRESS ENTER TOCONTINUE ;;;"
3060 PAUSE 40000
3070 GOTO 100
3100 IF X-N>=19 THEN LET EN=N+19
3110 IF X-N<=19 THEN LET EN=X
3120 FAST 
3130 CLS 
3140 FOR I=N TO EN
3150 PRINT I;TAB 3;" - (";B$(I);") - (";S(I);")"
3160 NEXT I
3170 PRINT "% %P%R%E%S%S% %<%Z%>% %K%E%Y% %F%O%R% %P%R%I%N%T%O%U%T% %O%R% % % %<%E%N%T%E%R%>% %T%O% %R%E%T%U%R%N% %:%:%:% % % % % % % % % % "
3175 SLOW 
3180 LET Y$=INKEY$
3190 IF Y$="" THEN GOTO 3180
3200 PRINT AT 20,0;"                                                                "
3210 GOTO 100
4000 RUN 
5000 SLOW 
5010 PRINT AT 10,0;"ENTER THE NAME OF THE FILE,     PREPARE THE RECORDER AND PRESS  ENTER :::"
5020 INPUT F$
5030 SAVE F$
5040 GOTO 100
6000 PRINT ,,"ENTER THE DATE OF THE INCORRECT ENTRY? ";
6005 SLOW 
6010 INPUT D$
6020 PRINT D$
6030 PRINT ,,"ENTER THE PRICE QUOTE OF THE    INCORRECT ENTRY? ";
6040 INPUT Q$
6050 PRINT Q$
6060 LET Y$=D$+CHR$ 68+Q$
6070 FAST 
6080 FOR N=1 TO LEN A$-LEN Y$
6090 IF A$(N TO N+LEN Y$-1)=Y$ AND A$(N+LEN Y$)=CHR$ 111 THEN GOTO 6200
6100 NEXT N
6110 CLS 
6120 PRINT AT 10,0;D$;" AND ";Q$;" ARE NOT"
6130 PRINT "IN THE DATA FILE. PRESS ENTER TOCONTINUE :::"
6140 PAUSE 40000
6150 GOTO 100
6200 CLS 
6202 IF A$(N-5)=CHR$ 111 THEN LET AA=VAL A$(N-4 TO N-2)
6204 IF A$(N-4)=CHR$ 111 THEN LET AA=VAL A$(N-3 TO N-2)
6206 IF A$(N-3)=CHR$ 111 THEN LET AA=VAL A$(N-2)
6210 PRINT ,,"THE OLD DATE WAS ";D$
6220 PRINT "WHAT IS THE CORRECT DATE (IF THESAME, JUST PRESS ENTER :::"
6225 SLOW 
6230 INPUT Z$
6240 IF Z$="" THEN GOTO 6260
6250 LET D$=Z$
6255 LET B$(AA)=D$
6260 PRINT D$
6270 PRINT ,,,,"THE OLD PRICE QUOTE WAS ";Q$
6280 PRINT "WHAT IS THE CORRECT QUOTE (IF   THE SAME, JUST PRESS ENTER :::"
6290 INPUT Z$
6295 FAST 
6300 IF Z$="" THEN GOTO 6320
6310 LET Q$=Z$
6315 LET S(AA)=VAL Q$
6320 PRINT Q$
6400 LET A$=A$( TO N-1)+D$+CHR$ 68+Q$+A$(N+LEN Y$ TO LEN A$)
6410 PRINT AT 20,0;"DATA HAS BEEN CORRECTED - PRESS ENTER TO CONTINUE :::"
6420 PAUSE 40000
6430 GOTO 100
9997 STOP 
9998 SAVE "STOCK PROJECTO%R"
9999 RUN 
Scroll to Top