Allmänt meddelande

Collapse
No announcement yet.

Parameteröverföring

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

  • Parameteröverföring

    Vaför fungerar inte detta?
    Försöker föra över paramerer 29 från OMX30 till Minishrt OMX BNP165

    I Omx30 grafen har jag anslutit följande skript

    {g) __OMX30 }
    par29=ScrPar(29)
    i2(
    SetGVarIf(par29,502,1)
    DRAW(par29,4,rqb)
    )

    Skriptet ritar en linje som det skall, par29=1470
    ScrPar(29)=1470

    I MINSHRT OMX BNP165 har jag anslutit följande skript

    {g) __SHRT_OMX30}
    par29=ScrPar(29)
    par502=GetGVar(502,N)
    i2(
    DRAW(par29,4,rqb)
    DRAW(MULT(par502,0.138),5,bqb)
    )

    Här är par29=211
    par502=1470 1470*0.138=202
    Linje för par29 ritas men inte par502*0.132

  • #2
    Då du i analysbänken ansluter både OMXS30 och OMX BNP165 och bockar för kör som samtidigt kopplade kommer ju båda instrumenten att skriva till cell 502. För att bara OMXS30 skall få skriva så måste man ha med ett villkor att crid för OMXS30 skall stämma för att få skriva i den globala variabeln.
    Då du kör skarpt så kan du ju välja vilka ordermodeller som skall vara kopplade till vilket instrument så där är det enklare.

    mvh
    Bertil


    Edit1: Såg att du i din profil har skrivit att du har Autotrader BAS så då använder du alltså inte Analysatorn.
    Edit2: skriv bara par502=GetGVar(502)
    Edit3: Om du bara tittar på en kurva med anslutet script så sker ju ingen överföring av globala celler. Då måste du köra simulerat i realtid eller med Analysatorn.
    Last edited by Bertil; 2015-10-06, 18:11.

    Comment


    • #3
      Jag kör Autortader BAS och gjorde testerna idag när börsen var öppen.

      Comment


      • #4
        Du har några formaliafel i scripten.
        Prova att skriva så här istället:

        {g) __OMX30 }
        par29:=ScrPar(29)
        i2(
        SetGVarIf(par29,502,1)
        DRAW(par29,4,rqb)
        )

        {g) __SHRT_OMX30}
        par29:=ScrPar(29)
        i2(
        par502=GetGVar(502,N)
        DRAW(par29,4,rqb)
        DRAW(MULT(par502,0.138),5,bqb)
        )

        Comment


        • #5
          LillWicke, Testat detta och varianter på detta men inget fungerar.
          Lägger jag in SetGParIF(1470,502,1) i __SHRT OMX30 skriptet före GetGVar() så dyker linjen upp. Även provat andra minnesplatser 12, 102.
          Det verkar som om minnesplatserna är lokala för varje skript???

          Comment


          • #6
            Det som är viktigt för att script ska kunna skriva till globala celler är att de antingen är Larmbevakade, eller ingår i en ordermodell som är ansluten.

            Så prova att kryssa för Larmbevakat.

            Om du vill undvika att få larm från scriptet kan du avsluta det med något som aldrig blir sant, tex:

            {g) __SHRT_OMX30}
            par29:=ScrPar(29)
            i2(
            par502=GetGVar(502,N)
            DRAW(par29,4,rqb)
            DRAW(MULT(par502,0.138),5,bqb)
            and(0,0)
            )

            Comment


            • #7
              Tack nu fungerade det.

              Comment


              • #8
                Så om jag har:
                - ett köpscript som sätter ett stoploss värde i en global variabel
                - ett säljscript som läser den globala variabeln och uppdaterar den
                - vill kunna testa detta grafiskt utan att köra analysbänken

                Så behöver jag slå på larmbevakat på båda scripten?
                Jag får inte detta att fungera, dvs det ena scripten skriver och läser gladeligen den globala variabeln, men det andra scriptet får inget värde i den globala variabeln.
                Båda scripten är markerade larmbevakade.

                Det fungerar i analysbänken.

                Och nästa fråga: om jag nu skulle fått detta med larmbevakat att fungera - när jag sedan använder mig av dessa två scripten i Analysbänken - i två separata ordermodeller - så behöver jag i så fall slå av larmbevakat eller hur?

                Mats

                Comment


                • #9
                  Ja, larmbevakat väljs per script.
                  Om det fungerar i bänken bör de även fungera live. Därmed kanske inte resultatet blir det tänkta då olika script använder samma celler historiskt vid diagramritning. Jag själv brukar inte rita, utan använder bänken. Om jag ändå vill rita något med globala celler brukar jag baka ihop scripten till ett. Då sker skrivning och läsning som tänkt.

                  Analysbänken har separata celler. Däremot kan det krocka om du använder cellerna i anslutna ordermodeller och samtidigt i anslutna script.

                  Jag tror inte diagramritningen skriver till cellerna inne i stapeln, utan endast på fullbordade staplar. Bra om Rikard klargör!

                  Comment

                  Working...
                  X