Allmänt meddelande

Collapse
No announcement yet.

hantera stor datamängd

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

  • hantera stor datamängd

    hej,

    jag har byggt en oscillator som funkar ungefär så här;

    m1:=mov(c,20,s)
    m2:=mov(c,30,s)
    m3:=mov(c,40,s)
    .
    .
    .
    m20:=...

    sedan jämför dessa med varann,

    sig001=if(gt(m1,m2),1,-1)
    .
    sig019=add(sig001,if(gt(m1,m20),1,-1))
    sig020=add(sig001,if(gt(m2,m3),1,-1))
    .
    .
    .
    sig192=add(sig191,if(gt(m19,m20),1,-1)

    jag jämför allstå alla m (1-20) med alla m som är längre än sig själv

    sen försökte jag göra ett glidande medel på sig192 men då sa programmet ifrån, vad beror det på?
    jag misstänker att det blir en för stor datamängd att hantera.
    finns det någon som kan ge ett förslag på hur jag kan lösa detta?

    Mvh
    nyrn2k

  • #2
    Får du syntaxfel på scriptet? Man kan se lite i syntaxen hur mycket minne scriptet "suger" osv, och ev ställa upp ett par parametrar lite.

    Comment


    • #3
      scriptet har fungerat utmärkt i flera månader när jag använder det till det som det är tänkt till att göra, det var när jag idag kom på ett nytt extra användningsområde för det som jag behövde ett medelvärde på sig192...
      det kan ju förståss ha smugit sig in ett stavfel, men jag kunde inte se nåt, så jag antog att det var minnet och tog bort det igen, då funkade det som vanligt...

      Comment


      • #4
        jag provar igen för säkerhets skull...

        Comment


        • #5
          testade igen nu med
          sig193=mov(sig192,20,s)
          då sa den ifrån:
          Used data stack (50000):66938

          när jag ändrade till tio perioders medel så funkade det!
          Used data stack (50000):49828
          :-)

          finns det något sätt att bara spara undan värdet på sig192, så den räknar medlet på 20st värden, nu känns det som att den räknar igenom sig001-sig192 för varje period bakåt som är med i sig193 ?

          Comment


          • #6
            Ah, det var det jag hoppades på, du kan ställa upp värdena för Max datastack i inifilen,

            Autostocktrader.ini

            Under avdelning:

            [BörsGlobalt]
            scriptmaxstack=50000
            scriptmaxcalls=200


            Och kanske reservera 100000 bytes och 500 anrop istället.




            PS otroligt att kunna sitta på altanen och supporta med en iPad på kvällen - fortfarande 25 grader i Falkenberg

            Comment

            Working...
            X