Allmänt meddelande

Collapse
No announcement yet.

Atan?

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

  • Atan?

    Undrar lite över def av ATAN(p1,p2)(se nedan) och att vinkel är 45 grader när p1 och p2 är lika dvs samma kursvärde t.ex. Som jag tänker drar man en rät linje mellan p1 o p2 och mäter sedan dess vinkeln i förhållande till X axel(=tidsaxel). Borde det då inte vara 0 grader i vinkel när p1=p2


    Namn: ArcusTangens

    Beskrivning: Vinkel mellan p1 och p2 i grader

    Parameter 1: Dataserie, referens bakåt i dataserie eller returvärde från annan funktion som returnerar dataserie

    Parameter 2: Dataserie, referens bakåt i dataserie eller returvärde från annan funktion som returnerar dataserie

    Returnerar: Dataserie med vinkel 0-360 grader

    Kommentar: Om p1 och p2 är lika är vinkeln 45 grader. 45-90 om stigande

    Exempel: ATAN(C,REF(C,1)) ger vinkeln mellan senastkursen denna perioden och slutkursen för förra perioden.

  • #2
    Ja hur funkar detta?

    Atan brukar ju bara ha 1 värde... Atan(värde)...
    Fattar programmet enligt exemplet att t.ex. C (close) är X=0 och Y= kursen.
    Det jag är ute efter är att mäta vinkeln enligt ett antal perioder bakåt.
    T.ex. om kursen rör sig på 10 år från 100 till 200 kr så är ju vinkeln ganska liten, men om den gör det på 1 månad blir vinkeln större..

    Jag hade helst skrivit för att räkna ut vinkeln:
    ----------------------------------------------
    {X=tiden/antal staplar}
    {Y=Kursen}
    X1:=0
    Y1:=C
    X2:=10
    Y2:=Ref(C,10)
    {Atan((X1-X2)/(Y1-Y2))}
    Vinkeln:=Atan(Div(Sub(X1,X2),Sub(Y1,Y2)))
    {Atan har i normala fall bara 1 indata}
    ----------------------------------------------

    Men enligt exemplet i hjälptexten har Atan 2 indata. Så får jag samma vinkel om jag använder?
    ----------------------------------------------
    Vinkeln:=Atan(C,Ref(C,10))
    ----------------------------------------------
    Fattar programmet och tar hänsyn att Y-axeln är 10 perioder (enl. ovan ex.) så är jag nöjd annars undrar jag hur jag ska gå vidare.

    Jag har inte kollat om min beräkning överst stämmer helt och hållet men jag tror att Ni förstår frågeställningen...
    NiclasGBG

    Comment


    • #3
      Jag har faktiskt inte provat den funktionen själv, men det ser ut att stämma som du skriver.

      Tanken är att man kan mäta vinkeln mellan tex Close-kursen 100 perioder bakåt och Close-kursen "just nu". Det är ju lätt att testa genom att tex jämföra värdet med ett gränsvärde så att man får flaggor i diagrammet om värdet överskrids/underskrids.

      Comment


      • #4
        Nja... Funkar inte riktigt

        Arcus Tangens är gjord på ett sätt som jag inte riktigt förstår...

        >45 grader = positiv vinkel
        <45 grader = negativ vinkel

        Men vinkeltalen blir väldigt låga om det ska fungera och jag är ytterst tveksam till funktionaliteten.

        Inom t.ex. 20 perioder (1 minuts perioder) mätt mot det lägsta värdet blir aldrig vinkeln större änr 46 grader d.v.s. 1 grad.

        När jag provade fick jag t.ex. använda "45.1" eller "45.09", för att kunna använda funktonen och jag vet att vinkeln är större än 0.1 grader...

        Det finns inga andra trigonmetriska funktioner, så någon som har provat något liknande?
        NiclasGBG

        Comment


        • #5
          Arctan

          Ursprungligen postat av niclas_gbg Visa inlägg
          Arcus Tangens är gjord på ett sätt som jag inte riktigt förstår...

          >45 grader = positiv vinkel
          <45 grader = negativ vinkel

          Men vinkeltalen blir väldigt låga om det ska fungera och jag är ytterst tveksam till funktionaliteten.

          Inom t.ex. 20 perioder (1 minuts perioder) mätt mot det lägsta värdet blir aldrig vinkeln större änr 46 grader d.v.s. 1 grad.

          När jag provade fick jag t.ex. använda "45.1" eller "45.09", för att kunna använda funktonen och jag vet att vinkeln är större än 0.1 grader...

          Det finns inga andra trigonmetriska funktioner, så någon som har provat något liknande?
          Har kommit fram till samma resultat att den bara går att använda till att avgöra om riktningen är upp från X axeln(= större än 45 i detta fall?)
          eller ner mot X axeln .
          Har även provat lite med LINREG men känner mig lika osäker på den då den
          egentligen bör vara avsedd för linjära funktioner. Tror inte en kurskurva OMX platsar där

          Comment


          • #6
            Väcker liv i den här gamla tråden då jag försöker förstå vad ATAN returnerar för värde. Som det ser ut så får jag också värden som pendlar mellan 44 och 46 som inte har mycket sans och reson annat än att värden över 45 kommer från en positiv lutning och värden under 45 kommer från en negativ lutning.

            Det jag vill åstadkomma är att, givet en lutning på ett MA få fram vinkeln på samma MA. Med vinkeln kan man sedan beräkna ett normaliserat värde mellan [-1,1] enligt https://math.stackexchange.com/quest...lope-of-a-line

            Det normaliserade värdet vill jag sedan använda till att styra ett gränsvärde.

            Någon chans att ni kan göra en buggfix eller alternativt bygga en ny funktion med rätt implementering?

            Comment

            Working...
            X