New stock market tool (3 level adjustments)

Here you can talk about anything related to BBC BASIC, not covered in another category
michael
Posts: 43
Joined: Mon 02 Apr 2018, 17:13

New stock market tool (3 level adjustments)

Post by michael »

Works on BBCSDL and BBC4W
How to use:
At the beginning of the program there is some information that you may need to change for your favourite stock.
At the moment it is set up for Paramount Resources ( POU ) * Try the demo so you can understand how it works

* USE YOUR MOUSE and left button to adjust stock values ( I havent yet tried this on a touch screen so I would like to know how it works)

You will be asked about how much money you are playing with : ( put how much money you want to gamble)
* Shortly after you will see a interface with 3 sections: ( REMEMBER each section is adjustable)
THE BOTTOM SECTION: stock price and shares displayed for LOW BUY ( it is calculated by your initial play money and the adjustable stock price)
* REMEMBER the BOTTOM SECTION is meant for lower stock price that you might also buy later (it is NOT factored in TOP section calculations)

THE MIDDLE SECTION: stock price and shares displayed for BOUGHT shares ( adjust your price per share and you get the amount of shares to buy)
* REMEMBER the BOUGHT price is factored in calculating the GROSS and NET profits on the TOP section of this tool.

TOP section is the stock price you wish to sell. It will have the GROSS amount including your initial investment AND the net profit

I use this program all the time now and once the PLAY MONEY is initially entered, you only need to adjust BOUGHT price or LOW price to determine quick share numbers to enter and then adjust the top section to find out where is the good selling price.

IMPORTANT: If you decide to use this program you must accept any risks involved. The Author of this program does not suggest any profitable gains or usefulness.

