Lektion 7
Previous Topic  Next Topic 

Skriva längre script


De exempel vi gjort hittills har varit korta script. Och eftersom man bygger på med fler funktioner inuti varandra hela tiden så blir det snabbt svårt att läsa ut vad scriptet gör. Det blir lätt fel helt enkelt för att man tappar överskådlighet.
Lösningen på detta är att tilldela namn till deluttryck. Då har du en kort beskrivande
benämning på ett längre uttryck som du kan använda så många gånger du vill i andra delar av scriptet.

LT(C,MOV(C,20,S))

Detta kan skrivas som:

m1:=MOV(C,20,S)
LT(C,m1)

Medelvärdesuttrycket tilldelades här namnet 'm1' som sedan användes längre ned i den avslutande testen med LT(). Kom ihåg att de tilldelade namnen hittar du själv på. Teckensekvensen ':=' separerar namnet från uttrycket till höger.

Du skulle kunna välja ett mer beskrivande namn också.

medel1:=MOV(C,20,S)
LT(C,medel1)

Valet är ditt. Vad du kallar deluttryck är inget förutbestämt på något sätt som du behöver
lära dig på samma sätt som scriptspråkets funktioner för olika operationer.

Du kan också använda tilldelade namn för att lägga parametrar du vill ändra enkelt i
början på scriptet.

mperioder1:=20
medel1:=MOV(C,mperioder1,S)
LT(C,medel1)

'mperioder1' kan stå för medelvärdesperioder #1. Överallt i scriptet där det används
ersätts det med '20'. Och vill du ändra det senare till ett annat värde så är det bara att
ändra på ett enda ställe i början på scriptet.

Det är också ganska praktiskt att ha med en siffra i namnet. För när man bygger vidare i scriptet så skall man snart ha med ett annat periodvärde och då kallar man det kanske 'mperioder2'.

Vårt tidigare script med ett uppmjukat RSI:

MOV(RSI(14),5,S)

skulle kunna skrivas om som

rperioder1:=14
mperioder1:=5
r1:=RSI(rperioder1)
MOV(r1,mperioder1,S)

'rperioder' syftar på rsi-perioder, och 'mperioder' syftar på medelvärdesperioder. Och kom ihåg att vad du kallar deluttryck är för din egen bekvämlighet. Vi ger bara lite tips i sammanhanget.

Så snart du börjar orientera dig i lite längre script kommer du att uppskatta värdet av dessa principer i uppbyggnaden.

Fördefinierade variabler



Någon av bokstäverna 'C','H', 'L', 'O', 'V' (Close, High, Low, Open, Volume) kan anges som inparametervärde där man förväntar sig talvärden (OBS ej för perioder) och anger då senaste värdet av respektiv typ. Typisk användning är i de matematiska funktionerna (både aritmetiska och logiska).

C (Close) Senaste betalkurs

H (High) Högsta kurs för perioden

L (Low) Lägsta kurs för perioden

O (Open) Öppningskurs för perioden

V (Volume) Omsatt volym för perioden

S (Sell) Aktuell säljkurs

B (Buy) Aktuell köpkurs

D (Datum) Datum+tid för perioden (tidstämpel från början på innevarande period i databasen)


Exempel 1:

MULT(V,C)

Multiplicera senaste volym med senaste kursen. Detta bildar ju som bekannt omsättning i kronor.



Exempel 2:

ADD(C,2.50)

Returnerar senaste kursen plus 2.50 kr.


Nordnet AutoTrader kan även tillämpa scriptspråk på intradaydata och perioder när man använder det för bevakning och grafiska script. Dessa utryck nedan är också reserverade för detta ändamål: