Tuesday, February 28, 2017

developing software to support a process

The process is:

first get a list of stocks from a screener

look at the chart for each stock and sort it to a category
(only if that stock hasn't previously been sorted)

some categories will be for the record only
others will be for watching

periodically or at intervals look at all the stocks on each for watching list
make a new record for each stock if the chart is interesting

sorting from a sorted list

function sortthisrecord() {
var thenewrecord = document.getElementById("sns_theinput").value
var thesortedlist = document.getElementById("sns_thesortedlist")
var thesortedlistarray = thesortedlist.innerHTML.split(";")
thesortedlistarray.push(thenewrecord)
thesortedlist.innerHTML = thesortedlistarray.join(";")}

steps for sorting a list

view the list of lists

load the list

sort the current pattern

sort the next pattern


sort a sorted list

function sortasortedlist(listname) {
document.getElementById("sns_thislist").innerHTML = getthislist(listname)
loadfirstrecord()}

function loadfirstrecord() {
loadarecordfromthelist(0)}

function loadarecordfromthelist(therecordnumber) {
var thelist = document.getElementById("sns_thislist")
var thelistarray = thelist.innerHTML.split(";")
var thisrecord = thelistarray[therecordnumber]
var thisrecordarray = thisrecord.split(",")
var firstrecord = thisrecordarray[0]
var thesymbol = firstrecord.split("/")[firstrecord.split("/").length - 1].split("c"

http://stackoverflow.com/questions/1027224/how-can-i-test-if-a-letter-in-a-string-is-uppercase-or-lowercase-using-javascrip





function thesymbol(therecord) {
var therecordparts = therecord.split("/")
var thelastrecordpart = therecordparts[threcordparts.length - 1]
var thepositionofthelettertocheck = 0
var theletter = thelastrecordpart[thepositionofthelettertocheck]
var thesymbol = ""
while (iscapq(theletter) === "yes") {
thesymbol = thesymbol + theletter
thepositionofthelettertocheck = thepositionofthelettertocheck + 1
theletter = thelastrecordpart[thepositionofthelettertocheck]}
return thesymbol}

sorting from an unsorted list


function sortastock() {
document.getElementById("sns_therecord").style.display = "none"
var theunsortedlist = document.getElementById("sns_theunsortedlist")
var thesortedlist = document.getElementById("sns_thesortedlist")
var thesorter = document.getElementById("sns_sorter")
var updaterstate = document.getElementById("sns_updaterstate")
var theflink = document.getElementById("sns_theflink")
var themlink = document.getElementById("sns_themlink")
var thesymbol = findthestock(theunsortedlist,thesortedlist)
thesorter.src = updatethesorter(updaterstate.innerHTML,thesymbol)
theflink.href = "http://elite.finviz.com/quote.ashx?t=" + thesymbol
themlink.href = "http://www.marketwatch.com/investing/stock/+ thesymbol}



function sortthisstock() {
var thisstock = document.getElementById("sns_input").value

install the sorted list

function installthesortedlist() {
var thelistsource = document.getElementById("sns_input").value
document.getElementById("sns_sortedlistrepository").innerHTML = thelistsource}

install the unsorted list

function installtheunsortedlist() {
var thelistsource = document.getElementById("sns_input").value
document.getElementById("sns_unsortedlistrepository").innerHTML = thelistsource}

setting up

install an unsorted list

install a sorted list

sorter functions index


setting up the sorter                                a new approach!

sorting from an unsorted list                   the application

sorting from a sorted list                         build the application

viewing the details of a record

the ui

Saturday, February 25, 2017

thinking about the sorter

Thinking that the sorter ...

<textarea id="msns20170225sa1747i"></textarea>
<a href="javascript:msns20170225sa1747('get unsorted list')">
create new list after pasting in csv file</a>
<a href="javascript:msns20170225sa1747('sort to list')">
paste in three record urls and a list name like this: url,url,url,list name to sort this stock to a list</a>

<div id="msns20170225sa1747unsortedlist"></div>
<div id="msns20170225sa1747sortedlist"></div>
<div id="msns20170225sa1747listname"></div>
<div id="msns20170225sa1747currentposition"></div>

function msns20170225sa1747(request)

// from thinking about the sorter

function msns20170225sa1747(request) {

if (request === "sort to list") {sorttolist()}

if (request === "get new list") {getnewlist()}

if (request === "add history") {addhistory()}

function next(listname) {}

a record is created when we sort a stock to a category

stocks can be sorted to record categories

i mean, the unsorted list ...

let's see ... !

we might input a new list

some of the stocks on that list might already have been sorted to categories

how would we find out?

function hasthisbeensortedq() {}
if (hasthisbeensortedq() === "yes") {}

function nextunsortedstock() {}
nextunsortedstock() gets called when we're in sorting mode
meaning, when we're sorting a new list ... into the database



a stock gets sorted to a list when it becomes of interest
all stocks are of interest


ah ... an insight

sorting a stock into the system sets up an observation page
if the observation is of the buy type
at some point we will want to move it into a record category
when we do that we also split it into a new track or buy category

i'm not sure that's quite right
if a stock is in a bought category
at some point it will either move up or down ... or sideways
and we might want to record an additional observation

function addobservation() {}

so a single record could eventually contain multiple observations

surrounding the record chart are
a next / previous button set ... the next or previous observation for that record
a monthly / weekly / daily button set
which works for each observation
a next / previous set which goes to the next observation on this list

if (request === "next observation") {}
if (request === "previous observation {}
if (request === "monthly observation") {}
if (request === "weekly observation") {}
if (request === "daily observation") {}
if (request === "hourly observation") {}
if (request === "fifteen minute observation") {}
if (request === "next stock") {}
if (request === "previous stock") {}
if Irequest === "new category") {}
if (request === "new list") {}
if (request === "return to new list") {}
if (request === "save new list") {}
if (request === "save the database") {}
if (request === "create new list") {}

Friday, February 24, 2017

function show(request) {}

function show(request) {

/*

request come in these flavors: owned, actually owned, and not owned

each of these comes in three flavors: line, spade, and shoulder ... for now

so

show requests look like this:

owned lines
owned spades
owned shoulders

actually owned lines
actually owned spades
actually owned shoulders

not owned lines
not owned spades
not owned shoulders

thus


*/

var requestarray = request.split(" ")
var requesettype = requestarray[0]
var requestedlist = requestarray[requestarray.length - 1]
if (requesttype === "owned") {showowned(requestedlist)}
if (requesttype === "actually") {showactuallyowned(requestedlist)}
if (requesttype === "not") {shownotowned(requestedlist)}

}

function mmns20170224f1351(request) {}

function mmns20170224f1351(request) {

if (request === "show owned lines") {show('owned lines')}
if (request === "show owned spades") {show('owned spades')}
if (request === "show owned shoulders") {show('owned shoulders')}
if (request === "show not owned lines") {show('owned lines')}
if (request === "show not owned spades") {show('owned spades')}
if (request === "show not owned shoulders") {show('owned shoulders')}
if (request === "show the charts") {showthecharts()}
if (request === "show next record") {shownextrecord()}
if (request === "show previous record") "showpreviousrecord()}

I think I'm seeing room for development in here.

if (request.split(" ")[0] === "show") {
show(request.split(" ").slice(1).join(" "))}

}

Thursday, February 23, 2017

some groups

thinking about ... the sorter                tu201702281122new

developing software to support a process

lines. spades. shoulders.

own, metaphorically speaking. don't own.

<span id="mmns20170224f1351ownedlines"></span>

<a href="javascript:mmns20170224f1351('show owned lines')"></a>

<a href="javascript:mmns20170224f1351('hide the charts')"></a>

<img src="" id="mmns20170224f1351record" />
<img src="" id="mmns20170224f1351updater />
<a href="" id="mmns20170224f1351flink" target="_blank">f</a>
<a href="" id="mmns20170224f1351mlink" target="_blank">m</a>

I am going to do something very strange, here, and turn the show owned lines link and the hide the charts link into links right here in Blogger's compose mode. Well, hide the charts may need to move to some other location, but this way some of these links can be selected right from here, in this blog's text.

To do this, I will copy from here the whole show owned lines link, and, in HTML Mode in Blogger Edit, I'll paste that into ... no ... no ... it's not even that. In Compose Mode I can turn the above link code into a link, and supply the href for that, which is the javascript call, all using the link dialog.

Other parts of the code in this text I can copy, from here, and paste into HTML Mode, which will add them as parts of the HTML (while leaving this text here as it is).

I wonder if maybe I ought to break out the JavaScript into a separate page. I'm thinking it might be an idea.

function mmns20170224f1351(request) {}

mdca

f
tiny little bottoms

eyeg

f
example

wvvi

f
nice chart, amazing company

tops!

f
target is let's say 7

chci

f
should hit 2.60 again. buy at the open at the market.

adpt

f
insanely cheap

Wednesday, February 22, 2017

lnth

f

today's charts are all kind of whacked except maybe $LNTH

— Tom Sunderland (@atnbg) Feb. 22 at 11:17 PM

Tuesday, February 21, 2017

rearing up 2

   f   http://elite.finviz.com/publish/022217/AAPCccdl00042890.png
   f   http://elite.finviz.com/publish/022217/APOPccdl00057894.png
   f   http://elite.finviz.com/publish/022217/APOPc0wl0005.png
   f   http://elite.finviz.com/publish/022217/BLPHccdl00063737.png
   f   http://elite.finviz.com/publish/022217/BRNccdl00071143.png
   f   http://elite.finviz.com/publish/022217/CBAYccdl00089354.png
   f   http://elite.finviz.com/publish/022217/CFRXccdl00094890.png
   f   http://elite.finviz.com/publish/022217/COOLccdl00106803.png
   f   http://elite.finviz.com/publish/022217/COOLc0wl0034.png
   f   http://elite.finviz.com/publish/022217/CYHccdl00346700.png
   f   http://elite.finviz.com/publish/022217/DGAZccdl00352320.png
   f   http://elite.finviz.com/publish/022217/EDITccdl00361664.png
   f   http://elite.finviz.com/publish/022217/EYEGccdl00369864.png
   f   http://elite.finviz.com/publish/022217/FATEccdl01141049.png
   f   http://elite.finviz.com/publish/022217/FIGccdl01150335.png
   f   http://elite.finviz.com/publish/022217/GALTccdl01164926.png
   f   http://elite.finviz.com/publish/022217/GBTccdl01163653.png
   f   http://elite.finviz.com/publish/022217/GRPNccdl01163539.png
   f   http://elite.finviz.com/publish/022217/GRVYccdl01176345.png
   f   http://elite.finviz.com/publish/022217/GRVYc0ml0117.png
   f   http://elite.finviz.com/publish/022217/HIMXccdl01188344.png
   f   http://elite.finviz.com/publish/022217/INSYccdl01213315.png
   f   http://elite.finviz.com/publish/022217/LMIAccdl01229557.png
   f   http://elite.finviz.com/publish/022217/LPTHccdl01232474.png
   f   http://elite.finviz.com/publish/022217/LPTHc0ml0123.png
   f   http://elite.finviz.com/publish/022217/MDCAccdl01246365.png
   f   http://elite.finviz.com/publish/022217/NHLDccdl01348784.png
   f   http://elite.finviz.com/publish/022217/NOVNccdl01356856.png
   f   http://elite.finviz.com/publish/022217/PSIXccdl01359659.png
   f   http://elite.finviz.com/publish/022217/PTSXccdl01365167.png
   f   http://elite.finviz.com/publish/022217/SBBPccdl01369393.png
   f   http://elite.finviz.com/publish/022217/SKBIccdl01440096.png
   f   http://elite.finviz.com/publish/022217/SXEccdl01452485.png
   f   http://elite.finviz.com/publish/022217/TROXccdl01451295.png
   f   http://elite.finviz.com/publish/022217/VRMLccdl01491388.png
   f   http://elite.finviz.com/publish/022217/ZAISccdl01503250.png
   f   http://elite.finviz.com/publish/022217/ZSANccdl01505854.png