Stock Projector

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

Content

Appears On

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

Related Products

Related Articles

Related Content

Image Gallery

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
\n1000 LET N=VAL A$( TO 3)
\n1002 IF LEN A$>4 THEN GOSUB 1800
\n1005 LET N=N+1
\n1010 SCROLL 
\n1015 PRINT "................................"
\n1017 SCROLL 
\n1020 PRINT "ENTER DATE FOR QUOTE NO.";N
\n1025 SLOW 
\n1030 SCROLL 
\n1040 PRINT "(JUST PRESS ENTER IF NO MORE)"
\n1045 SCROLL 
\n1047 PRINT "................................"
\n1048 DIM N$(8)
\n1050 INPUT D$
\n1052 IF D$="" THEN GOTO 1500
\n1055 LET N$=D$
\n1060 LET D$=N$
\n1070 SCROLL 
\n1080 SCROLL 
\n1090 PRINT "(";N;") - (";D$;")"
\n1100 SCROLL 
\n1110 SCROLL 
\n1120 PRINT "ENTER PRICE QUOTE FOR THAT DAY."
\n1130 INPUT Q$
\n1140 SCROLL 
\n1150 SCROLL 
\n1160 PRINT "(";N;") - (";D$;") - (";Q$;")"
\n1170 SCROLL 
\n1180 SCROLL 
\n1190 SCROLL 
\n1200 LET A$=A$+STR$ N+CHR$ 67+D$+CHR$ 68+Q$+CHR$ 111
\n1210 GOTO 1005
\n1500 FAST 
\n1510 LET A$(1 TO 3)=STR$ (N-1)
\n1520 GOTO 100
\n1800 PRINT AT 18,0;"LAST ENTRY WAS :::"
\n1810 FOR I=LEN A$-1 TO 4 STEP -1
\n1820 IF A$(I)=CHR$ 111 THEN GOTO 1840
\n1830 NEXT I
\n1840 FOR A=I+1 TO LEN A$-1
\n1850 IF A$(A)=CHR$ 67 THEN GOTO 1870
\n1860 NEXT A
\n1870 LET Z$=A$(I+1 TO A-1)
\n1880 FOR I=A+1 TO LEN A$-1
\n1890 IF A$(I)=CHR$ 68 THEN GOTO 1910
\n1900 NEXT I
\n1910 LET D$=A$(A+1 TO I-1)
\n1920 LET Q$=A$(I+1 TO LEN A$-1)
\n1930 PRINT "(";Z$;") - (";D$;") - (";Q$;")"
\n1940 RETURN 
\n2000 IF VAL A$( TO 3)>27 THEN GOTO 2100
\n2010 PRINT AT 10,0;"THE FILE DOES NOT HAVE AT LEAST 28 QUOTATIONS - PRESS ENTER TO  RETURN :::"
\n2020 PAUSE 40000
\n2030 GOTO 100
\n2100 LET X=(VAL A$( TO 3))
\n2105 PRINT "DO YOU WANT HARD COPY?"
\n2106 PAUSE 40000
\n2107 LET Y$=INKEY$
\n2110 DIM S(X)
\n2115 DIM B$(X,8)
\n2120 LET N=0
\n2130 FOR I=5 TO LEN A$
\n2150 IF A$(I)=CHR$ 111 THEN GOTO 2200
\n2160 NEXT I
\n2170 GOTO 2300
\n2200 FOR B=I-1 TO 1 STEP -1
\n2210 IF A$(B)=CHR$ 68 THEN GOTO 2250
\n2220 NEXT B
\n2250 LET N=N+1
\n2260 LET S(N)=VAL A$(B+1 TO I-1)
\n2270 LET B$(N)=A$(B-8 TO B-1)
\n2290 GOTO 2160
\n2300 LET XX=X-4
\n2310 DIM Q(XX)
\n2320 FOR N=3 TO XX
\n2330 LET Q(N)=(S(N-2)+S(N-1)+S(N)+S(N+1)+S(N+2))/5
\n2332 IF Q(N)<SM THEN LET SM=Q(N)
\n2334 IF Q(N)>LG THEN LET LG=Q(N)
\n2336 LET MQ=LG-SM
\n2340 NEXT N
\n2350 SLOW 
\n2360 FOR N=1 TO XX
\n2365 SCROLL 
\n2370 IF N>2 THEN PRINT B$(N);
\n2375 IF N>2 AND Y$(1)="Y" THEN LPRINT B$(N);
\n2380 GOSUB 2500
\n2390 NEXT N
\n2400 PAUSE 40000
\n2410 GOTO 100
\n2500 LET LQ=(Q(N)-SM)/MQ
\n2510 LET LQ=INT (LQ*24)
\n2520 LET C$=""
\n2530 FOR J=1 TO LQ
\n2540 LET C$=C$+"%."
\n2550 NEXT J
\n2560 PRINT C$
\n2565 IF Y$(1)="Y" THEN LPRINT C$
\n2570 RETURN 
\n2899 STOP 
\n2900 FOR A=1 TO LEN A$
\n2910 IF CODE A$(A)=111 THEN GOTO 2950
\n2920 NEXT A
\n2930 PRINT A$(A+1 TO A+3);" ";A$(A+5 TO A+12);
\n2940 RETURN 
\n2950 IF VAL A$(A+1 TO A+3)=N THEN GOTO 2930
\n2960 GOTO 2920
\n3000 PRINT AT 10,0;"INPUT DATE EXACTLY AS ENTERED ::"
\n3005 SLOW 
\n3010 INPUT D$
\n3015 FAST 
\n3020 FOR N=1 TO VAL A$( TO 3)
\n3030 IF B$(N, TO LEN D$)=D$ THEN GOTO 3100
\n3040 NEXT N
\n3050 PRINT ,,"DATE NOT IN FILE, PRESS ENTER TOCONTINUE ;;;"
\n3060 PAUSE 40000
\n3070 GOTO 100
\n3100 IF X-N>=19 THEN LET EN=N+19
\n3110 IF X-N<=19 THEN LET EN=X
\n3120 FAST 
\n3130 CLS 
\n3140 FOR I=N TO EN
\n3150 PRINT I;TAB 3;" - (";B$(I);") - (";S(I);")"
\n3160 NEXT I
\n3170 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% %:%:%:% % % % % % % % % % "
\n3175 SLOW 
\n3180 LET Y$=INKEY$
\n3190 IF Y$="" THEN GOTO 3180
\n3200 PRINT AT 20,0;"                                                                "
\n3210 GOTO 100
\n4000 RUN 
\n5000 SLOW 
\n5010 PRINT AT 10,0;"ENTER THE NAME OF THE FILE,     PREPARE THE RECORDER AND PRESS  ENTER :::"
\n5020 INPUT F$
\n5030 SAVE F$
\n5040 GOTO 100
\n6000 PRINT ,,"ENTER THE DATE OF THE INCORRECT ENTRY? ";
\n6005 SLOW 
\n6010 INPUT D$
\n6020 PRINT D$
\n6030 PRINT ,,"ENTER THE PRICE QUOTE OF THE    INCORRECT ENTRY? ";
\n6040 INPUT Q$
\n6050 PRINT Q$
\n6060 LET Y$=D$+CHR$ 68+Q$
\n6070 FAST 
\n6080 FOR N=1 TO LEN A$-LEN Y$
\n6090 IF A$(N TO N+LEN Y$-1)=Y$ AND A$(N+LEN Y$)=CHR$ 111 THEN GOTO 6200
\n6100 NEXT N
\n6110 CLS 
\n6120 PRINT AT 10,0;D$;" AND ";Q$;" ARE NOT"
\n6130 PRINT "IN THE DATA FILE. PRESS ENTER TOCONTINUE :::"
\n6140 PAUSE 40000
\n6150 GOTO 100
\n6200 CLS 
\n6202 IF A$(N-5)=CHR$ 111 THEN LET AA=VAL A$(N-4 TO N-2)
\n6204 IF A$(N-4)=CHR$ 111 THEN LET AA=VAL A$(N-3 TO N-2)
\n6206 IF A$(N-3)=CHR$ 111 THEN LET AA=VAL A$(N-2)
\n6210 PRINT ,,"THE OLD DATE WAS ";D$
\n6220 PRINT "WHAT IS THE CORRECT DATE (IF THESAME, JUST PRESS ENTER :::"
\n6225 SLOW 
\n6230 INPUT Z$
\n6240 IF Z$="" THEN GOTO 6260
\n6250 LET D$=Z$
\n6255 LET B$(AA)=D$
\n6260 PRINT D$
\n6270 PRINT ,,,,"THE OLD PRICE QUOTE WAS ";Q$
\n6280 PRINT "WHAT IS THE CORRECT QUOTE (IF   THE SAME, JUST PRESS ENTER :::"
\n6290 INPUT Z$
\n6295 FAST 
\n6300 IF Z$="" THEN GOTO 6320
\n6310 LET Q$=Z$
\n6315 LET S(AA)=VAL Q$
\n6320 PRINT Q$
\n6400 LET A$=A$( TO N-1)+D$+CHR$ 68+Q$+A$(N+LEN Y$ TO LEN A$)
\n6410 PRINT AT 20,0;"DATA HAS BEEN CORRECTED - PRESS ENTER TO CONTINUE :::"
\n6420 PAUSE 40000
\n6430 GOTO 100
\n9997 STOP 
\n9998 SAVE "STOCK PROJECTO%R"
\n9999 RUN 
Scroll to Top