Allmänt meddelande

Collapse
No announcement yet.

Föregående börsdag

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

  • #31
    Här är ett alternativ (kan inte garantera att det fungerar)

    minut_nu=mult(frac(date()),1440)

    { så här många minuter måste vi backa för att komma till gårdagen }
    igår=Sub(minut_nu,540)

    { då vi backat till igår 17.30 tar vi Hhv på 499 minuter bakåt dvs till 9.11 }
    gårdagenshögsta=Hhv(Aref(c,igår:1011),499)

    mvh
    Bertil

    Comment


    • #32
      Ursprungligen postat av swedtraders Visa inlägg
      Det jag är ute efter är alltså högstanoteringen för gårdagen, undantaget det som händer precis i öppningen. Om börsen igår öppnat på 1200 och under första minuten snabbt föll till 1190 och sen låg däromkring resten av dagen så vill jag att högstanoteringen ska ligga runt de 1190 då öppningen inte varit representativ för gårdagen.
      Här är ett script som fungerar för godtycklig fördröjning och scriptupplösning
      Det fungerar också om gårdagen skulle ha tidigarelagd stängning.
      Har lagt till lite kommentarer så man kan följa vad scriptet gör.

      Det man måste tänka på är att variabeln "sper" måste överenstämma med den upplösning som scriptet kör i.
      OBS Man kan köra i alla upplösningar utom 1 min. Jag får klura på varför detta inte går.

      EDIT: Nu fungerar det även för 1-minutsupplösningen. Fick ändra lite i beräkningsordningen.




      { Filtrera bort öpppningskurser vid beräkningen av gårdagens högstanotering }

      {scriptperiodicitet}
      sper:=5

      {öppningsfilter i minuter för gårdagen }
      fpgår:=15


      i5(
      {antal staplar i fördröjningen}
      pfd=int(div(fpgår,sper))

      {antal minuter för hela gårdagen }
      mgår=mult(sub(aref(market(c),1),aref(market(o),1)),1440)

      { antal perioder för gårdagen }
      apgår=int(div(mgår,sper))

      { antal perioder för beräkningen }
      apfb=sub(apgår,pfd)

      {Falskt för dagens första stapel sant för övriga}
      period=eqv(int(ref(d,1)),int(d))

      {Sant för dagens första stapel falskt för övriga}
      gräns=Not(period)

      { Gårdagens högsta filtrerat för öppningsbrus}
      gårdagens_högsta=Find(gräns,550,hhv(aref(h,1),apfb:550),1)

      draw(gårdagens_högsta,0,dgqb)

      mult(0,1)
      )
      Last edited by LillWicke; 2013-07-26, 23:58.

      Comment


      • #33
        Lysande! Ska testa!

        Wow, det där ser ju högintressant ut! Jag ska testa så fort jag har möjlighet och kommer att skriva här igen så snart jag kan. Måste bara tillägga att det här forumet och dess medlemmar är fullständigt lysande!! Ja, ni vet vilka ni är...!

        Comment


        • #34
          Scriptet funkar ju fint. :-)

          Kan man titta bakåt tills tidpunkten för senaste innehav på nåt sätt men ändå undanta alla börsöppningar? En dag bakåt är lite för begränsande trots allt...

          Edit: Jag vill använda mig av cmpref om det är möjligt.

          Comment


          • #35
            lasttrade fungerar inte med cmpref. Cmpref hämtar dataserier. Om det avser två instrument går det praktiskt att lösa genom att köra scriptet på ett instrument och spara
            vlk3 i tex en global cell som det andra scriptet hämtar. Behöver dock mer specifik info för att veta om det fungerar som du vill. Om positionerna kan ligga länge kanske en test för max tid behövs. Här drygt 7 dagar.

            i1(
            {stoppa in tid när högsta tas med}
            vlk1=and(gt(d,lasttrade(b,d)),gt(mult(frac(d),1440),550))
            vlk2=if(vlk1,h,0)
            vlk3=hhv(vlk2,4000)
            draw(vlk3,3,bqb)
            add(0,0)
            )
            Last edited by Henric; 2013-08-20, 23:33. Anledning: Ändring

            Comment


            • #36
              Jag vill koppla scriptet mot tex bull men göra analysen mot OMXS30 via cmpref om det är möjligt. Kan man inte kolla när senaste sälj i bull gjorts, räkna ut hur många perioder sedan det var och stoppa in den siffran i cmpref-uttrycket? Hur den koden skulle se ut vet jag inte på rak arm. Skulle väl ta några timmars transpiration och frustration innan jag EVENTUELLT får det att fungera (under förutsättning att det alls går). Därav mina många frågor här i forumet! :-)

              Comment


              • #37
                Det går inte att bara skicka värden med cmpref, utan det kan göras med globala celler(antingen med SetGvarIf eller SetIniIf). Beroende på vad du vill göra är principen den samma. Vill du hämta dataserier, c,h,l,v, etc är cmpref att föredra.

                Exempel där senaste säljtidpunkt skickas till instrumentet som analyserar. Letar
                sedan högsta sedan säljtidpunkten.

                {senaste sälj i instrumentet som handlas, hämtas sedan i scriptet som analyseras}
                i1(
                SetGvarIf(lasttrade(s,d),100,1)
                add(0,0)
                )

                {script som analyserar}
                i1(
                vlk1=and(gt(d,GetGvar(100)),gt(mult(frac(d),1440),550))
                vlk2=if(vlk1,h,0)
                vlk3=hhv(vlk2,4000)
                draw(vlk3,3,bqb)
                add(0,0)
                )

                Edit: Första tio minuterna är undantagna enligt diskussion i tidigare inlägg.
                Last edited by Henric; 2013-08-21, 11:56. Anledning: Edit

                Comment

                Working...
                X