Allmänt meddelande

Collapse
No announcement yet.

Hur fungerar AREF

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

  • #16
    Nja, jag hittar inget fel. Provade med följande script som drar ifrån 2 punkter från ena kurvan så att man kan se båda samtidigt:


    i5(
    xStockDailyClose=cmpref(C,0,A)
    draw(AREF(AREF(xStockDailyClose,1),1),3,rqb)
    draw(sub(AREF(xStockDailyClose,2),2),4,bqb1)
    and(0,0)
    )

    {@A(0,OMX Stock )}
    Attached Files

    Comment


    • #17
      Tack för hjälpen Rikard. Då fortsätter jag leta buggar i mitt script...

      Comment


      • #18
        Ursprungligen postat av cerion Visa inlägg
        Ni missförstår mig nog lite båda två.



        LillWicke:
        i5() betyder att scriptet kör i 5-min-upplösning. Jag läser dock in externa objektet i dagsupplösning. Om man då tar AREF(x,1) på detta objekt innebär det att man tittar en handelsdag tillbaka, inte 5 minuter.





        Henric:
        Det är inte "rådatan" av OMXS30 från igår jag vill läsa in, utan den bearbetade versionen efter att mina script räknat ut totalGain och totalLoss.

        Så ett förtydligande av vad jag är ute efter:
        1) Du läser in OMXS30 i dagsupplösning.
        2) Utför beräkningar på detta = X
        3) Använder den beräkningen från igår Y=AREF(X,1)
        4) Använd Z=AREF(Y,1), dvs gårdagens Y
        5) Z blir fel

        Ett bevis på detta är att min gain (grön) eller loss (röd) som mitt script ovan ritar ut, kan bli noll. Det är omöjligt om NAT räknat rätt.

        Betakta denna kodraden:
        mRelativeStrengthIndexGain4=DIV(ADD(mRelativeStrengthIndexGain3,AREF(mRelativeStrengthIndexGain3,1)),2) {släta ut medelvärdet}

        Den adderar dagens "Gain3" med gårdagens "Gain3", och delar med två. Om "Gain3" någon gång någonsin blivit större än noll, kommer den aldrig att kunna bli 0.0.

        Right?
        Värderna ackumuleras inte, utan hämtar bara värden för perioder.
        Då kan summan av två perioder bli noll.

        Comment


        • #19
          Henric du har helt rätt.

          Är det då tillåtet att skriva något i stil med

          X=ADD(AREF(X,1),C)

          dvs man refererar till sig själv föregående stapel?

          Comment


          • #20
            Nej, det är inte tillåtet. Man får gå omvägen över en ny variabel:

            X1=?????
            X2=ADD(AREF(X1,1),C)

            Comment


            • #21
              Hur ser implementationen av NATs version av RSI ut? Den är väl skriven i vanlig scriptkod?

              Comment


              • #22
                Själva koden är skriven i C++ men går fint att skriva i NAT-script också. Det är vanlig standardformel för RSI men omskalad till -100 till +100, vilket gjordes för många år sedan för att matcha dåvarande Vikingen om jag inte minns fel.

                Comment


                • #23
                  Aha, trodde alla inbyggda script var NAT-kod.
                  C++ går fint, jag kan det rätt bra också

                  Vad jag är ute efter är hur ni implementerar rekursiva metoder, typ X(t)=X(t-1)/2

                  Comment

                  Working...
                  X