Allmänt meddelande

Collapse
No announcement yet.

Globala celler

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

  • Globala celler

    Hej!

    Tänkte be om lite hjälp här, jag hade tänkte att försöka lära mig det här med globala celler och som första projekt tänkte jag försöka mäta antalet aktier som är över sitt 200DMA och baka ihop det till en indikator på index.

    Så vad jag har förstått är att man kan ansluta säg 3st script på index som alla har varsina 3st extraobjekt, spara värdet av dessa 3st script i globala celler och sedan plocka fram dom i ett 4de script som sedan summerar dessa och jag får då ett script som kollar på 9 ist för 3 aktier? Eller har jag missuppfattat något?

    Frågan blir således vilket kommando jag sparar värdet till och med vilket kommando plockar jag sedan fram värdet med? Är det GetGvar och SetGvar som ska användas? Provade lite med dåligt resultat. Kastar med ett exempel:

    {Första tre}
    stock1=cmpref(c,0,a)
    stock2=cmpref(c,0,b)
    Stock3=cmpref(c,0,c)

    MA1=mov(stock1,200,s)
    MA2=mov(stock2,200,s)
    MA3=mov(stock3,200,s)

    Över1=gt(stock1,ma1)
    Över2=gt(stock2,ma2)
    Över3=gt(stock3,ma3)

    NR1=if(över1,1,0)
    NR2=if(över2,1,0)
    NR3=if(över3,1,0)

    Total=add(add(nr1,nr2),nr3)
    add(0,0)

    SetGVarIf(total,11,1)


    {@A(0,HM B )@B(0,NDA )@C(0,ERIC B )}


    {Script för att hämta}
    test=GetGvar(11)

    Draw(test,2,baaf)
    add(0,0)

  • #2
    stock1=cmpref(c,0,a)
    stock2=cmpref(c,0,b)
    Stock3=cmpref(c,0,c)

    MA1=mov(stock1,200,s)
    MA2=mov(stock2,200,s)
    MA3=mov(stock3,200,s)

    Över1=gt(stock1,ma1)
    Över2=gt(stock2,ma2)
    Över3=gt(stock3,ma3)

    NR1=if(över1,1,0)
    NR2=if(över2,1,0)
    NR3=if(över3,1,0)

    Total=add(add(nr1,nr2),nr3)
    SetGvarIf(Total,500,1)
    and(0,0)


    {@A(0,HM B )@B(0,NDA )@C(0,ALFA )}

    Comment


    • #3
      Tack Henric, men hur hämtar jag nu värdet i ett annat script?

      Försökte med:

      {script för att hämta}

      Test=GetGvar(500)

      Draw(Test,2,baaf)

      Mvh Calle

      Comment


      • #4
        Globala celler fungerar ju bara live eller i simulatorn. Brukar inte fungera med draw. Du får skriva triggerscript med de globala cellerna och testa i simulatorn alternativt göra dummyscript i scriptkolumner för extra information i simulatorn.
        Med vänlig hälsning
        Bertil

        Comment


        • #5
          Jag gör alltid sådana tester i bänken och brukar inte rita. Enklast är att använda en extrakolumn(vet ej om du har pro). Lägg bara till ett script med endast: GetGvar(500)

          Vid test i diagram kan du rita i samma script Tex: draw(mult(eqv(GetGvar(500),3),15),4,bsbF) eller avsluta med eqv(GetGvar(500),3)
          (Förutsätter att du vet svaret).

          Vid livekörning nås värdet av alla script vid varje insamling.

          Comment


          • #6
            Aha ok, det tog ju lite död på det roliga i det här testet. Hur gör ni när ni kör i bänken, räcker det om scripten ligger ansluta utanför eller måste man ha med 3st ordermodeller i simuleringen?

            Mvh Calle

            Comment


            • #7
              Enklast är att skapa ett script med den enda raden: GetGvar(500)
              Det behöver inte vara någon ordermodell. Lägg sedan till scriptet som extrakolumn.

              Edit: Tog för givet. Kanske inte så lätt att förstå då man inte gjort det.
              Det träcker alltså att köra två script och en extrakolumn. Ett script är alltid sant, medan det andra alltid är falskt.
              Visa falska signaler och vill man ha färre signaler används utan animering per tick.
              Last edited by Henric; 2014-06-29, 12:23.

              Comment


              • #8
                Ok då är jag med, tack!

                Comment


                • #9
                  En annan variant som kanske är enklare är att skapa en kalkyl som körs med jämna intervall och räknar samman alla aktier som är över sitt MA200 för hela den lista kalkylen är ansluten till. Resultatet kan tex skrivas till cell 200 som man kan läsa av från vilka andra script som helst:

                  En kolumn kan ju vara ett enkelt test om c > MA200:

                  gt(c,mov(c,200,s))

                  En annan kolumn ackumulerar antalet som är sant:

                  över=gt(c,mov(c,200,s))
                  setgvarif(cum(över,100),200,1)


                  Blir som på bilden nedan. Kryssa för Visa i kalkylmenyn så kan man klicka på Autokör och ställa valfritt tidsintervall när den ska köras så har man alltid aktuellt antal aktier i cell 200.

                  Attached Files

                  Comment


                  • #10
                    Där har vi något, bra lösning rickard! Nytt problem dock, Nat stänger ner när jag öppnar kalkylforskaren?

                    Mvh Calle

                    Comment


                    • #11
                      Uppdaterade programversion (hade senaste men brukar hjälpa med buggar) så nu stängs inte nat ner men istället händer det inte ett skit när jag klickar kör kalkyl

                      Mvh Calle

                      Comment


                      • #12
                        Nu får jag det att fungera, Tack för hjälpen!

                        Mvh Calle

                        Comment


                        • #13
                          Härligt!

                          Comment

                          Working...
                          X