Allmänt meddelande

Collapse
No announcement yet.

Script i script?

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

  • Script i script?

    Nu är jag kanske lite förvirrad men jag har ett svagt minne av att jag pratat med någon eller läst att det kan gå att ladda in skript i skript. Kan det stämma och hur gör man i så fall det? har letat lite i manual och forum men inte hittat nåt.

    Alltså säg att man har script1 och script2 innehållandes varsitt villkor samt script3 som i sig kör script1 och script2. Jag tänker typ att det hade varit smidigt att ha ett skript för varje villkor och sedan ett samlingsskript som samlar de variabler man vill ha som man stoppar i ordermodellen och sedan generar en signal på allt. Tänker att det hade underlättat för att få överblick när man har flera olika villkor som ska sammanfalla.

  • #2
    Nja, det är ju fullt möjligt att lägga in koden för en köpsignal i ett script som egentligen genererar en säljsignal. Tex om man vill veta när köpsignalen var sann senast osv:

    mv1:=mov(c,5,s)
    mv2:=mov(c,20,s)

    köpsignal:=and(cross(mv1,mv2),gt(mv1,mv2))
    säljsignal:=and(cross(mv1,mv2),lt(mv1,mv2))



    nu har du både köpsignal och säljsignal tillgänglig i samma script. Då är det möjligt att räkna vinst etc direkt i scriptet eller avgöra olika saker baserat på båda villkoren osv. Tex, om vinsten är liten kanske man inte vill ta nästa säljsignal om ett ännu längre medelvärde ligger uppåtriktat:


    mv1:=mov(c,5,s)
    mv2:=mov(c,20,s)
    mv3:=mov(c,50,s)

    köpsignal:=and(cross(mv1,mv2),gt(mv1,mv2))
    säljsignal1:=and(cross(mv1,mv2),lt(mv1,mv2))

    köppris:=find(köpsignal,50,c,1)
    vinst:=div(c,köppris) { dividerar nuvarande pris med priset vid köptillfället }
    tillräckligt:=gt(vinst,1.01) {testar så att vinsten högre än 1% }
    falltrend:=lt(mv3,aref(mv3,1))
    säljsignal2:=and(säljsignal1,or(falltrend,tillräckligt))



    Comment


    • #3
      Ah oki, det var ett bra tips. Fast inte riktigt det jag letade efter.

      Alltså jag tänkte så här:

      Säg att jag har lite olika skript t ex script1 som signalerar efter vissa formationer, script2 som villkorar på marknadsläget, script3 som villkorar på volatilitet etc. Sen vill jag kombinera alla dessa variabler till ett signalscript.

      Kan jag då istället för att kopiera koden från vart ett av skripten till signalscriptet bara ladda själva skripten via någon kodsnutt, t ex nåt i stil load(sl)script1?

      Anledningen till att jag frågar är att jag hade en ide jag ville testa där varje delsnutt verkade fungera, men sedan när jag la ihopa det så blev fel i syntax vilket inte försvann förrän jag tagit bort nästan alla "modulerkodsnuttar" eller vad ska kalla det. Jag gav upp efter ett tag eftersom jag inte kunde hitta i vad som gjorde att de blev syntaxfel.

      Comment


      • #4
        Du kan alltid skapa enskilda script för villkor 1, 2 osv. Spara de enskilda resultateten i globala celler. Dessa script är alltid falska på sista raden. Sedan använda ett uppsamlingsscript som väger i hop villkoren från celleran.

        Comment


        • #5
          Jag tycker det är en bra fråga till de här på forumet som har långa skript och lång erfarenhet. Är det en bra ide att bygga upp det med "moduler" och skicka via globala variabler eller bör man lägga inn alla funktioner i huvudskriptet?

          Har ställt denna fråga tidigare i forumet utan att få svar, båda lösningarna kanske fungerar lika bra?

          Hur är de komersiella skripten uppbyggda? För där krävs stabilitet!

          Comment


          • #6
            Båda lösningarna fungerar, men man ska nog sträva efter att använda så få celler som möjligt. Det finns vissa problem, tex dubbelanvändning, ritning i diagrammet som kan sätta värden, etc. I vissa lägen går det inte att bygga allt i ett script och då får man använda globala celler.

            Comment

            Working...
            X