Praktikumitöö: aktsiahinnad
Ülesande spec: mida on tarvis teha
On vaja kirjutada käsurea rakendus, mis avab kasutajaliidese akna, kust on võimalik vaadata valitud aktsia graafikut valitud perioodiks ning kuvada samas kaks moving average graafikut selle aktsia jaoks.
Tutvu kindlasti aktsiagraafiku saitidega, näiteks http://finance.yahoo.com, http://stockcharts.com
Konkreetsemad nõuded
Kasutaja sisestab teksti- ja valikuväljadele:
- alguskuupäeva: päeva, kuu, aasta (vaikimisi üks aasta tagasi)
- lõpukuupäeva: päeva, kuu, aasta (vaikimisi täna)
- aktsiasümboli: näiteks F
- graafiku x-telje punkti valiku: päev/nädal/kuu (vaikimisi päev)
- esimese moving average päevade arvu (vaikimisi 50, võib tühjaks jätta)
- teise moving average päevade arvu (vaikimisi 200, võib tühjaks jätta)
NB! Seejuures
- kuupäevavahemiku väljad ja stiili võid ise valida
- aktsiasümboli väli ja moving average väljad on lihtsalt väikesed tekstiväljad
- graafiku punkti valikuks soovitan valikuboksi kolme väljaga
- alumise ääre hinnavalikuks soovitan valikuboksi kahe väljaga (miinimum, 0)
Kasutaja vajutab "Joonista!" nupule
Seepeale asub programm tööle ja teeb järgmist:
- Kontrollib sisestatu korrektsust (aktsiasümbol sisestatud, kuupäevavalik sisestatud), kuid ei kontrolli, kas aktsiasümbol on reaalselt eksisteeriv ja kuupäevavahemik sisuliselt OK.
- Kui on viga, näitab kasutajale graafkapinnale veateadet.
Kui sisestatu on OK:
- Teeb arvumassiivi oodatava suurusega (tee igaks juhuks suurem!)
- Moodustab URL-i (liites stringe kokku)
- Avab URL-i ja loeb saabuvad read.
- Kontrollib, kas tuli OK tabel: kui ei, joonistab graafikapinnale veateate.
- Võtab igast reast välja "Close" tulba väärtuse ja salvestab massiivi.
- Kontrollib, kas saadud andmeid saab joonistada (kui graafik ei mahu ära, siis joonistab graafikapinnale veateate).
- Joonistab graafiku järgmisel viisil:
- graafikapinna alumine äär peab vastama antud perioodis esinenud KÕIGE MADALAMALE hinnale ja ülemine äär antud perioodis esinenud KÕIGE KÕRGEMALE hinnale. Seega peab graafikujoon puudutama nii alumist kui ülemist äärt!
- Leidmaks neid äärmusi, käi sisseloetud massiiv kõigepealt läbi ja otsi äärmusväärtused välja.
- Graafik on joongraafik, kus iga väike sirge seob kahe punkti (päeva, nädala, kuu) SULGEMISHINDADE (close) väärtusi.Näiteks, kui kahel kõrvutisel päeval on sulgemishinnad samad, siis neid ühendab horisontaalne sirge.
- Vertikaalteljele peab kirjutama arvväärtused alumisele ja ülemisele äärele.
- Horisontaalteljel peab olema kirjas alguskuupäev ja lõpukuupäev: vahekuupäevi ei ole vaja.