Allmänt meddelande

Collapse
No announcement yet.

Sortera värden till rankningsfunktion

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

  • #16
    Var 5:e sekund i en perfekt värld. Sedan kan det ta längre tid . Tex om scripten är tunga. Det går att koppla på en ordermodell som alltid handlar och kolla larmfönstret. Rikard vet nog mer exakt.

    Comment


    • #17
      Default är var 5:e sek, det styrs av en sleep i programtråden, det går att justera i ini-filen om man vill.

      Comment


      • #18
        Perfekt, tack!

        En fråga till: Är nedanstående giltigt?

        { Todays average value }
        AverageValue = div(add(add(add(c, o), h), l), 4)

        { Highest average value the past 22 days}
        HighestAverageValue = HHV(AverageValue, 22)

        Comment


        • #19
          Rätt tänkt, bara lite syntaxproblem:

          AverageValue blir delnamn av HighestAverageValue vilket inte är tillåtet. Det blir konflikt i script-compilern.

          Och mellanslag inne på raderna är inte heller tillåtet, det kan fungera men ställer ibland till problem så bäst är att skriva utan mellanslag. Blanka rader är däremot ok.




          PS. Vår betaversion av nya scripteditorn med rejält förbättrad syntaxkontroll ligger i forumavdelningen:

          http://www.autostock.se/vbulletin/forumdisplay.php?f=47

          Maila för att få access dit.

          Comment


          • #20
            Ursprungligen postat av Rikard Autostock Visa inlägg
            Rätt tänkt, bara lite syntaxproblem:

            AverageValue blir delnamn av HighestAverageValue vilket inte är tillåtet. Det blir konflikt i script-compilern.

            Och mellanslag inne på raderna är inte heller tillåtet, det kan fungera men ställer ibland till problem så bäst är att skriva utan mellanslag. Blanka rader är däremot ok.




            PS. Vår betaversion av nya scripteditorn med rejält förbättrad syntaxkontroll ligger i forumavdelningen:

            http://www.autostock.se/vbulletin/forumdisplay.php?f=47

            Maila för att få access dit.
            Just det.. Det där med delnamn har jag ju läst någonstans. Trist att det inte funkar med mellanslag. Blir så grötigt och svårläst utan dessa

            Mejl kommer inom kort.

            Tack.

            Comment


            • #21
              Tack för access till betafunktionerna.. Nya editorn var helt klart bättre Men jag saknar fortfarande ett bra sätt att printa ut värdet av variablerna i mina skript.. Har för mig att någon annan skrev samma sak i en annan tråd och då gavs rådet att rita ut variablerna grafiskt. Jag lyckas rita ut dem, men jag ser dock inte det numeriska värdet på dem utan endast linjen. Går det att få fram det numeriska värdet på något vis? Just nu ritar jag ut dem i "Analysområde 1" och "Analysområde 2".

              Comment


              • #22
                Du kan visa värdena numeriskt i kalkylforskaren. Upp till 10 kolumner per kalkyl med tex en varsin variabel. Om man kör Pro kan man även låta kalkylen exekveras automatiskt var 15:e sek och uppdatera kalkyllistan så har man bra koll på variabelvärdena hela tiden.

                Comment


                • #23
                  Ah just det.. Men då ser man bara realtidsdata antar jag? Hur gör jag om jag vill se de historiska värdena?

                  Comment


                  • #24
                    Om du menar historiska från simulering går det att få ut med extrakolumner. Värden visas dock endast vid avslut.

                    Comment


                    • #25
                      ja precis.. problemet är bara att jag inte får några avslut i simuleringen. Därav mitt behov av att felsöka variablerna

                      Comment


                      • #26
                        Ja, det vore fint med en stega funktion där man kan se värden. Ett sätt är att förenkla tills du får signal och sedan lägga på de bitar som strular. Ett annat är att välja ut en snäv simuleringsperiod och trigga konstant eller med tidsintervall. Då kan man se värden i cellerna, men är lite omständigt.

                        Edit: För att säkerställa att det är skripten och inte något med ordermodellerna kan man prova script som alltid är sant. Det har du kanske redan gjort.
                        Last edited by Henric; 2016-05-12, 17:57.

                        Comment


                        • #27
                          Ursprungligen postat av Henric Visa inlägg
                          Om jag förstår det rätt hoppar du nu över vilket strategi/signal som har högsta prioritet.

                          trigger=xxxxx{sant eller falskt}
                          nollställ=xxxx {om behövs}
                          rankvärde=xxxx

                          SetGvarIf(0,100,nollställ)

                          handlaOK=and(trigger,eqv(crcId(),GetGvar(100)) {ordermodellen har passerat alla aktier och fortfarande rankad etta}
                          SetGvarIf(0,100,and(eqv(crcId(),GetGvar(100)),not(trigger)))
                          SetGvarIf(rankvärde,101,eqv(CrcId(),GetGvar(100)))
                          nyRank=and(trigger,or(eqv(GetGvar(100),0),gt(rankvärde,GetGvar(101)))
                          SetGvarIf(crcId(),100,nyrank)
                          SetGvarIf(rankvärde,101,nyrank)
                          and(handlaOK,1)

                          Vill du kunna returnera 0 för något villkor kan det stoppas in vid ettan i sista villkoret.

                          Det behövs mer, men principen borde fungera.

                          Default värde för globala celler är 0.

                          Det går att nästla if, vet ej om det går eller är rekommenderat att skriva till en cell inne i en if-sats.
                          Hej igen.

                          Jag har lite bekymmer med koden nedan när jag använder det i analysbänken.. Problemet är att "IsCancel" alltid tycks bli 1 vilket leder till att jag inte får några köpsignaler. Om jag sätter "IsCancel" till 0 får jag 9 signaler under min testperiod (se kommentarerna nedan).

                          { Check if we are allowed to buy }
                          AfterTwentyTwoPastFive_Hour=xtime(d,h)
                          AfterTwentyTwoPastFive_Minute=xtime(d,m)
                          IsAfterTwentyTwoPastFive=and(eqv(AfterTwentyTwoPastFive_Hour,17),ge(AfterTwentyTwoPastFive_Minute,22))

                          { More than 50kkr available means that we have no position at the moment }
                          NoPosition=gt(cash(t),50000)

                          { IsCancel=not(and(IsAfterTwentyTwoPastFive,NoPosition)) <-- ger 0 signaler }
                          { IsCancel=not(and(1,NoPosition)) <-- ger 2 signaler }
                          { IsCancel=not(and(IsAfterTwentyTwoPastFive,1)) <-- ger 0 signaler }
                          { IsCancel=not(and(1,1)) <-- ger 9 signaler }

                          IsCancel=not(and(IsAfterTwentyTwoPastFive,NoPosition))

                          { Cancel if we are not allowed to buy }
                          SetGvarIf(0,100,IsCancel)

                          { We can buy if we have a buy signal and crcId() is equal to the stored variable () }
                          IsTradeOK=and(IsBuySignal,eqv(crcId(),GetGvar(100)))



                          Kan någon se vad problemet är?
                          Last edited by pgson; 2016-05-13, 13:10.

                          Comment


                          • #28
                            Finns med minst 50000 kr ledigt på kontot?

                            Comment


                            • #29
                              Yes, det finns 100 000kr på simulerakontot..

                              Comment


                              • #30
                                Ok, men om du kopplar bort delar av villkoret:

                                IsCancel=not(and(IsAfterTwentyTwoPastFive,{NoPosition}1))


                                eller

                                IsCancel=not(and({IsAfterTwentyTwoPastFive}1,NoPosition))


                                så kan vi se vilken del som blockerar order.

                                Comment

                                Working...
                                X