Stock Plot

Products: Stock Plot
Developer(s): Kendric Smith
Date: 1983
Type: Program
Platform(s): TS 1000

Plot stock performance.

Content

Appears On

Related Products

Plots prices and volumes for the prior 26 weeks. The 1000 version holds 19 stocks and the 2068 version holds...

Related Articles

Related Content

Image Gallery

Source Code

  10 PRINT AT 1,7;"STOCK PLOT: ""SP"""
  15 PRINT AT 2,14;"BY"
  20 PRINT AT 3,7;"KENDRIC C. SMITH"
  25 PRINT AT 5,9;"%E%N%T%E%R% %N%U%M%B%E%R"
  30 PRINT AT 7,1;"1  ENTER ALL STOCKS 1ST TIME IN      ALPHABETICAL ORDER"
  35 PRINT AT 9,1;"2  ADD A STOCK IN ALPHABETICAL       ORDER"
  40 PRINT AT 11,1;"3  CORRECT OR DELETE A STOCK"
  45 PRINT AT 13,1;"4  ENTER CURRENT PRICES AND          VOLUMES"
  50 PRINT AT 15,1;"5  PLOT ALL STOCKS"
  55 PRINT AT 17,1;"6  PLOT ONE STOCK"
  60 PRINT AT 19,1;"7  LIST CURRENT STATISTICS"
  65 PRINT AT 21,1;"8  SAVE STOCK DATA"
  70 INPUT Q
  75 CLS 
  80 IF Q<=8 THEN GOTO Q*1000
  85 CLS 
  90 GOTO 10
