Allmänt meddelande

Collapse
No announcement yet.

Men vad hände nu då???

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

  • Men vad hände nu då???

    Jag råkar ut för något mycket märkligt i bänken som leder till att hela AT kraschar innan jag får fram resultaten i bänken.

    Jag vill testa en aktie strategi och har då skrivit ihop de trigger, insats och säljscript som krävs. Det är ingen märkvärdig strategi alls och inga "konstiga" eller avancerade villkor som jag ser det.
    I de nya scripten återanvänder jag moduler för insats samt tid för köp respektive sälj och kontroll att kassan ska vara över 0, alltså ingen belåning.

    Jag kör redan dessa moduler skarp i andra strategier och där fungerar de som de ska, säljscriptet likaså.
    När jag nu försöker testa den nya strategin verkar AT ignorera villkoren i scripten helt och hållet?
    - Jag får ca 91 000 signaler över en 4,5 års period!
    Det är ju hyfsat många för en swingtradingstrategi...
    Jag får dessutom samtliga signaler precis i början av körningen, se bif bild.
    Det blir samma resultat fast "bara" 87 750st signaler om jag flyttar fram startdatumet 2 år till 1/6 2014.
    - Det verkar inte som att modellen säljer utan bara köper på sig i en massa omgångar över perioden för att sedan sälja av alltihop på ett bräde.
    - Jag hann med att se att jag på ett ställe dessutom hade en negativ kassa på ca 11 miljoner...

    Jag tänkte att det kunde vara någon aktie i urvalet som inte hade data, men jag kan inte se att det skulle vara det.

    Det måste ju vara något i scriptet men jag kan inte för mitt liv hitta felet.
    Sälj- och triggerscripten går inte in i varandra tidsmässigt.
    Någon som ser vad det kan vara för fel??
    Attached Files

  • #2
    En tanke bara. Har du ned alla globala variabler som krävs? Kan ju vara någon global variabel som skapas i ett script som du inte har med.

    mvh
    Bertil

    Comment


    • #3
      Det låter som att orimliga värden för något bildas, och det blir krasch när resultatet ska laddas. Testa att köra en väldigt kort period för att se att belopp och saldon är rimliga. Öka sedan gradvis.

      Comment


      • #4
        Du kan prova att bara köpa en aktie per 5:e sekund.
        Annars kan du prova att även lägga insatsberäkningen i antalscriptet.

        Om du lägger ut scripten så att det går att kopia kan jag enkelt kolla.

        Comment


        • #5
          Ursprungligen postat av Henric Visa inlägg
          Du kan prova att bara köpa en aktie per 5:e sekund.
          Annars kan du prova att även lägga insatsberäkningen i antalscriptet.

          Om du lägger ut scripten så att det går att kopia kan jag enkelt kolla.
          Tack på förhand.
          Attached Files

          Comment


          • #6
            Såg snabbt att signalscripet avslutats med retval. Har aldrig sett det förut. Prova att flytta upp villkoret precis före köp2. Den kommer ändå att skriva värdet vid transaktion. Jag kör om inte detta fungerar.

            Comment


            • #7
              Ursprungligen postat av Henric Visa inlägg
              Såg snabbt att signalscripet avslutats med retval. Har aldrig sett det förut. Prova att flytta upp villkoret precis före köp2. Den kommer ändå att skriva värdet vid transaktion. Jag kör om inte detta fungerar.
              Tack för observationen, nu blev det i alla fall någon skillnad när jag körde scriptet - fast vi rör oss verkligen mellan ytterligheter:
              Förut 91 000 signaler, nu blev det bara 6 signaler.
              6 köp precis efter startdatumet.
              Inga sälj.

              ...och jag förstår inte varför, tycker scripten ser rätt ut nu...

              Comment


              • #8
                Förresten, vad innebär egentligen det här villkoret?

                samma_dag=eqv(int(date()),int(d))

                jag har både testat med och utan det men det blev ingen skillnad.

                Comment


                • #9
                  Samma_dag testar att databastid och systemtid är på samma dag. Kan vara bra för att hindra signaler precis vid öppning innan allt initierats fullt ut.

                  Comment


                  • #10
                    Ursprungligen postat av JohanB Visa inlägg
                    Tack för observationen, nu blev det i alla fall någon skillnad när jag körde scriptet - fast vi rör oss verkligen mellan ytterligheter:
                    Förut 91 000 signaler, nu blev det bara 6 signaler.
                    6 köp precis efter startdatumet.
                    Inga sälj.

                    ...och jag förstår inte varför, tycker scripten ser rätt ut nu...
                    Byt ut sista raden till: and(sälj1,1)

                    Comment


                    • #11
                      Tack, det blev bättre!

                      ...men fortfarande inte helt rätt:
                      Det blev dryga 5000 signaler, men endast 11 trades på 1,5 år.
                      Modellen köper bara och säljer sedan allt på en gång.
                      Negativ kassa med som mest dryga 100 miljoner...

                      Villkoren att kassan ska vara positiv och att det inte får finnas något innehav för att få köpa ignoreras av AT.
                      Dessa kriterier fungerar fin-fint i andra strategier som jag kör skarp, varför inte i den här strategin?

                      Comment


                      • #12
                        Du skriver
                        ej_innehav=le(portfolio(v),0)
                        testa att ändra till
                        ej_innehav=Eqv(portfolio(v),0)

                        Blir det skillnad?
                        undrar
                        Bertil

                        Comment


                        • #13
                          Problemet löst!

                          Tack för hjälpen, Henric!

                          Jag löste problemet genom att göra samma förändring i triggerscriptet som du föreslog i säljscriptet.
                          Jag bytte alltså "köp2=mult(köp1,10)" till "add(köp1,0)" och nu fungerar det precis som det ska!

                          Comment

                          Working...
                          X