Allmänt meddelande

Collapse
No announcement yet.

SetGVarIf

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

  • SetGVarIf

    Hej,

    Det jag vill göra är att undvika att lägga in kod från köpskriptet i ett säljskript för att få reda på en köpnivå.
    Kan man i skriptet som är kopplat till position 1 i en graf spara en variabel med SetGVarIf och sedan hämta denna variabel med GetGVar i skript kopplat till postition 2. Värdet varieras 1 gång per dag.

    Undrar också över hur skripten körs i förhållande till varandra.

    Mvh
    Jompa

  • #2
    Det går utmärkt att skicka ett värde från Script 1 till Script 2 via en global cell. Scripten exekveras ju allihop vid varje kursinsamling, så det är inte kritiskt i vilken ordning det sker om värdet bara ändras då och då.

    Comment


    • #3
      Hej Rikard,

      Har gjort ett enkelt test:
      Om man kopplar in följande två skript till ett diagram borde man väll då få två kurvor på 1 resp. 2 nivåer över stängningskurs?

      Jag får bara en gul kurva och ett rött sträck en bit över.


      {Skripts 1}
      slutkurs:=c
      DRAW(ADD(slutkurs,1),5,yqb)
      SETGVARIF(slutkurs,150,1)
      LT(10,0)


      {Skript 2}
      slutkurs:=GETGVAR(150)
      DRAW(ADD(slutkurs,2),5,rqb)
      LT(10,0)

      Mvh
      Jompa

      Comment


      • #4
        Det stämmer, det gula scriptet plockar sitt värde för varje period det exekveras. När det röda scriptet exekveras plockar det värdet från cellen som den är "just nu", dvs det senaste inmatade värdet vilket är slutkursen från sista perioden i diagrammet som det gula scriptet exekverades.

        Comment


        • #5
          Då är jag inte med alls... :-)

          Du skrev "Scripten exekveras ju allihop vid varje kursinsamling".
          Varje kursinsamling är väll den minsta upplösningen på diagrammet, vad det nu är.
          Tolkade det du sa som att skript 1 kördes först för första perioden och sedan skript 2 för samma period. Därefter skript 1 för period 2 o.s.v.

          Vad är annars definitionen på en kursinsamling?


          Mvh
          Jompa

          Comment


          • #6
            Jo, scripten körs varje kursinsamling, så den röda kurvan ovanför den gula kommer att uppdateras vid varje insamling.

            Men, anledningen att den inte följer med den gula över diagrammet är att värdet i cellen är det som senast skrevs in, dvs sista noterade kurs i slutet av diagrammet.

            Det gula scriptet läser av sin egen close under tiden diagrammet ritas upp, och då får vi med alla slutkurser för varje period i diagrammet. När det scriptet har exekverats färdigt är det dags för det röda att exekveras, och eftersom det inte skriver in några värden i cellen utan bara läser av cellen får man det sista värdet längst till höger.

            Lite svårt att förklara på nåt enkelt sätt!

            Comment


            • #7
              Hej,

              Skripten körs alltså en i taget för all data i diagrammet. Först körs skript 1 för all data och sedan skript 2 för all data. Då är det ju inga konstigheter att det blir som det blir.

              Det innebär alltså att jag inte kan använda SetGVarIf, allafall inte för skript kopplat till diagram. Informationen i cellen måste komma över till skript 2 någorlunda i synk för att det ska fungera att använda cellerna för att skicka data mellan mina skript.

              Hur är det med skript som är kopplade till en ordermodell?
              Då kommer ju data varje minut eller vad man har och då borde väll skript 1 köras först och sedan skript 2, just för den kursinsamlingen? Sedan körs skript 1 följt av skript 2 när nästa data kommer in.

              Många frågor men det krävs för att man ska förstå... :-)

              Tack för att du tar dig tid!

              Mvh
              Jompa

              Comment


              • #8
                Hej Rikard,

                Kan du förklara vad det är som händer i nedanstående kod?

                Borde inte resultatet bli en graf med positiv lutning?

                Får en linje med positiv lutning och en med negativ lutning som utgår från samma punkt.

                ---
                avar1:=GETVAL(3)
                RETVAL(ADD(avar1,0.01),3)
                avar1
                ---

                Mvh
                Jompa

                Comment


                • #9
                  Det kan ha varit någon grafisk bugg för nu ser det bra ut.
                  Har du någon annan idé så får du gärna säga till.

                  Comment

                  Working...
                  X