Jag kom in på frågan om stapelbredd (= tid 1,5,10,15,30,60 min) i Raptortråden, men det är ju en allmän fråga så den får en egen tråd.
Bakgrund: Jag betraktar ju alltid terminskurvan i realtid och genomför flera affärer per dag (1-4 st). För mig är t.ex 15 minuter en lång tid. På den kan terminen ändra sig 5 punkter och man kan både hinna köpa och sälja.
För att sortera bort brus kan det vara bra att använda lite större stapelbredd än 1 min. Det är helt OK. Raptor använder sig t.ex av 15 minutersstaplar. (Bra då man tittar på volym)
Väljer man 15 minuters staplar blir ju indelningen, 09.00-09.14, 09.15-09.29 osv. Den aktuella ofullgånga stapeln som ingår i triggen är 0-14.55 minuter lång. Avståndet till föregående stapels slut Aref(c,1) är 0-14.55 min. Ser man på hur scripten som bygger på 15 minuters staplar handlar så sker det mest inom 0-2 minuter efter ny stapel (obs inte alltid). Detta stör mig. Om man kunde förskjuta 15 minutersstaplarna så att intervallet blev 09.05-09.19, 09.20-09.34 osv skulle man bättre kunna fånga in snabba rörelser.
Idé 1:
Den första idén som jag fick var att se om man kunde bygga upp 15 minutersstapeln av 15 st 1 minuterstaplar. Jag testade det på Raptorscripten men fick inga trigg beroende på:
a) jag kanske scriptade fel (är inte så duktig på funktioner jag normalt inte använder)
b) Den ofullgånga stapeln blir ju max 1 minut, detta fördärvar idén med scriptet.
c) Varje minut så får man ju en fullgången 15 minuterstapel. Man kan ju trigga på den fullgånga stapeln och jämföra med föregående. Detta ger dock att scriptet istället blir långsammare.
Idé 2:
Man behåller 15 minuterscriptet intakt, fast förskjuter det 1-14 minuter, dvs en uppsättning tittar på 09.00-09.14 med 15 minuters multiplar, nästa uppsättning tittar på 09.01-09.15 med multiplar osv ända till 09.14-09.28 med multiplar.
Om man tänker Basic programmering så vill man loopa scriptet fast med först 1 min fördröjning sedan 2 min osv. Första bästa variant som får trigg handlar.
Problemet här är att man vill blanda 1 minuterintervaller med 15 minutersintervaller. Med cmpref kan man ta in större tidsintervall i mindre t.ex dagsvärden i 15 minuterscript. Att med cmpref ta in minutscript i i15 kanske går, men då jag sedan vill förskjuta i 1 min så fungerar det inte. Man kan ju ta in före tidsdelningen dvs temp1:=cmpref(c,0,a) men vad händer om jag tar temp2:=aref(temp1,1) ? då ärver jag väl tidsintervallet 15 minuter fastän jag står före tidsindelningen.
Idé 3:
Nu är vi tillbaka i enminuterscriptet fast vi måste bygga upp det hela som 15 minuterscript fast med 14 olika minutfördröjningar. Den simulerade ofullgångna stapeln måste få bli 0-14.55 min i alla fördröjningsvarianter. Detta blir för svårt såvida inte t.ex Henric eller LillWicke (Rikard har nog fullt upp med annat) har något fiffigt tillvägagångssätt.
Idé 4:
Rikard specar en ny funktion som heter stapelstart (som Lasse programmerar)
Om man skriver stapelstart:=5 innan i15) så förskjuts starten av alla staplar med 5 minuter dvs 09.00-09.14 blir 09.05-09.19 osv. OBS instrumentdatat förskjuts inte bara intervallindelningen för staplarna.
Edit: Ett sätt att kunna skriva det kunde vara i15:5) som då skulle betyda 15 minuterstaplar med 5 minuters förskjutning relativt kl 09.00.
Problemet skulle då bli i diagramkörningen där man nog måste låta bli förskjutning på staplarna, annars blir det för plottrigt.
Önskar man köra scriptet med olika stapelstart får man tillverka sig en ny uppsättning script.
Bättre (svårare) alternativ. Man tillåts använda funktionen stapelstart flera gånger i scritpet. Man har då flera varianter av scriptet efter varandra med olika stapelstart. Detta kan dock bli rörigt och inte en funktion man vill ha till att börja med.
Några idéer bara. Det märks att det är helg, då flödar fantasin i brist på att få handla.
mvh
Bertil
Bakgrund: Jag betraktar ju alltid terminskurvan i realtid och genomför flera affärer per dag (1-4 st). För mig är t.ex 15 minuter en lång tid. På den kan terminen ändra sig 5 punkter och man kan både hinna köpa och sälja.
För att sortera bort brus kan det vara bra att använda lite större stapelbredd än 1 min. Det är helt OK. Raptor använder sig t.ex av 15 minutersstaplar. (Bra då man tittar på volym)
Väljer man 15 minuters staplar blir ju indelningen, 09.00-09.14, 09.15-09.29 osv. Den aktuella ofullgånga stapeln som ingår i triggen är 0-14.55 minuter lång. Avståndet till föregående stapels slut Aref(c,1) är 0-14.55 min. Ser man på hur scripten som bygger på 15 minuters staplar handlar så sker det mest inom 0-2 minuter efter ny stapel (obs inte alltid). Detta stör mig. Om man kunde förskjuta 15 minutersstaplarna så att intervallet blev 09.05-09.19, 09.20-09.34 osv skulle man bättre kunna fånga in snabba rörelser.
Idé 1:
Den första idén som jag fick var att se om man kunde bygga upp 15 minutersstapeln av 15 st 1 minuterstaplar. Jag testade det på Raptorscripten men fick inga trigg beroende på:
a) jag kanske scriptade fel (är inte så duktig på funktioner jag normalt inte använder)
b) Den ofullgånga stapeln blir ju max 1 minut, detta fördärvar idén med scriptet.
c) Varje minut så får man ju en fullgången 15 minuterstapel. Man kan ju trigga på den fullgånga stapeln och jämföra med föregående. Detta ger dock att scriptet istället blir långsammare.
Idé 2:
Man behåller 15 minuterscriptet intakt, fast förskjuter det 1-14 minuter, dvs en uppsättning tittar på 09.00-09.14 med 15 minuters multiplar, nästa uppsättning tittar på 09.01-09.15 med multiplar osv ända till 09.14-09.28 med multiplar.
Om man tänker Basic programmering så vill man loopa scriptet fast med först 1 min fördröjning sedan 2 min osv. Första bästa variant som får trigg handlar.
Problemet här är att man vill blanda 1 minuterintervaller med 15 minutersintervaller. Med cmpref kan man ta in större tidsintervall i mindre t.ex dagsvärden i 15 minuterscript. Att med cmpref ta in minutscript i i15 kanske går, men då jag sedan vill förskjuta i 1 min så fungerar det inte. Man kan ju ta in före tidsdelningen dvs temp1:=cmpref(c,0,a) men vad händer om jag tar temp2:=aref(temp1,1) ? då ärver jag väl tidsintervallet 15 minuter fastän jag står före tidsindelningen.
Idé 3:
Nu är vi tillbaka i enminuterscriptet fast vi måste bygga upp det hela som 15 minuterscript fast med 14 olika minutfördröjningar. Den simulerade ofullgångna stapeln måste få bli 0-14.55 min i alla fördröjningsvarianter. Detta blir för svårt såvida inte t.ex Henric eller LillWicke (Rikard har nog fullt upp med annat) har något fiffigt tillvägagångssätt.
Idé 4:
Rikard specar en ny funktion som heter stapelstart (som Lasse programmerar)
Om man skriver stapelstart:=5 innan i15) så förskjuts starten av alla staplar med 5 minuter dvs 09.00-09.14 blir 09.05-09.19 osv. OBS instrumentdatat förskjuts inte bara intervallindelningen för staplarna.
Edit: Ett sätt att kunna skriva det kunde vara i15:5) som då skulle betyda 15 minuterstaplar med 5 minuters förskjutning relativt kl 09.00.
Problemet skulle då bli i diagramkörningen där man nog måste låta bli förskjutning på staplarna, annars blir det för plottrigt.
Önskar man köra scriptet med olika stapelstart får man tillverka sig en ny uppsättning script.
Bättre (svårare) alternativ. Man tillåts använda funktionen stapelstart flera gånger i scritpet. Man har då flera varianter av scriptet efter varandra med olika stapelstart. Detta kan dock bli rörigt och inte en funktion man vill ha till att börja med.
Några idéer bara. Det märks att det är helg, då flödar fantasin i brist på att få handla.
mvh
Bertil
Comment