Allmänt meddelande

Collapse
No announcement yet.

Felmeddelande

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

  • Felmeddelande

    Får ett felmeddelande från systemet vid följande kod:

    senast_köp1=int(abs(Mult(Sub(d,lasttrade(b,d)),1440))) {hela minuter från senast köp}

    maxhittills=hhv(c,senast_köp1)

    Har lokaliserat att det beror på senast_köp1 i maxhittills och om jag ändrar den till ett tal tex 1000 får jag inte felmeddelandet. Nån som vet varför och i så fall förslag på ändring kod?
    Attached Files

  • #2
    Hej!
    Testa att skriva
    maxhittills=hhv(c,senast_köp1:2000)

    Om du tror att det är max 2000 minuter sedan senaste köp annars får du skriva ett större tal.
    Detta måste göras för att allokera minne.

    mvh
    Bertil

    Comment


    • #3
      hej och tack, dock får jag fortfarande samma felmeddelande

      Comment


      • #4
        OK.
        Då säger jag som all datasupport säger: Testa att starta om datorn!
        Då det har med minnesallokering att göra kan en omstart hjälpa.
        mvh
        Bertil

        Comment


        • #5
          Min gissning är att det finns något annat i scriptet som "väljer" compilern, ofta något med kommentarer eller någon annan rad som har fel antal parenteser eller likn. Testa bara dessa rader i ett eget script.

          Annars kan man använda TopBars():

          köpperiod=le(d,lasttrade(b,d))
          perioder_sedan_köp=topbars(köpperiod,1000,1)

          där 1000 är max antal perioder som kan räknas, enkelt att ändra osv.

          Comment


          • #6
            jag rensade hela skriptet och körde scriptet i en rad

            maxhittills=hhv(c,abs(mult(Sub(d,lasttrade(b,d)),1440)))
            fick fortfarande felmeddelandet

            sen startade jag om, inget felmeddelande

            testade även original scriptet

            senast_köp1=int(abs(Mult(Sub(d,lasttrade(b,d)),1440)))
            maxhittills=hhv(c,senast_köp1)

            och utan felmeddelandet, så det kan ju ha varit en kombo av era föreslagna lösningar. TACK!

            Comment


            • #7
              Det blir inte fel i diagrammet. Åtminstone inget felmeddelande. Däremot skulle det kunna bli fel skarpt eller i simulering. Jag själv skulle aldrig använda dynamiska perioder utan att reservera ett max (om inget ändrats i programmet). Sedan gäller det att inte gå över max eller få 0.

              Compilatorn kanske tar max reserverat om periodantalet går över. Rikard eller Bertil kanske vet. Jag tar det säkra för det osäkra.

              hhv(c,mx(mn(beräkning,1000),1):1000)

              Edit: Det går även att skriva: hhv(if(ge(d,lasttrade(b,d)),c,0),1000)
              Kompilatorn kör väl ändå inte snabbare än max antal perioder?
              Last edited by Henric; 2020-12-25, 18:21.

              Comment


              • #8
                Jag ropade nog hej lite för tidigt, startar jag debug så kraschar det med måååånga felmeddelanden efter varann, det funkar med andra värden men just lasttrade så kraschar det

                Får testa Henrics eller Rikards förslag

                Comment


                • #9
                  Varianten med TopBars funkade i debug när jag provade innan idag. Testade mot en position på testkonto köpt för några dagar sedan, och inga problem.

                  Comment


                  • #10
                    Detta är inte svar till Greolo, utan generell diskussion för att välja bästa metod. Särskilt för många instrument och tunga script.

                    Det går att använda topbars. Även sum borde fungeara. Fördelen är att det blir en implicit reservering av antalet perioder. Nackdelen är att det krävs två sökningar. För tex 2000 perioder sökes först antalet perioder och sedan körs hhv. 4000sökningar.

                    Används beräkningen med sub som i början behövs hälften så många sökningar. Nackdelen med beräkningen som den ser ut i tråden är att kvällar och helger kommer med. Metoden fungerar bara intradag. Givetvis måste ett max antal perioder reserveras explict.

                    Att göra sökningen med if-sats inne i hhv kräver också bara hälften så många sökningar och ingen reservering. Frågan är om det är snabbare eller inte.
                    Last edited by Henric; 2020-12-26, 13:38.

                    Comment

                    Working...
                    X