Allmänt meddelande

Collapse
No announcement yet.

Skicka antal från sl scriptet

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

  • Skicka antal från sl scriptet

    Många ordermodeller jag antingen själv bygger eller tittar på i Autostocks utbud (Ta ETP-Link som exempel) innehåller ofta mer eller mindre duplicerad kod i sl) script och va) script. Det är alltid lite besvärligt att behöva skriva/uppdatera samma kod på två ställen så jag funderade på om jag kunde göra ett generellt va script som jag använder i alla mina modeller.

    Välj en godtycklig ledig global cell, tar 5111 i mitt exempel.
    En rad adderas till alla mina sl) script innan sista raden.

    sl) Något triggerscript (samma görs i alla sl script)
    Kod:
    SetGvarIf(antal,5111,köp) {Detta är denna nya raden som läggs innan sista villkoret}
    mult(köp,10) {Sista villkoret i scriptet sen tidigare}
    va) Generellt antal script (som alla mina modeller kommer använda)
    Kod:
    GetGvar(5111)
    (Hade antagligen blivit några extra checkar i riktiga scriptet men håller det minimalt nu för exemplets skull)

    Principen att skicka värden med globala celler är ju inget konstigt i sig och används överallt, det jag förutsätter här är att inga ordermodeller körs parallellt och att en modell körs från början till slut så att antalscriptet alltid körs efter triggerscriptet (om det blev signal) utan att någon annan ordermodell kan komma in där imellan, så att alla script och instrument kan dela på en global variabel utan konflikter.

    Är mitt tankesätt rätt eller ser någon något där jag gjort fel antagande hur programmet exekverar modellerna?

  • #2
    Det fungerar, så länge man tänker på att värdet i cellen är just globalt och inte kan vara olika för olika modeller på samma installation.

    Comment


    • #3
      Ursäkta kidnappningen av tråden.

      Om värdet är samma så är det inga problem. Han måste mena om va) bestäms i sl) och kan variera mellan modellerna.

      Jag har också funderat på ordningen, vilket du inte svarar direkt på.

      Hur ser ordningen ut?

      sl)modell_A -> va)modell_A sl)modell_B -> va)modell_B
      eller
      sl)modell_A-> sl)modell_B va)modell_A -> va)modell_B


      Annars finns det ett litet trix för att vara säker på att cellen får rätt värde. Se till att bara en modell kan signalera var 5:e sekund genom att en tidstämpel sparas i en cell när en modell handlar.

      Comment


      • #4
        Ursprungligen postat av Rikard Autostock Visa inlägg
        Det fungerar, så länge man tänker på att värdet i cellen är just globalt och inte kan vara olika för olika modeller på samma installation.

        Det var just det sistnämnda jag tänkte göra dvs. dela cellen för alla modeller. Jag är bara intresserad av värdet under en "ordermodell körning" sen är de fritt fram för en annan modell att skriva över det.


        Ursprungligen postat av Henric Visa inlägg
        Om värdet är samma så är det inga problem. Han måste mena om va) bestäms i sl) och kan variera mellan modellerna.
        Exakt. Och precis som du visar i ditt exempel så är exekveringsorderningen helt avgörande om det kommer fungera eller vara eller källa för stora bekymmer.

        Comment


        • #5
          Triggerscriptet exekveras precis före antal- pris och xk-script, så det borde kanske funka då om det skrivs från varje triggerscript så att inga gamla värden ligger kvar. Det går att testa genom att rigga upp det och köra live på testkonton.

          Comment

          Working...
          X