\n1001 DIM A$(19,5)
\n1005 DIM B$(19,4)
\n1010 DIM C$(19,5)
\n1015 DIM D$(19,2)
\n1016 DIM F$(19,4)
\n1020 DIM A(19,26)
\n1025 DIM B(19,26)
\n1027 GOSUB 4145
\n1030 LET D=0
\n1035 FOR I=D+1 TO 19
\n1045 GOSUB 1100
\n1050 GOTO 1400
\n1100 PRINT AT 11,0;"ENTER STOCK SYMBOL: <= 5 LETTERS"
\n1105 INPUT A$(I)
\n1110 CLS 
\n1111 PRINT AT 11,0;"ENTER NUMBER OF SHARES"
\n1112 INPUT F$(I)
\n1113 CLS 
\n1115 PRINT AT 11,0;"ENTER PURCHASE PRICE:<= 4 SPACES"
\n1120 INPUT B$(I)
\n1125 CLS 
\n1130 PRINT AT 11,0;"ENTER YEARLY HIGH AND LOW AS      ""50/30"""
\n1135 INPUT C$(I)
\n1140 CLS 
\n1145 PRINT AT 11,0;"ENTER %P%E RATIO (MAX 2 SPACES)"
\n1150 INPUT D$(I)
\n1155 CLS 
\n1160 PRINT AT 11,0;"ENTER PRICES LAST 26 WEEKS"
\n1165 FOR N=1 TO 26
\n1170 INPUT A(I,N)
\n1175 NEXT N
\n1180 CLS 
\n1185 PRINT AT 11,0;"ENTER VOLUMES?  (Y/N)"
\n1190 INPUT Q$
\n1192 CLS 
\n1195 IF Q$="N" THEN GOSUB 9100
\n1200 IF Q$="N" THEN GOTO 1245
\n1205 PRINT AT 11,0;"ENTER VOLUMES LAST 26 WEEKS"
\n1210 FOR N=1 TO 26
\n1215 INPUT B(I,N)
\n1220 NEXT N
\n1245 LET D=D+1
\n1250 CLS 
\n1255 PRINT I;" ";A$(I);" ";F$(I);" ";B$(I);" ";C$(I);" ";D$(I)
\n1260 FOR N=1 TO 26
\n1265 PRINT A(I,N);" ";
\n1270 NEXT N
\n1272 PRINT 
\n1275 FOR N=1 TO 26
\n1280 PRINT B(I,N);" ";
\n1285 NEXT N
\n1290 RETURN 
\n1400 PRINT 
\n1405 PRINT AT 10,0;"%A%L%L% %C%O%R%R%E%C%T%?% % %(%Y%/%N%)"
\n1410 INPUT Q$
\n1415 IF Q$="Y" THEN GOTO 1435
\n1417 PRINT AT 10,0;"                    "
\n1420 GOSUB 9300
\n1425 GOSUB 1250
\n1430 GOTO 1405
\n1435 CLS 
\n1440 PRINT AT 6,0;"%A%N%Y% %M%O%R%E% %E%N%T%R%I%E%S%?% % %(%Y%/%N%)"
\n1445 INPUT Q$
\n1450 CLS 
\n1455 IF Q$="Y" THEN NEXT I
\n1457 IF D+1=20 THEN GOTO 9000
\n1460 GOTO 85
\n2000 IF D+1=20 THEN GOTO 9000
\n2002 PRINT AT 11,0;"ENTER VALUE OF ""I"" WHERE NEW      STOCK IS TO BE ENTERED"
\n2005 INPUT I
\n2010 CLS 
\n2015 FOR R=D+1 TO I+1 STEP -1
\n2020 LET A$(R)=A$(R-1)
\n2025 LET B$(R)=B$(R-1)
\n2030 LET C$(R)=C$(R-1)
\n2035 LET D$(R)=D$(R-1)
\n2037 LET F$(R)=F$(R-1)
\n2040 FOR N=1 TO 26
\n2045 LET A(R,N)=A(R-1,N)
\n2065 LET B(R,N)=B(R-1,N)
\n2070 NEXT N
\n2075 NEXT R
\n2080 GOSUB 1100
\n2085 PRINT 
\n2090 PRINT AT 10,0;"%A%L%L% %C%O%R%R%E%C%T%?% % %(%Y%/%N%)"
\n2095 INPUT Q$
\n2097 PRINT AT 10,0;"                    "
\n2100 IF Q$="Y" THEN GOTO 85
\n2105 GOSUB 9300
\n2110 GOSUB 1250
\n2115 GOTO 2085
\n3000 PRINT AT 11,0;"ENTER VALUE OF ""I"" OF LISTING TO  BE CHANGED"
\n3005 INPUT I
\n3010 CLS 
\n3015 GOSUB 1250
\n3020 GOSUB 9300
\n3025 GOSUB 1250
\n3030 GOTO 2085
\n4000 FOR I=1 TO D
\n4005 FOR N=1 TO 25
\n4010 LET A(I,N)=A(I,N+1)
\n4015 NEXT N
\n4020 NEXT I
\n4035 FOR I=1 TO D
\n4040 FOR N=1 TO 25
\n4045 LET B(I,N)=B(I,N+1)
\n4050 NEXT N
\n4055 NEXT I
\n4060 FOR I=1 TO D
\n4065 PRINT AT 11,0;"ENTER CURRENT PRICE OF: ";A$(I)
\n4070 INPUT A(I,26)
\n4075 CLS 
\n4080 NEXT I
\n4085 CLS 
\n4110 FOR I=1 TO D
\n4112 FOR I=1 TO D
\n4115 PRINT AT 11,0;"ENTER CURRENT VOLUME OF: ";A$(I)
\n4120 INPUT B(I,26)
\n4125 CLS 
\n4130 NEXT I
\n4140 CLS 
\n4142 GOSUB 4145
\n4143 GOTO 85
\n4145 PRINT AT 11,0;"ENTER THE DATE AS ""08/09/83"""
\n4150 INPUT E$
\n4155 RETURN 
\n5000 PRINT AT 11,0;"PRINT TO SCREEN OR PRINTER?(S/P)"
\n5001 INPUT Q$
\n5002 CLS 
\n5003 IF Q$="S" THEN LET Z=6100
\n5004 IF Q$="P" THEN LET Z=6200
\n5005 FOR I=1 TO D
\n5006 LET L=VAL B$(I)
\n5010 CLS 
\n5100 LET J=5000
\n5105 LET K=0
\n5110 FOR N=1 TO 26
\n5115 LET X=A(I,N)
\n5120 IF X<=J THEN LET J=X
\n5125 IF X>=K THEN LET K=X
\n5130 NEXT N
\n5135 LET M=L-J
\n5140 LET O=K-L
\n5145 IF O>M THEN LET F=O
\n5150 IF M>O THEN LET F=M
\n5155 LET H=10/F
\n5160 PRINT AT 0,0;L+F;AT 5,0;L+(F/2);AT 10,0;L;AT 15,0;L-(F/2);AT 20,0;L-F
\n5165 LET W=10
\n5170 GOSUB 5900
\n5175 PRINT " ";"BUY"
\n5180 LET W=0
\n5185 GOSUB 5900
\n5190 PRINT " ";INT (((L+F)/L*100)+.5)
\n5195 LET W=5
\n5200 GOSUB 5900
\n5205 PRINT " ";INT (((L+(F/2))/L*100)+.5)
\n5210 LET W=15
\n5215 GOSUB 5900
\n5220 PRINT " ";INT (((L-(F/2))/L*100)+.5)
\n5225 LET W=20
\n5230 GOSUB 5900
\n5235 PRINT " ";INT (((L-F)/L*100)+.5)
\n5300 FOR P=4 TO 4
\n5305 FOR N=1 TO 26
\n5310 LET X=0+P
\n5315 PRINT AT ((A(I,N)-(L+F))*(-H)),X;CHR$ 128
\n5320 NEXT P
\n5325 NEXT N
\n5400 LET K=0
\n5405 FOR N=1 TO 26
\n5410 LET X=B(I,N)
\n5415 IF X>=K THEN LET K=X
\n5420 NEXT N
\n5425 LET H=K/20
\n5430 FOR P=4 TO 4
\n5435 FOR N=1 TO 26
\n5440 LET X=0+P
\n5442 IF B(I,N)=0 THEN GOTO 5800
\n5445 PRINT AT (B(I,N)-K)/(-H),X;
\n5446 IF PEEK (PEEK 16398+256*PEEK 16399)<>128 THEN PRINT "V"
\n5447 IF PEEK (PEEK 16398+256*PEEK 16399)=128 THEN PRINT CHR$ 187
\n5450 NEXT P
\n5455 NEXT N
\n5800 PRINT AT 0,13;A$(I)
\n5805 PRINT AT 20,11;E$
\n5810 IF Q$=A$(I) THEN GOTO 5825
\n5815 GOSUB Z
\n5820 NEXT I
\n5825 PRINT AT 21,0;"ENTER ""%C%O%N%T"" TO REGAIN 1ST MENU"
\n5830 STOP 
\n5835 GOTO 85
\n5900 FOR N=5 TO 26
\n5905 LET X=0+N
\n5910 PRINT AT W,X;"-";
\n5915 NEXT N
\n5920 RETURN 
\n6000 PRINT AT 21,14;"%E%N%T%E%R% %S%T%O%C%K% %S%Y%M%B%O%L"
\n6005 INPUT Q$
\n6010 FOR I=1 TO D
\n6015 IF Q$=A$(I) THEN GOTO 5006
\n6020 NEXT I
\n6025 GOTO 85
\n6100 PAUSE 400
\n6105 RETURN 
\n6200 COPY 
\n6205 RETURN 
\n7000 CLS 
\n7005 PRINT "%I% ";TAB 3;"%S%Y%M%B%L";" ";"%H%I%/%L%O";" ";"%P%E";" ";"%B%U%Y% ";" ";"% %C%P% ";" ";"%C%P%/%B"
\n7009 DIM C(19)
\n7010 FOR I=1 TO D
\n7012 LET C(I)=INT (((A(I,26)/VAL B$(I))*100)+.5)/100
\n7015 PRINT I;TAB 3;A$(I);TAB 9;C$(I);TAB 15;D$(I);TAB 18;VAL B$(I);TAB 23;A(I,26);TAB 28;C(I)
\n7020 NEXT I
\n7040 LET Z=0
\n7041 FOR I=2 TO D
\n7042 LET Z=Z+VAL B$(I)
\n7043 NEXT I
\n7044 LET G=INT ((Z/(D-1)*10)+.5)/10
\n7050 LET Z=0
\n7051 FOR I=2 TO D
\n7052 LET Z=Z+A(I,26)
\n7053 NEXT I
\n7054 LET S=INT ((Z/(D-1)*10)+.5)/10
\n7070 PRINT TAB 6;"AVERAGE:";TAB 18;G;TAB 23;S
\n7080 PRINT TAB 6;"%U%P%D%A%T%E%D% %O%N ";E$
\n7085 PRINT AT 1,18;"    ";AT 1,28;"    "
\n7090 PRINT AT 21,0;"KEY ""%C%O%N%T% %E%N%T%E%R"" FOR NEXT TABLE"
\n7095 STOP 
\n7200 CLS 
\n7201 DIM G(19)
\n7202 DIM H(19)
\n7203 DIM J(19)
\n7209 PRINT "%S%Y%M%B%L";TAB 6;"%S%H%R%S";TAB 11;"%C%O%S%T% ";TAB 17;"%V%A%L%U%E";TAB 23;"%P%R%O%F%.";TAB 29;"%O%/%O"
\n7210 FOR I=2 TO D
\n7211 LET G(I)=INT ((VAL F$(I)*VAL B$(I))+.5)
\n7212 LET H(I)=INT ((VAL F$(I)*A(I,26))+.5)
\n7213 LET J(I)=H(I)-G(I)
\n7215 PRINT A$(I);TAB 6;F$(I);TAB 11;G(I);TAB 17;H(I);TAB 23;J(I)
\n7220 NEXT I
\n7230 LET Z=0
\n7231 FOR I=2 TO D
\n7232 LET Z=Z+VAL F$(I)
\n7233 NEXT I
\n7234 LET E=Z
\n7240 LET Z=0
\n7241 FOR I=2 TO D
\n7242 LET Z=Z+G(I)
\n7243 NEXT I
\n7244 LET F=Z
\n7250 LET Z=0
\n7251 FOR I=2 TO D
\n7252 LET Z=Z+H(I)
\n7253 NEXT I
\n7254 LET S=Z
\n7260 LET Z=0
\n7261 FOR I=2 TO D
\n7262 LET Z=Z+J(I)
\n7263 NEXT I
\n7264 LET U=Z
\n7270 PRINT "TOTAL:";TAB 6;E;TAB 11;F;TAB 17;S;TAB 23;U;TAB 29;INT (((S/F)*100)+.5)
\n7280 PRINT TAB 6;"%U%P%D%A%T%E%D% %O%N ";E$
\n7290 GOTO 9005
\n8000 GOTO 9990
\n9000 PRINT AT 11,10;"%M%E%M%O%R%Y% %F%U%L%L"
\n9005 PRINT AT 21,0;"ENTER ""%C%O%N%T"" TO REGAIN 1ST MENU"
\n9010 STOP 
\n9015 GOTO 85
\n9100 FOR N=1 TO 26
\n9105 LET B(I,N)=0
\n9110 NEXT N
\n9115 RETURN 
\n9300 PRINT AT 11,6;"%W%H%A%T% %I%S% %I%N%C%O%R%R%E%C%T%?"
\n9305 PRINT TAB 9;"%E%N%T%E%R% %N%U%M%B%E%R"
\n9310 PRINT "1  STOCK SYMBOL"
\n9315 PRINT "2  PURCHASE PRICE"
\n9320 PRINT "3  YEARLY HI/LO"
\n9325 PRINT "4  PRICES LAST 26 WEEKS"
\n9330 PRINT "5  VOLUMES LAST 26 WEEKS"
\n9335 PRINT "6  PE RATIO"
\n9337 PRINT "7  NO. SHARES"
\n9340 PRINT "8  EVERYTHING, DELETE STOCK"
\n9345 PRINT "9  NOTHING, RETURN TO 1ST MENU"
\n9400 LET Q$=INKEY$
\n9405 INPUT Q$
\n9410 IF Q$<>"1" AND Q$<>"2" AND Q$<>"3" AND Q$<>"4" AND Q$<>"5" AND Q$<>"6" AND Q$<>"7" AND Q$<>"8" AND Q$<>"9" THEN GOTO 9400
\n9415 IF Q$="1" OR Q$="2" OR Q$="3" OR Q$="4" OR Q$="5" OR Q$="6" OR Q$="7" OR Q$="8" OR Q$="9" THEN CLS 
\n9420 IF Q$="1" THEN GOSUB 9500
\n9425 IF Q$="2" THEN GOSUB 9550
\n9430 IF Q$="3" THEN GOSUB 9600
\n9435 IF Q$="4" THEN GOSUB 9650
\n9440 IF Q$="5" THEN GOSUB 9700
\n9445 IF Q$="6" THEN GOSUB 9750
\n9447 IF Q$="7" THEN GOSUB 9765
\n9450 IF Q$="8" THEN GOTO 9800
\n9455 IF Q$="9" THEN GOTO 85
\n9460 CLS 
\n9465 RETURN 
\n9500 PRINT AT 11,0;"ENTER CORRECT SYMBOL"
\n9505 INPUT A$(I)
\n9510 RETURN 
\n9550 PRINT AT 11,0;"ENTER PURCHASE PRICE"
\n9555 INPUT B$(I)
\n9560 RETURN 
\n9600 PRINT AT 11,0;"ENTER YEARLY HI/LO"
\n9605 INPUT C$(I)
\n9610 RETURN 
\n9650 PRINT AT 11,0;"ENTER PRICES LAST 26 WEEKS"
\n9655 FOR N=1 TO 26
\n9660 INPUT A(I,N)
\n9665 NEXT N
\n9670 RETURN 
\n9700 PRINT AT 11,0;"ENTER VOLUMES LAST 26 WEEKS"
\n9705 FOR N=1 TO 26
\n9710 INPUT B(I,N)
\n9715 NEXT N
\n9720 RETURN 
\n9750 PRINT AT 11,0;"ENTER %P%E RATIO"
\n9755 INPUT D$(I)
\n9760 RETURN 
\n9765 PRINT AT 11,0;"ENTER NO. OF SHARES"
\n9770 INPUT F$(I)
\n9775 RETURN 
\n9800 FOR R=I TO D-1
\n9805 LET A$(R)=A$(R+1)
\n9810 LET B$(R)=B$(R+1)
\n9815 LET C$(R)=C$(R+1)
\n9816 LET D$(R)=D$(R+1)
\n9817 LET F$(R)=F$(R+1)
\n9820 FOR N=1 TO 26
\n9825 LET A(R,N)=A(R+1,N)
\n9845 LET B(R,N)=B(R+1,N)
\n9850 NEXT N
\n9855 NEXT R
\n9860 LET D=D-1
\n9865 GOTO 85
\n9990 SAVE "S%P"
\n9995 GOTO 10
\n9999 PRINT AT 11,4;"MEMORY LEFT: ";16384-(PEEK 16404+256*PEEK 16405-16283);" BYTES"
Scroll to Top