Du visar för närvarande NAS HT20 Kodningskurs – Lektion 3

NAS HT20 Kodningskurs – Lektion 3

– Inlägget är skapat i samarbete med Autostock

Vi fortsätter med genomgången av NAS HT20 Kodkurs och vad jag har lärt mig från dessa lektioner. Lektion nummer 3 hade följande punkter som fokus:

  • Syntax vanliga funktioner
  • Leta bakåt i dataserier
  • Dataserier och “nyligen-händelser”
  • Logiska beslut

Denna lektion började vi med att titta på några intressanta funktioner som finns inbyggt i Autotrader.

En vanlig och bra funktion som finns i Autotrader är HHV, som står för Highest High Value. Detta är en funktion som returnerar det högsta värdet en dataserie har antagit de senaste X antal staplarna. Det som är bra med denna funktion är att vi kan i princip stoppa in vad som helst i denna funktion. 

Det vill säga att du kan stoppa in en annan dataserie som Low (lägsta värden för stapeln) men även värden på indikatorer och på dataserier som du själv har skapat.

Motsatsen finns också, det vill säga LLV (Lowest Low Value). Denna fungerar på samma sätt som HHV och med dessa två funktioner kan vi skapa väldigt mycket.

Det finns även andra användbara funktioner som AREF(), som visar en dataserier värde ett visst antal dagar bakåt.

Jag nämnde i ett tidigare inlägg att syntaxen i Autotrader har sina för och nackdelar. En av dessa fördelar är att språket ofta blir mer kompakt och att du kan åstadkomma väldigt mycket med endast några få rader kod.

Låt säga att du vill veta vilket pris aktien hade senast då RSI(2) låg under 10. Om jag skulle gjort detta i andra programspråk hade jag kunnat göra på ett antal olika sätt men det vanligaste tror jag är att jag hade skapat en loop som tittar bakåt i tiden. När RSI(2) uppfyller vårt kriterium hade jag stannat loopen och tittat vad för pris aktien hade vid detta tillfälle.

Denna funktion finns inbyggd i Autotrader och heter FIND(). Det smarta här är du endast skriver in vad du letar efter, hur långt bakåt i tiden vi ska söka, vad den ska returnera och vilket tillfälle. Alltså med endast en rad av kod har vi skapat en väldigt kraftfull funktion som tittar bakåt i tiden och svarar på vår fråga vilket pris hade aktien när RSI(2) låg under 10 senast.

Men det är inte bara här Autotrader underlättar, om vi t.ex. vill agera om ett visst kriterium var uppfyllt inom de senaste 5 perioderna finns det inbyggda funktioner i programmet där du kan kolla detta med endast en rad kod. I andra program hade detta oftast involverat en for loop som tar upp flera rader kod.

I andra kodspråk använder man sig ofta av IF satser för att testa att en viss indikator ligger över ett visst värde eller att Close är större än 200 dagars glidande medelvärde. Autotrader löser detta på ett annat sätt genom att ha funktioner för logiska beslut. De logiska besluten är uppdelade i t.ex. större än (GT()) eller mindre än (LT()).

Om du är van vid andra kodspråk känns detta till en början väldigt konstigt men efter ett tag kommer du in i det kan till och med kännas enklare i vissa situationer.

Förutom alla de funktioner jag gått igenom finns det väldigt många mer och en av dem är Draw. Många analysprogram är låsta i hur du kan rita ut och var du kan göra det. Autotrader är relativt öppet när det kommer till detta och i denna lektion fick vi igenom på djupet hur vi kan använda Draw för att rita ut objekt, grafer och signaler precis så som vi vill ha det.

Låt säga att vi vill kunna se när MA20 faller och när högsta nivån för stapeln har varit över det övre Bollingerbandet. Detta kan vi då t.ex. rita upp med små flaggor i undre kanten på grafen. När MA20 faller ritar vi små gula flaggor och när högsta kursen är över det övre Bollingerbandet markerar vi detta med en röd flagga.

Vi kan även rita ut båda kriterierna som en punkt under stapeln.

Du kan se i bilen till höger att vi har två staplar som uppfyller våra kriterier och detta visas genom att vi har två röda flaggor under dessa två staplar.

Till slut gick vi igenom hur vi kan koda upp ett triggerscript som signalerar när vi har en positiv divergens mellan pris och RSI. Jag har fortsatt att utforska denna kod och har ändrat om den så att den ser precis likadan ut som i min Söndagsstrategi “Multipla divergenser”.

Innan kursen var jag osäker på om det gick att göra i Autotrader men det var faktiskt enklare än i andra program och här kommer en bild på den färdiga produkten.

Den stora fördelen här är att den är testad i 60 minuters upplösning, vilket är svårt att göra i vissa andra program.

Detta och en hel del mer gick vi igenom i Lektion 3 och om du vill veta mer om denna kurs kan du läsa mina andra inlägg om kursen eller vad Autostock skriver om kursen, det kan du göra här.

Syftet med denna webbplats är att bidra med information och ge min allmänna syn på börsen, index, valutor och råvaror. Det är inte meningen att informationen ensamt ska utgöra underlag eller ses som uppmaningar för köp- och säljbeslut. Informationen är min personliga syn och även om jag anser att de källor och metoder jag använder är tillräckligt tillförlitliga. Nineambell tar inget ansvar för eventuella brister i källmaterialet eller tillförlitligheten i det som erhålls i samband med utnyttjandet utav denna sida. Handel med finansiella instrument innebär alltid en risk. Nineambell svarar inte för eventuella förluster uppkomna genom investeringsbeslut baserade på information från denna webbplats.