Code: Select all

      money=0
      INPUT "HOW MUCH MONEY YOU PLAYING WITH : ";money
      REM ************* BEGINNING OF USER AREA (modify for your stock) ******************
      LET low=1.40: REM replace this number with the lowest your stock is likely to go
      LET high=2: REM replace this number with the highest your stock is likely to go
      LET bought=1.65: REM this will be your current stock purchase (static)
      name$="POU": REM replace this with your stock name
      LET bf=10: REM  <<<<< Your Banking fee per transaction   ***
      REM ************************************ END OF USER INFO AREA ********************
      bres=0:REM bought shares value
      lres=0:REM low share prediction
      sbou=0:REM variable for high bought cash display
      dif=0:diff$=""
      mx=0:my=0:mb=0
      money=money-bf
      PROCgraphics(280,505)
      REM You must accept ALL financial risks from using this program before using it
      REM This program is a demo.
      REM The Author of this program offers no promise of reliability or usefullness
      REM (x,y,color)
      *REFRESH OFF

      REM live adjustable low (shares needed to buy at this level)
      PROCsbox(10,10,500,300,"6")
      PROCsbox(10,305,500,600,"6")
      PROCsbox(10,605,500,900,"6")
      PROCsbox(10,905,500,1000,"6")
      PROCsbox(505,10,560,900,"0")
      PROCsbox(505,10,560,600,"0")
      PROCsbox(505,10,560,300,"0")
      GCOL 0
      MOVE 10,940:PRINT " Stock Trading Tool (demo)"
      GCOL 15:MOVE 20,970:PRINT name$
      REPEAT
        v=0
        LET v= FNau(530,210)
        lres= FNlsharecalc(20,200,low,money)
        IF v=1 THEN
          MOVE20,230:GCOL 6:PRINT STR$(low)
          low=low+.01
          WAIT 7
        ENDIF
        v=0
        LET v= FNad(530,90)
        IF v=1 THEN
          MOVE20,230:GCOL 6:PRINT STR$(low)
          low=low-.01
          WAIT 7
        ENDIF
        GCOL 0
        MOVE 20,230:PRINT STR$(low)
        REM live adjustments bought location
        v=0
        LET v= FNau(530,495)
        bres= FNsharecalc(20,520,bought,money)
        IF v=1 THEN
          MOVE20,550:GCOL 6:PRINT STR$(bought)
          bought=bought+.01
          WAIT 7
        ENDIF
        v=0
        LET v= FNad(530,390)
        IF v=1 THEN
          MOVE20,550:GCOL 6:PRINT STR$(bought)
          bought=bought-.01
          WAIT 7
        ENDIF
        GCOL 0
        MOVE 20,550:PRINT STR$(bought)
        REM live adjustable high location
        MOVE 20,820:GCOL 6:PRINT "$ "+STR$(sbou)
        sbou=money/bought
        sbou=sbou*high
        v=0
        MOVE 20,880:GCOL 1:PRINT"SELL POINT"
        LET v= FNau(530,800)
        IF v=1 THEN
          MOVE20,850:GCOL 6:PRINT STR$(high)
          high=high+.01
          WAIT 7
        ENDIF
        v=0
        LET v= FNad(530,690)
        IF v=1 THEN
          MOVE20,850:GCOL 6:PRINT STR$(high)
          high=high-.01
          WAIT 7
        ENDIF
        MOVE 20,820:GCOL 0:PRINT "$ "+STR$(sbou)
        GCOL 0
        MOVE 20,850:PRINT STR$(high)
        GCOL 1
        MOVE 20,790
        PRINT"*** CHANGE ***"
        GCOL 6
        MOVE 20,760:PRINT "$ "+diff$
        IF sbou>money THEN dif=sbou-money:diff$=STR$(dif)
        IF sbou<money THEN dif=money-sbou:diff$="-"+STR$(dif)
        GCOL 0
        MOVE 20,760:PRINT "$ "+diff$
        *REFRESH
        WAIT 5
      UNTIL FALSE
      *REFRESH ON
      END
      REM low buy shares predict
      DEFFNlsharecalc(x,y,p,cash)
      PRIVATE oldres
      LOCAL result
      MOVE x,y
      result=cash/p
      GCOL 6
      PRINT "$ "+ STR$(cash)+"= "+STR$(oldres)+" shares"
      GCOL 0
      MOVE x,y
      PRINT "$ "+ STR$(cash)+"= "+STR$(result)+" shares"
      oldres=result
      =result

      REM bought
      DEFFNsharecalc(x,y,p,cash)
      PRIVATE oldres
      LOCAL result
      MOVE x,y
      result=cash/p
      GCOL 6
      PRINT "$ "+ STR$(cash)+"= "+STR$(oldres)+" shares"
      GCOL 0
      MOVE x,y
      PRINT "$ "+ STR$(cash)+"= "+STR$(result)+" shares"
      oldres=result
      =result
      REM arrowup function
      DEF FNau(x,y)
      LOCAL c
      MOUSE mx,my,mb
      IF mx>x-20 AND mx<x+10 AND my>y AND my<y+50 THEN c=15 ELSE c=7
      PROCarrowup(x,y,c)
      IF c=15 AND mb=4 THEN =1
      =0
      DEF FNad(x,y)
      LOCAL c
      MOUSE mx,my,mb
      IF mx>x-20 AND mx<x+10 AND my>y-30 AND my<y+15 THEN c=15 ELSE c=7
      PROCarrowdown(x,y,c)
      IF c=15 AND mb=4 THEN =1
      =0
      REM lets stick with 16 colors **********************************************************************
      DEF PROCsbox(x%,y%,w%,h%,c$)
      LOCAL ry%,sx%,sy%
      sx%=x%:sy%=y%
      IF x%>w% THEN x%=w%:w%=sx%
      IF y%>h% THEN y%=h%:h%=sy%
      ry%=y%
      GCOL VAL(c$)
      REPEAT
        LINE x%,y%,w%,y%
        y%=y%+1
      UNTIL y%=h%
      y%=ry%
      IF c$<>"0" THEN GCOL 0 ELSE GCOL 15
      LINE x%+2,y%+2,w%-2,y%+2
      LINE w%-2,y%+2,w%-2,h%-4
      LINE w%-2,h%-4,x%+2,h%-4
      LINE x%+2,h%-4,x%+2,y%+2
      ENDPROC
      DEF PROCgraphics(x,y)
      VDU 23,22,x;y;8,15,16,1
      VDU 5
      ENDPROC
      DEFPROCarrowup(x,y,c)
      LOCAL ax,aw
      GCOL c
      FOR ax=1 TO 20
        PROCLR(x,y+ax,10)
      NEXT ax
      ax=0:aw=20
      FOR ax=1 TO 20
        PROCLR(x,y+20+ax,aw)
        aw=aw-1
      NEXT ax
      ENDPROC
      DEFPROCarrowdown(x,y,c)
      LOCAL ax,aw
      GCOL c
      FOR ax=1 TO 20
        PROCLR(x,y-ax,10)
      NEXT ax
      ax=0:aw=20
      FOR ax=1 TO 20
        PROCLR(x,y-20-ax,aw)
        aw=aw-1
      NEXT ax
      ENDPROC
      REM Left and Right from center x,y, and width w
      DEFPROCLR(x,y,w)
      LINE x-w,y,x+w,y
      ENDPROC
DDRM

Re: New stock market tool (3 level adjustments)

Post by DDRM »

Hi Michael,

I've moved this to the "miscellaneous" forum: the "support and promote" is really meant to be for commercial-grade software/publicity that can raise the profile of BBC BASIC - and since yours says itself that it is an own-risk demo version, I don't think it fits the bill at the moment.

Best wishes,

D
michael
Posts: 43
Joined: Mon 02 Apr 2018, 17:13

Re: New stock market tool (3 level adjustments)

Post by michael »

[quoteand since yours says itself that it is an own-risk demo version, I don't think it fits the bill at the moment.
][/quote]
Everything in stock markets is (use at own risk). Every platform including Investing.com has foot notes or user warnings of risks.
Online glitches can and do happen online sites and I have even seen it with banks.(connectivity)

When it comes to money, I can not state that the program will help a person make money, nor that unforeseen things can't happen, as this
program is open to modification for stocks.
I havent had problems with it myself and I use it all the time. (no matter how good it is, it will never fit the bill as it is 'use at your own risk', and the stock market is also 'use at your own risk'