Allmänt meddelande

Collapse
No announcement yet.

Pivot-script

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

  • #46
    Så här ser scriptet ut nu med färger och jag har kommit fram genom att laborera med färgerna att det är cell 23 som ej fungerar.
    Klistra in scriptet hos dig Rikard så kan vi jämföra, R3 ska vara blue, nu visar
    jag den som red och den skrivs ej ut.


    close:=Ref(c,1)
    high:=Ref(h,1)
    low:=Ref(l,1)
    tidnu:=Frac(DATE())
    totalt:=Mult(tidnu,1440)
    skriv:=And(Gt(totalt,541),Lt(totalt,545))
    {}
    p1:=Div(Add(Add(low,high),close),3)
    {}
    SetGVarIf(p1,21,skriv)
    {}
    SetGVarIf(Sub(Mult(p1,2),high),20,skriv)
    SetGVarIf(Sub(p1,Sub(high,low)),22,skriv)
    SetGVarIf(Sub(Mult(p1,2),low),23,skriv)
    SetGVarIf(Add(p1,Sub(high,low)),24,skriv)
    SetGVarIf(Sub(Low,Mult(2,Sub(high,p1))),25,skriv)
    SetGvarIf(Sub(Mult(2,p1),low),26,skriv)
    {}
    output=Add(0,p1)
    {}
    Draw(GetGVar(21),1,cqb)
    {}
    Draw(GetGVar(20),2,yqb)
    Draw(GetGVar(22),3,wqb)
    Draw(GetGVar(23),4,rqb)
    Draw(GetGVar(24),5,wqb)
    Draw(GetGVar(25),6,bqb)
    Draw(GetGVar(26),7,yqb)

    Comment


    • #47
      Det kanske ska vara add på cell 23 i setgvarif istället för sub?

      Comment


      • #48
        Det var fel i beräkningen. Det här funkar:

        close:=Ref(c,1)
        high:=Ref(h,1)
        low:=Ref(l,1)
        tidnu:=Frac(DATE())
        totalt:=Mult(tidnu,1440)
        skriv:=And(Gt(totalt,541),Lt(totalt,545))
        {}
        p1:=Div(Add(Add(low,high),close),3)
        {}
        SetGVarIf(p1,21,skriv)
        {}
        SetGVarIf(Sub(Mult(p1,2),high),20,skriv)
        SetGVarIf(Sub(p1,Sub(high,low)),22,skriv)
        SetGVarIf(Sub(Mult(p1,2),low),23,skriv)
        SetGVarIf(Add(p1,Sub(high,low)),24,skriv)
        SetGVarIf(Sub(Low,Mult(2,Sub(high,p1))),25,skriv)
        SetGvarIf(Add(High,Mult(2,Sub(p1,Low))),26,skriv)
        {}
        output=Add(0,p1)
        {}
        Draw(GetGVar(21),1,cqb2)
        {}
        Draw(GetGVar(20),2,yqb)
        Draw(GetGVar(22),3,wqb)
        Draw(GetGVar(23),4,rqb)
        Draw(GetGVar(24),5,wqb)
        Draw(GetGVar(25),6,bqb)
        Draw(GetGVar(26),7,yqb)

        Comment


        • #49
          Kan man få in scriptet i intraday-diagram och hur gör man i så fall? Vad bockar man för? skalning, etc?

          Comment


          • #50
            Skulle rekommendera Lasses script längre upp i den här tråden, det fungerar perfekt i intraday-diagram. "Vårt" script måste vara anslutet till dagsdiagram för att kunna beräkna pivoter på dagsdata. Inget hindrar dock att man lägger Draw-satserna i ett eget litet script som man kan köra i intraday-upplösning:

            i1(
            Draw(GetGVar(21),1,cqb2)
            Draw(GetGVar(20),2,yqb)
            Draw(GetGVar(22),3,wqb)
            Draw(GetGVar(23),4,rqb)
            Draw(GetGVar(24),5,wqb)
            Draw(GetGVar(25),6,bqb)
            Draw(GetGVar(26),7,yqb)
            )


            Det fungerar då endast när det "stora" scriptet är anslutet i dagsdiagram samtidigt. Pivot-värdena skrivs ner i globala minnesceller och hämtas upp av "rit-scriptet".

            Comment


            • #51
              Jag publicerar här pivot-scriptet med mitt färgval och streckade linjer.
              Pivot-linjen är turkos, sedan kommer gul, vit och mörkblå.


              close:=Ref(c,1)
              high:=Ref(h,1)
              low:=Ref(l,1)
              tidnu:=Frac(DATE())
              totalt:=Mult(tidnu,1440)
              skriv:=And(Gt(totalt,541),Lt(totalt,545))
              {}
              p1:=Div(Add(Add(low,high),close),3)
              {}
              SetGVarIf(p1,21,skriv)
              {}
              SetGVarIf(Sub(Mult(p1,2),high),20,skriv)
              SetGVarIf(Sub(p1,Sub(high,low)),22,skriv)
              SetGVarIf(Sub(Mult(p1,2),low),23,skriv)
              SetGVarIf(Add(p1,Sub(high,low)),24,skriv)
              SetGVarIf(Sub(Low,Mult(2,Sub(high,p1))),25,skriv)
              SetGvarIf(Add(High,Mult(2,Sub(p1,Low))),26,skriv)
              {}
              output=Add(0,p1)
              {}
              Draw(GetGVar(21),1,cqb2)
              {}
              Draw(GetGVar(20),2,yqb2)
              Draw(GetGVar(22),3,wqb2)
              Draw(GetGVar(23),4,yqb2)
              Draw(GetGVar(24),5,wqb2)
              Draw(GetGVar(25),6,bqb2)
              Draw(GetGVar(26),7,bqb2)

              Comment


              • #52
                screenshot:
                Attached Files

                Comment


                • #53
                  Rikard,
                  hur känsligt är det scriptet för visning av intraday-data?

                  Vid ett flertal tillfällen har dagens pivot-värden ej skrivits riktigt då jag har haft omxs308k-intraday diagram arbetsyta uppe. Det verkar som man måste ha ett dagsdiagram uppe när linjerna skrivs till cellerna.

                  Ska det fungera så?
                  Om scriptet är anslutet till ett intraday-diagram och har ikryssat att det ska visas i Dagskurser borde det väl fungera?

                  Comment


                  • #54
                    Det är ett dagsstapel-script, eftersom det bara mäter "förra" perioden. Det är alltså viktigt att man inte kör det i intraday-upplösning eftersom förra perioden då blir samma upplösning som diagrammet. Det var därför det lilla "rit-scriptet" fixades ovan. Det ansluts i intraday, och ritar kurvorna medan huvudscriptet måste vara anslutet endast i dagsupplösning.

                    Comment


                    • #55
                      Ursprungligen postat av Rikard Nilsson Visa inlägg
                      Det är ett dagsstapel-script, eftersom det bara mäter "förra" perioden. Det är alltså viktigt att man inte kör det i intraday-upplösning eftersom förra perioden då blir samma upplösning som diagrammet. Det var därför det lilla "rit-scriptet" fixades ovan. Det ansluts i intraday, och ritar kurvorna medan huvudscriptet måste vara anslutet endast i dagsupplösning.

                      Då uppkommer ju det delikata problemet om man som jag kör Omx Reek med dagsstaplar, anslutna script i cell 1 till 19 på omxs308k däribland scriptet som ritar pivot-linjerna i ett dagsstapel-diagram-arbetsyta.

                      I SAMMA papper dvs OMXS308K har vi sedan Omx Wampa:s script i cell 20-27som är en intraday-arbetsyta och här har vi scriptet som ritar de skrivna cellerna med pivot-linjerna.

                      Hur gör man när scriptet som skriver linjerna är anslutna till samma derivat OMXS308K i BÅDE intraday och daily?

                      Comment


                      • #56
                        Man gör två kopior av scriptet med olika namn, och kryssar för Intraday på ena, dagskurser på andra.

                        Comment


                        • #57
                          Ursprungligen postat av Rikard Nilsson Visa inlägg
                          Man gör två kopior av scriptet med olika namn, och kryssar för Intraday på ena, dagskurser på andra.

                          Ja, det är precis det jag gjort och varannan dag fungerar det ej.
                          Det verkar som det blir någon stack overflow i AT8.

                          Comment


                          • #58
                            Stacken kan svämmas över, men då får man nästan garanterat programkrasch så jag tror inte det är det som händer. Däremot krock mellan olika script som försöker skriva till samma minnesceller tex.

                            Skruva upp det reserverade stackutrymmet i Preferenser > Övrigt så slipper man risken för de problemen.

                            Comment


                            • #59
                              Ursprungligen postat av Rikard Nilsson Visa inlägg
                              Stacken kan svämmas över, men då får man nästan garanterat programkrasch så jag tror inte det är det som händer. Däremot krock mellan olika script som försöker skriva till samma minnesceller tex.

                              Skruva upp det reserverade stackutrymmet i Preferenser > Övrigt så slipper man risken för de problemen.

                              Jag uppdaterade från stack 50000 till 550000 och max anrop från 200 till 2000. Jag hade standardinställningar efter nyinstallation, får se om det hjälper imorgon.

                              Comment


                              • #60
                                550 000 låter lite väl mycket. Mina längsta script tar ca 52000 i utrymme, och det är inga små grejor kan jag lova....har aldrig provat att reservera så mycket space, det kanske blir segt eller nåt. Men fungerar det så är det ju bra.

                                Comment

                                Working...
                                X