Allmänt meddelande

Collapse
No announcement yet.

Scora antal dagar upp och dagar ned

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

  • Scora antal dagar upp och dagar ned

    Jag skulle vilja bygga en indikator (score) som anger hur många dagars uppgång jämfört med antal dagars nedgång som skett senaste 200dagarna i ett instrument. (max score är 200)

    Tex, 130 d upp = +1, 70d ned = -1,

    (130*1)+(70*-1) = 60 score.

    Finns det något bättre sätt än att loopa tidsserie med Ref(c,0) upp till 200d bakåt och scora varje enskild dag med +1, -1,

    idag=ref(C,0)
    igår=ref(C,1)
    score=IF(GTE(idag,igår)1,-1)

    Tänker mig att det kan bli lite segt om man vill köra detta på tex largecap och midcap och undrar om det finns någon inbyggd indiktator som man kan få ut liknande resultat av.

    Syftet är att ställa uppgången i relation till hur många dagar den skett på och således få fram uppgångar som spridit ut sig på fler dagar istället för explosiva uppgångar på färre dagar.

  • #2
    Testa med
    score=mov(IF(Ge(idag,igår),1,-1),200)
    Om alla 200 gått upp blir resultatet +1, om alla gått ner blir det -1. Om lika många upp som ner blir det 0.
    Då kan du ju även testa med
    score=mov(IF(Ge(idag,igår),1,-1),200,e)
    för att vikta mot senaste tiden.
    mvh
    Bertil

    Comment


    • #3
      Jag får inte det att fungera så att den verkligen tittar på alla 200 dagarna utan den tittar fortfarande bara på idag och igår.

      Tanken är att jag vill loopa alla 200 dagarna och summera scoren för varje enskild dag. mostsvarande en "for / while" loop i annat kodspråk för att slippa manuellt summera 200 rader med addition.

      --
      idag=ref(c,0)
      igår=ref(C,1)
      score=mov(IF(Ge(idag,igår),1,-1),200)

      --

      Comment


      • #4
        Jag i frågarsätter inte, men undrar varför du använder "scoringen" på detta sätt. Skulle du vilja ändra antal dagar kommer det skilja i score även om tex andel uppdagar är den samma. Jag skulle använda 0-100 (bara min åsikt).


        Annars borde detta fungera och villkoret kan ändras till ditt sätt.

        uppdagar=int(add(mult(div(sum(ge(c,aref(c,1)),200),200),100),0.5))
        Last edited by Henric; 2018-09-06, 19:49.

        Comment


        • #5
          Tack Henric.

          Använde din kod och lade till det resterande som behövdes för att bygga indikatorn "frog in the pan" för att kunna filtrera kvaliteten på momentumet.

          https://alphaarchitect.com/2015/11/2...mentum-stocks/

          Comment


          • #6
            Lite plågsamma djurförsök. Intressant koncept.

            Comment

            Working...
            X