Borde vara lätt att få till, men det sk-ter sig, därför tacksam för hjälp. Behöver ett script som returnerar högsta kurs sedan inköp av ett papper.
Allmänt meddelande
Collapse
No announcement yet.
Högsta kurs sedan inköp?
Collapse
X
-
Ett enkelt sätt är att låna lite kod från Stoploss Mini:
start=if(ge(d,lasttrade(b,d)),h,0)
maxhittills=hhv(start,2000)
som testar om databastid D är samma eller senare period än senaste köp. I så fall returneras högsta värdet av H sedan dess (inom 2000 perioder bakåt).
-
Ursprungligen postat av swedtraders Visa inlägg...Men om högsta ligger mer än 2000 perioder bakåt?
Kör scriptet i 5min blir det ca 20 dagar, 15min ca 3mån, och 60min ca 1år.
Man slöar ned datorn väldigt om man har många antal perioder som man ska använda hhv() eller någon anna funktion på. En lösning är att använda cmpref() och bestämma en fast periodlängd oberoende av vilken upplösning scriptet kör med.
Scriptet nedan blickar tillbaka ca 5 veckor oavsett den upplösning du kör i.
Skriver du {@A(120,)} får du en tillbakablick på ca 2,3 månader trots att periodlängden bara är 200.
ixh:=cmpref(h,0,A)
start=if(ge(d,lasttrade(b,d)),ixh,0)
maxhittills=hhv(start,200)
{@A(60,)}Last edited by LillWicke; 2013-08-06, 13:54.
Comment
-
Det är smart. Lite frågor. Det måste ändå bli en avvägning med resurser för extraobjektet, men kräver nog mindre? Varför inte alltid köra med dagskurser, vilket kräver minst perioder för hhv? Start blandar dataserier från scriptets upplösning och extraobjektet. Blir det automatiskt ixh som styr periodisiteten för hhv?
Comment
-
Ursprungligen postat av Henric Visa inläggDet är smart. Lite frågor. Det måste ändå bli en avvägning med resurser för extraobjektet, men kräver nog mindre? Varför inte alltid köra med dagskurser, vilket kräver minst perioder för hhv? Start blandar dataserier från scriptets upplösning och extraobjektet. Blir det automatiskt ixh som styr periodisiteten för hhv?
"Start" kör ju bara ett villkor och stoppar sedan in ixh eller 0 i startvariabeln, så någon blandning av perioder blir det inte där.
Om man skriver hhv(ixh,200) är det upplösningen på ixh som styr periodiciteten på hhv() det har jag testat ut sedan tidigare.
EDIT: Det fungerar även på andra funktioner som använder perioder, som mov() exempelvis, ska kanske tilläggas.
Last edited by LillWicke; 2013-08-06, 15:35.
Comment
-
Jag har testat samma sak. Tänkte mer när man blandar olika periodiciteter i uttryck. Har inte testat. Start kan ju bara returera en periodicitet. If statement är då ett bra sätt att separera periodiciteter. Vad händer när man blandar olika upplösningar i samma uttryck och sedan använder tex hhv? Bra om du vet. Annars blir det lite testing.
Comment
-
Ursprungligen postat av Henric Visa inläggVad händer när man blandar olika upplösningar i samma uttryck och sedan använder tex hhv? Bra om du vet. Annars blir det lite testing.
Comment
-
Ursprungligen postat av Frjoh Visa inläggHej
Hur scriptar man högsta lägsta kurs llv huv begränsad under ex-vis första handelstimmen på dagen?
Mitt otestade tips är:
{skriptet gäller under förutsättning att du inte skall handla före kl 10}
i1(
minut_nu=mult(frac(date()),1440)
{ så här många minuter måste vi backa för att komma till kl 10 }
förstatimmen=if(Ge(Sub(minut_nu,600),0),Sub(minut_nu,600),0)
{ då vi backat till kl 10.00 tar vi Hhv på 60 minuter bakåt dvs till 9.00}
morgonhögsta=Hhv(Aref(c,förstatimmen:510),Min(60,Sub(minut_nu,540)):60)
morgonlägsta=Llv(Aref(c,förstatimmen:510),Min(60,Sub(minut_nu,540)):60)
)
mvh
BertilLast edited by Bertil; 2013-08-06, 22:07.
Comment
Comment