Allmänt meddelande

Collapse
No announcement yet.

Dataserier med if-satser

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

  • Dataserier med if-satser

    Beroende på villkor vill jag välja dataserie. Det innebär att jag får 6 olika kombinationer att väja mellan. Går det att välja dataserien som ska användas i en if-sats och att det sedan går att referera bakåt samt göra beräkningar på dataserien. Alternativet skulle vara att beräkna alla 6 kombinationer och sedan välja med en if-sats, vilket blir omständigt. Skulle gå att testa sig fram, men blir ganska mycket att stämma av då är fler olika marknader. Förkortat exempel:

    ejIndex=div(add(b,s),2) { i fall det är glest med avslut}
    extra1=cmpref(c,0,a)
    extra2=cmpref(c,0,b)
    serie1=if(and(eqv(scrpar(3),0),eqv(scrpar(4),0)),ejIndex,0)
    serie2=if(and(eqv(scrpar(3),0),eqv(scrpar(4),1)),mult(eJIndex,extra1),serie1)
    serie3=if(and(eqv(scrpar(3),0),eqv(scrpar(4),2)),mult(eJIndex,extra2),serie2)
    serie4=if(eqv(serie3,0),c,serie3)

    vlk1=roc(serie4,10,%)
    vlk2=aref(serie4,20)
    …..

  • #2
    Det ska funka såvitt jag vet. Det blir ju bättre "ekonomi" att köra IF innan alla resultat beräknats.

    Comment


    • #3
      Inte direkt relaterad till den egentliga frågan i tråden. Multiasset på flera marknader i samma körning.

      Jag får inte en viss signal som jag förväntar mig ska komma. Kör jag enbart villkoret separat på instrumentet så kommer signalen. Det kan beror på mina script eller ej? För att debugga minskade jag körperioden. Då blev det körfel i simulatorn. För göra historien kortare fungerar det med DAX, DJA och OMX under den längre perioden. Tar jag bort DAX för den kortare perioden fungerar det, annars fel. Samma sak om jag byter DAX för Guld. Jag har kollat data och kan inte hitta några luckor. Vad kan detta bero på?

      Comment


      • #4
        Är det extra objekt som används?

        Comment


        • #5
          Ja, extra objekt används.

          Jag dubbelkollade villkoret som jag förväntar mig ska ge signal. Det använder inte extraobjekt. Det skulle även kunna vara något hos mig och en annan fråga som jag får titta på senare.
          Frågan är varför det över huvud tager fungerar att köra under en längre simuleringsperiod och inte en kortare som även ingår i den längre.

          Edit: Om det gick att få ut data i tex csv-fil eller liknande skulle mycket tid sparas i sökanden. Vet att det bara är en önskan, men i förlängningen ett måste.
          Last edited by Henric; 2019-10-29, 11:53.

          Comment


          • #6
            Monologen fortsätter. Vet ej varför det blev körfel när jag ändrade instrument? Mysko, nu har jag inte problem. Något som måste flushas i simulatorn? Får hålla utikik.

            Att signal inte triggar som väntat beror givetvis på att det nordamerikanska marknaderna inte är fullbordade när Stockholm stänger. Tex kanske en stopp skulle ha triggat.

            Comment


            • #7
              Det händer ibland att man behöver starta om både analyzer.exe och själva programmet, vet inte exakt varför men verkar ha nåt att göra med minne som inte releasas.

              Comment


              • #8
                Jag körde USDSEK,DJI och DAX Dec 24, 2018.
                Valuta och DJI gav signaler, men inte för DAX.
                DJI ger signaler redan kl 9. Förmodligen för att USDSEK har kurser då. Lägger jag till ett filter där signal bara kan komma då minutkursen har rört sig kommer DJI igång kl 15:30 som vanligt.

                Lägger jag till OMXS30 så blir det inga signaler alls den 24:e.

                Varför blir det signaler då DAX är med, men inte när OMXS30 är med?

                Finns det någon systematik hur simulatorn hanterar dagar då olika marknader är öppna?

                I min situation blockerar påkoppling av omxs30 dagen då Stockholm håller stängt.
                Är det generellt?

                Följer extra objekt samma principer som påkoppling av instrument?

                Det behövs definitivt ett minutfilter som blockerar signal då marknaden är stäng och inga signaler ska kunna triggas. Alternativt att vissa klockslag används.

                Alternativet är att köra varje marknad för sig och samman ställa och ranka utanför.

                Edit: Grundprincipen för signal är gt(int(d),int(lasttrade(b,d)))
                Det ger max en signal per dag. Sedan kan man bygga på med tidsvillkor så att tex DJI inte kan trigga på gårdagensintra innan kl 15:30. Helst även att minutkursen har rört sig under dagen så att en gammal feed inte ligger kvar.
                Last edited by Henric; 2019-10-30, 11:42.

                Comment

                Working...
                X