Allmänt meddelande

Collapse
No announcement yet.

Pivot punkter

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

  • #16
    Har försökt att knåpa ihop en OBV modell, men hur jag än gör så får jag en oscilator som pendlar under över nollstrecket. Problemet verkar vara att dagens volym ej adderas/subtraheras med föregående OBVvärde.

    Någon som kan se vart felet ligger?

    uppgång:=GT(c,REF(c,1))
    nergång:=LT(c,REF(c,1))
    oför:=EQV(c,REF(c,1))
    SetGvarIf(v,401,uppgång,p)
    SetGvarIf(SUB(0,v),401,nergång,p)

    OBV=Add(GetGvar(401,p),GetGvar(401))
    utjämnad=DIV(OBV,500000)
    DRAW(utjämnad,2,bqa)

    Comment


    • #17
      Vad händer om du skalar enl a istället för q i draw raden? Har inte hunnut pröva själv ännu men sånt brukar jag göra fel på.

      Comment


      • #18
        Det blir samma resultat med automatisk.

        Egentligen borde inte det här vara speciellt svårt. Så här ser uträkningen ut.

        OBV is calculated by adding the day's volume to a running cumulative total when the security's price closes up, and subtracts the volume when it closes down.

        For example, if today the closing price is greater than yesterday's closing price, then the new

        OBV = Yesterday's OBV + Today's Volume

        If today the closing price is less than yesterday's closing price, then the new

        OBV = Yesterday's OBV - Today's Volume

        If today the closing price is equal to yesterday's closing price, then the new

        OBV = Yesterday's OBV

        Comment


        • #19
          Jag testade lite och kom fram till följande:

          uppgång:=GT(c,AREF(c,1))
          nergång:=LT(c,AREF(c,1))
          oför:=EQV(c,AREF(c,1))
          SetGvarIf(v,401,uppgång,p)
          SetGvarIf(SUB(0,v),401,nergång,p)

          ob1=Add(GetGvar(401,p),GetGvar(401))
          utjämnad=DIV(ob1,100000)
          DRAW(0,3,wda)
          DRAW(utjämnad,2,bda)


          Provade med ABB enligt bilden nedan, och det ser ut att fungera fint. Jag lade till en Draw som ritar ett vitt streck i nollnivå i Analys 1 som referens, och nu ritas den blå kurvan runt noll eftersom den är skalad enligt alternativ D, dvs Dubbel (-100 till +100)
          Vidare ändrade jag till Aref istället för Ref. Jag brukar använda Aref generellt eftersom det alltid fungerar i backtester etc, det är någon begränsning med Ref som gör att man kan få luriga värden i vissa omständigheter. Kommer inte riktigt ihåg varför, men Lasse har redogjort för det någonstans på forumet för längesedan. Variabeln ob1 fick ändrat namn så att den inte heter likadant som själva funktionen OBV().



          /Rikard

          PS. Imponerande scriptning annars för att vara helt ny AT-användare!
          Attached Files

          Comment


          • #20
            Hej Rikard!

            Har du lyckats luska ut om det är något som skiljer OBV() från andra dataserier?
            Jag blir inte klok på varför ovanstående graf pendlar över/under noll. Jag gick in och kollade på en aktie som steg mycket kraftigt under 4 dagar under hög volym för att sedan rekylera 3 dagar under minskande volym. Ob1 grafen steg kraftigt under uppgången, men sjönk sedan ännu kraftigare under de 3 nerdagarna. Nergången på ob1 borde varit lägre under de 3 nerdagarna.

            Kent

            Comment


            • #21
              Har fortsatt att prova olika metoder för att få till ett On balance volume script, men det blir samma resultat varje gång. Volymen accumuleras inte på rätt sätt utan det blir en graf som pendlar runt noll. Är det någon som kan hitta felet i nedanstående script?

              kursdiff:=SUB(c,REF(c,1))
              Gårdagensob:=AREF(ob1,1)
              ob1=IF(GT(kursdiff,0),ADD(v,Gårdagensob),SUB(v,Gårdagensob))

              utjämnad=DIV(ob1,100000)
              DRAW(0,3,wda)
              DRAW(utjämnad,2,bab)

              Comment


              • #22
                Jag lyckades till slut få fram ett OBV script genom att lägga till CUM, men tyvärr så fungerar det på samma sätt som det inbyggda OBV scriptet. Funkar endast för diagram.
                Går det att göra det här scriptet på något annat sätt?

                uppgång:=GT(c,AREF(c,1))
                nergång:=LT(c,AREF(c,1))
                oför:=EQV(c,AREF(c,1))
                SetGvarIf(v,401,uppgång,p)
                SetGvarIf(SUB(0,v),401,nergång,p)

                ob1=Add(GetGvar(401,p),GetGvar(401))
                ob2=CUM(ob1)
                utjämnad=DIV(ob2,100000)
                DRAW(0,3,wda)
                DRAW(utjämnad,2,bda)

                Comment


                • #23
                  Jag kollade lite på scriptet i förra inlägget och ändrade så att det ritas med skalning D (-100,0,+100) i Analysområde 1. Om man tittar på referenslinjen som ritas vid värde noll så ser man tydligt att OBV-kurvan alltid är positiv, alltså ovanför 0-linjen, så det verkar funka tycker jag.

                  ukursdiff:=SUB(c,REF(c,1))
                  Gårdagensob:=AREF(ob1,1)
                  ob1=IF(GT(kursdiff,0),ADD(v,Gårdagensob),SUB(v,Gårdagensob))

                  utjämnad=DIV(ob1,100000)
                  DRAW(0,3,wda)
                  DRAW(utjämnad,2,bda)

                  Attached Files

                  Comment


                  • #24
                    Hej igen och tack så mycket för hjälpen!

                    Om du tittar närmare, så ser du att en peak i volymen ger en peak på ob1 oavsett om det är uppgång eller nergång. ob1=volymen

                    Jag tror jag ger upp försöken för tillfället med on balance volume. Verkar inte funka utan att använda CUM funktionen för att accumulera OBV värdena, vilken i sin tur gör att det inte går att använda i bevakningsscript.

                    Har en ny fråga oxå

                    Kan man få fram hur många perioder som har gått mellan 2 datum?
                    Jag har använt SetGvarIf(d,n,c,D) för att spara undan 2 olika datumvärden.
                    Sedan vill jag summera volymen och räkna ut kursförändringen mellan dessa 2 datum.

                    Tack så mycket för hjälpen än en gång.

                    Kent

                    Comment

                    Working...
                    X