Allmänt meddelande

Collapse
No announcement yet.

Stapelbredd

Collapse
X
 
  • Filter
  • Klockan
  • Show
Clear All
new posts

  • Stapelbredd

    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
    Last edited by Bertil; 2013-10-06, 15:01.

  • #2
    Det skulle inte hjälpa att förskjuta en 15-minutersstapel tex 5 minuter, det enda som händer är att samma fenomen med handel företrädelsevis i första och andra minuten hamnar 5 minuter offset även då. Det beror egentligen på att även små kursförändringar kan få större betydelse i början på en period då high och low samt volym ännu inte hunnit byggas upp så långt.

    Vill man går det ju alltid att spärra signaler första minuterna i en stapel, tex med:

    tidnu:=Frac(DATE())
    totalt:=Mult(tidnu,1440)
    rest:=Int(Mod(totalt,15))
    tidsignal:=Ge(rest,3)

    där tidsignal blir sant när man är 3 minuter in i en stapel. (15 min i det här fallet)

    Comment


    • #3
      Ursprungligen postat av Rikard Nilsson Visa inlägg
      Det skulle inte hjälpa att förskjuta en 15-minutersstapel tex 5 minuter, det enda som händer är att samma fenomen med handel företrädelsevis i första och andra minuten hamnar 5 minuter offset även då.
      Detta är helt OK och det är det jag vill åt! Nu triggar ju scripten t.ex 10.16, 10.31, 10.46 osv men det kanske är fördelaktigare att trigga 10.21, 10,36, 10,51 osv.
      Du skriver ju själv i Raptortråden: "Vitsen med 15-minutersstaplar är just att få en stängd stapel med MFI i botten eller toppen..."
      Man vad är det som säger att alla staplar skall sluta xx.15, xx.30 osv Genom att även trigga på förskjutna staplar ökar man ju sina chanser att få en stängd stapel med MFI i botten eller toppen. Man får alltså tydliga triggar som annars skulle gå upp i rök.

      Själv kör jag ju alltid i1). Tänkte bara komma med lite tips om att förbättra scripten för er som har större stapelbredd.
      mvh
      Bertil

      Comment


      • #4
        Nja, jag tror vi menar olika saker. För mig spelar det ingen roll om en 15-minutersstapel stänger med lägsta/högsta MFI kl 10:29:59 eller 10:34:59, det viktiga är att det sker. Om man skulle räkna om 15-min MFI till 1-minutsupplösning tror jag det kommer bete sig annorlunda och analysen fungerar inte som det är tänkt nu.

        I princip kan man ju studera vad som händer rent grafiskt om man översätter:

        mov(mfi(3),3,e)


        till mov(45),45,e)


        I diagrammet nedan syns vanlig 3-perioders MFI i 15-minuters upplösning som blå kurva. Orange kurva är 45-perioders MFI putsad med 45-perioders medel i 1-minuts upplösning. Den når aldrig sina extremvärden som jag är ute efter i tex Raptor. Som jag ser det tjänar jag inte något på 1-minutsupplösning i det här fallet, utan tappar tvärtom själva edgen.
        Attached Files

        Comment


        • #5
          Som jag skrev i Raptortråden, jag försökte översätta till 1 minutersintervall som du föreslår ovan men fick inga triggar.
          Jag är helt med på att 15 minuterstaplar är lämpliga för Raptor. Men om Raptor triggar t.ex xx.16 så skulle man kanske fått den triggen redan xx.06 med förskjutna 15 minutersstaplar, detta kan ju göra att man vinner flera punkter!
          Terminskurvan rör ju sig inte i multiplar av 15 minuter utan kan röra sig fritt. Genom att stänga in analysen i staplar som alltid börjar 00.15, 00.30 istället för att även testa 00.20, 00.35 osv begränsar man ju sina script.
          mvh
          Bertil

          Comment


          • #6
            Man kan ju tänka tvärt om att man behåller sina stapelstarttider fast förskjuter terminskurvan i multiplar av 1 minut (går ju inte lätt att göra i i15) för att se om man får fler och bättre triggar. (endast för test).
            mvh
            Bertil

            Comment


            • #7
              Snabbhet är inte alltid bäst. Avvägning mellan prisrisk(feltrigg) och informationsrisk(bekräfta och komma in lite sent). Dina script har ju begränsningar där senaste signal äger positionen.
              Det kanske är som du beskriver. En förutsättning är att signalerna blir bättre. Risken är att det blir fler och sämre signaler eller för många då det gäller båda hållen(courtage och slipp).
              Dessutom påverkar övernattning. Det enda sättet är att prova.

              Jag vet vad du menar. Tre perioder i15 min är inte samma som 45 perioder i1. Då måste du bygga varje indiaktor. Tex borde 3 perioder enkelt medelvärde bli (c+aref(c,x)+aref(c,y))/3. Jag tror varje dag börjar med ny period och det blir lite lurigt första halvtimmen.

              Comment


              • #8
                Jag brukar tänka mig större staplar som en enkel form av brusreducering. Man filtrerar bort "övertoner" i trenden och fokuserar mer på grundtonen. Därmed kan man lättare fånga trenden i det perspektiv man letar i, och undvika feltriggar pga dåligt signal/brusförhållande. (svårt att låta bli att dra paralleller till elektronik som jag är lite yrkesskadad av)


                Comment


                • #9
                  Ursprungligen postat av Rikard Nilsson Visa inlägg
                  Jag brukar tänka mig större staplar som en enkel form av brusreducering. Man filtrerar bort "övertoner" i trenden och fokuserar mer på grundtonen. Därmed kan man lättare fånga trenden i det perspektiv man letar i, och undvika feltriggar pga dåligt signal/brusförhållande. (svårt att låta bli att dra paralleller till elektronik som jag är lite yrkesskadad av)


                  Visst, så kan man se det. Om man forsätter med elektonikanalogin så är ju övertonerna multiplar av grundtonen, samt grundtonen har fix frekvens. Börskurserna har ju ingen fix grundfrekvens utan den ändras över tid, dessutom är "övertonerna" inte multiplar av grundtonen utan kan vara fasförskjutna. Min approach ovan är ju att fasförskjuta 15 minuterstaplarna för bättre träffsäkerhet när det vänder.
                  Jag ser ju även att man utnyttjar mer information ur kurvan vilket borde bli bättre.
                  mvh
                  Bertil

                  Comment


                  • #10
                    Precis, det är svårt nog att hitta grundtonen som varierar i frekvens, och ännu mycket svårare att göra något vettigt med övertonerna, varför jag tror att det är bäst att filtrera bort dem. En 15-minutersstapel är ett fantastiskt brant lågpassfilter jämfört med 1-minutsvarianten, men priset för filtreringen är som alltid en viss Group delay och fasfel.

                    Comment


                    • #11
                      Har gjort en egen variant på Raptor på i5 med lite andra villkor. Simulerade över 60 punkter på i-terminen i första försöket tillsammans med min dynamiska TP och avslut för dagen. (Mina övriga script är intrimmade till över 124 punkter på I-terminen). Tricket är att ställa in nya Raptor2 så att den går i synk med mina övriga script. Har inte optimerat ännu, men kör skarpt idag. Se tråden Hur går era affärer.
                      mvh
                      Bertil

                      Comment

                      Working...
                      X