Allmänt meddelande

Collapse
No announcement yet.

Felsökningstips

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

  • Felsökningstips

    Som nybörjare inom autotrader gör mina ordermodeller inte alltid exakt vad jag förväntar mig. Sannolikt enkla små misstag, men jag har lite problem komma på exakt vad.

    Så, finns det någonstans idéer om hur man felsöker ordermodeller och deras skripts?

    Jag skulle kunna tänka mig något i stil med "printf" stils felsökning, alltså att man kan skriva ut/lagra undan eller på annat sätt spara mellanresultat under skript exekveringen för att få en aning om vad det gör / inte gör.

    Några idéer?

    Mvh,
    Anders

  • #2
    Jag brukar ibland mellanlagra i globala variabler som man kan skriva ut som extra kolumner då man simulerar.
    mvh
    Bertil

    Comment


    • #3
      Det låter intressant även om jag inte simulerar utan är mer ute efter mer information när man kör "live". Kan man få ut värdet av globala variabler någonstans då också?
      Mvh,
      Anders

      Comment


      • #4
        Kalkylforskaren kan visa värdena.

        Comment


        • #5
          Nu får jag erkänna att jag är lite förvirrad...

          Jag läste om Kalkylforskaren (http://www.autostock.se/NATmanual/Kalkylforskaren.html) och får intryck att det kan generera snygga rapporter baserat på vilkor som man kan definiera. Indata är börsinformation som jag antar extraheras antingen från lokalt nedladdad info eller på något från Nordnet.

          Hur får jag in globala variabler som skrivs av min scripts här?

          Ett exempel: Jag har en testordermodell som är en "take profit" variant. Så en enkel sak. Men ibland genererar den i skarpt läge oväntade sell order. Vad jag skulle vilja är att se vilka värden mina delkriteria har i det här läget. Så värdena på de variabler jag använder i trigger skriptet.

          Mvh,
          Anders

          Comment


          • #6
            Du kan läsa ut värdet med getgvar(x) där x är variabeln, lägg koden i en kolumn i en kalkyl så visar den värdet i cellen just när kalkylen körs.

            Comment


            • #7
              Ja, jag antar att det skulle vara möjligt. Skriptet skriver värdet i en global variabel och man får sedan kalkylen att köras regelbundet och presentera resultatet. Men det verkar som ett ganska indirekt sätt att få ut värdena.

              Jag har sett att det finns två andra loggar som verkar ligga närmare till hands: "In och utgående ordertransationer" och "Larm".

              "In och utgående ordertransaktioner" har ju ett antal kolumner cell 1-5 som för det mesta verkar tomma. Finns det något sätt att få information från de sälj/köpskript som triggar transaktionerna till de här kolumnerna?

              "Larm" ger ju ett meddelande när skript triggas som innehåller en given text. Finns det något sätt att få information från skripten till den här utskriften?

              Mvh,
              Anders

              Comment


              • #8
                Det går att spara ett värde i cell 0-4. Det innebär att samtidigt som en order läggs sparas ett värde ner.
                Tex:
                signal=......
                retval(värde,0)
                mult(signal,10)

                Detta värde kan sedan hämtas med lasttrade(b,0) om det är en köpmodell som skapade värdet eller lasttrade(s,0) om det är en säljmodell. Värden kan sedan användas i scripten och det går att titta i "lokala loggade ordertransaktioner".

                Det gär även att spara ett värde på fil med SetIniIf(x,100,villkor)
                Last edited by Henric; 2019-02-22, 08:57.

                Comment


                • #9
                  Låter lovande!! Ska testa.

                  En fråga: Påverkar det något annat om man skriver i cellerna?

                  Antar att jag egentligen undrar om jag riskerar att förstöra något annat genom att skriva där...

                  Mvh,
                  Anders

                  Comment


                  • #10
                    Jag tycker att till varje strategi och standardmodell som man kan ladda ner till NAT borde det tillhöra en lista med vilka globala eller setini variabler som används så att man inte löper risk att använda dessa i egna script.

                    mvh
                    Bertil

                    Comment


                    • #11
                      En liten fortsättningsfråga om att använda RetVal för felsökning: Finns det något sätt att få ut informationen man sparar med RetVal även från simulering?

                      T.ex. om jag har ett köp skript i stil med

                      trigger = ... RetVal(RSIW(2),0) ...

                      kan man få ut värdet som returneras i cell 0 även i "Detaljerat resultat" listan efter en simulering?

                      Mvh,
                      Anders

                      PS! Jag testade att lägga till extra kolumner med skript som skriver ut GetVal(0) men de ger 0.000000 i loggen hur jag än simulerar...

                      Comment


                      • #12
                        Det som körs i bänken skriver inte till den ”officiella” loggen via Starta > Loggade lokala ordertransaktioner. Däremot kan du lägga extra script i kolumnerna i bänken. Gör tex ett enkelt script som läser värdet från loggen via

                        Lasttrade(b,x) där x är cell 0-4 för senaste köptrans.
                        Säljtransar läses med
                        lasttrade(s,x)

                        Du väljer in extra script via knapp led samma namn i bänken så lustas de dom separata kolumner efter körning, max 99 kolumner.

                        Comment


                        • #13
                          Ja, det verkar fungera smidigt. Då kan man relativt lätt jämföra vad som händer skarpt med vad som händer om man simulerar samma tid.

                          Användbart!

                          Mvh,
                          Anders

                          Comment

                          Working...
                          X