Allmänt meddelande

Collapse
No announcement yet.

Hitta låga stängningskurser

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

  • Hitta låga stängningskurser

    Hej alla smarta filurer därute!

    Jag kan nada om scriptprogrammering och behöver därför er hjälp.

    Skulle vilja ha ett script som larmar när en aktie kommer att stänga på dagslägsta 2 dagar i rad, närmare bestämt:

    Dag 1, stängningskurs inom 10% av dagens range från dagslägsta
    och
    Dag 2, samma kriterier fast kl. 17.20 (ca) så att man hinner köpa aktien före stängningen.

    Hoppas ni begriper vad jag menar och kan lösa detta

    // Mikael

  • #2
    Hoppsan detta kanske inte ska ligga i scriptet.
    Vill du inte ha fler villkor intraday och endast köra med dagskurser går det enkelt att byta ut cmpref mot tex aref(h,1) och h, samt ta bort intrady prefixet.


    dag1_1:=mult(sub(cmpref(h,1,A),cmpref(l,1,A)),0.1)
    dag1_2:=le(cmpref(c,1,A),add(cmpref(l,1,A),dag1_1))

    dag2_1:=mult(sub(cmpref(h,0,A),cmpref(l,0,A)),0.1)
    dag2_2:=le(c,add(cmpref(l,0,A),dag2_1))

    buy:=and(dag1_2,dag2_2)

    tidstäng:=mult(1440,sub(market(c),frac(date())))
    tidsignal:=and(ge(tidstäng,7),le(tidstäng,10))

    i1(
    and(tidsignal,buy)
    )

    {@A(0,)}
    Last edited by Henric; 2012-08-21, 13:36.

    Comment


    • #3
      Meningen är att jobba med dagskurser men att man dag 2 tar ut kursen strax innan stängning för att se om den då ligger nära dagslägsta (max 10% högre av dagens range)

      Comment


      • #4
        tid1:=mult(1440,sub(market(c),frac(date())))
        tid2:=and(ge(tid1,7),le(tid1,10))
        spann:=mult(sub(h,l),0.1)
        buy1:=le(c,add(l,spann))
        buy2:=and(buy1,aref(buy1,1))
        buy3:=and(buy2,tid2)
        and(buy3,1)

        Comment


        • #5
          Vill bara kolla med dig Henric om det är så att scriptet körs varje dag vid 17.20-tiden?
          För i tisdags när jag anslöt ett par aktier så fick jag signal på en av aktierna men ingen signal varken igår eller idag trots att börsen i stort sett stängt nära dagslägsta båda dagarna.
          Har bägge varianterna av scriptet anslutna på alla omxs30-aktierna.

          Comment


          • #6
            Signal sann mellan 17:20-17:23
            Kanske spannet är för tight. Tex ser det ut som om omx30 stängde över bandet i förrgår och idag. Det måste ju vara två dagar i rad.
            Fick du samma signal med bägge scripten?

            Comment


            • #7
              okey.
              Jo, bägge scripten signalerade samma tid (17.19) och samma aktie.
              Hade bara hunnit ansluta ca 5 aktier vid den tidpunkten.
              Jag provar och testar lite så får vi se, jag ville bara kolla så det inte va som så att scriptet kördes 2 dagar och sen tog 2 nya dagar eller nåt.
              Det kommer inte att bli signal varje dag utan kanske en eller ett par gånger i veckan men nu tyckte jag att börsen hade gått ner 2 dagar och att då borde nån aktie signalerat iaf.

              Comment


              • #8
                Ursprungligen postat av mikola Visa inlägg
                okey.
                Jo, bägge scripten signalerade samma tid (17.19) och samma aktie.
                Hade bara hunnit ansluta ca 5 aktier vid den tidpunkten.
                Jag provar och testar lite så får vi se, jag ville bara kolla så det inte va som så att scriptet kördes 2 dagar och sen tog 2 nya dagar eller nåt.
                Det kommer inte att bli signal varje dag utan kanske en eller ett par gånger i veckan men nu tyckte jag att börsen hade gått ner 2 dagar och att då borde nån aktie signalerat iaf.
                Skulle det gå ner i morgon kan det ändå inte bli signal på tex index. Kanske ska kolla lite innan sista dagen och om aktien studsar lite. Du får testa lite.

                Comment


                • #9
                  Hej!

                  En variant på ovan:

                  spann:=mult(sub(h,l),0.1) visar 10% av dagens range.

                  Hur skriver man för att få månadens range?
                  (range mellan högsta/lägsta dom sista 22 dagarna, som om det vore en månadsstapel)


                  Mikael

                  Comment


                  • #10
                    Ursprungligen postat av mikola Visa inlägg
                    Hej!

                    En variant på ovan:

                    spann:=mult(sub(h,l),0.1) visar 10% av dagens range.

                    Hur skriver man för att få månadens range?
                    (range mellan högsta/lägsta dom sista 22 dagarna, som om det vore en månadsstapel)


                    Mikael
                    spann:=mult(sub(HHV(cmpref(H,0,A),22),LLV(cmpref(L,0,A),22)),.1)
                    {@A(0,)}

                    Borde fungera tycker jag,
                    Med vänlig hälsning
                    Bertil

                    Comment


                    • #11
                      Tack Bertil!

                      Jag ändrade lite men tycker inte att det blir riktigt rätt, som om det räknar fel ibland.

                      Vill ha signal om dagens close finns i den nedre delen (25%) av de senaste 22 dagarnas range.

                      I bilden på Omx-index ser man att toppen är 1424 och botten 1246, range blir 178 * 25%=44,5 +1246=1290,5
                      Close ska alltså vara under 1290 men sista flaggan visar på c=1306, (L=1293)
                      Även 1:a flaggan är fel, där har svansen varit under värdet men c är ovanför.


                      tid1:=mult(1440,sub(market(c),frac(date())))
                      tid2:=and(ge(tid1,6),le(tid1,8))

                      22low:=llv(aref(c,0),22)

                      spann:=mult(sub(HHV(aref(c,0),22),LLV(aref(c,0),22)),0.25)
                      övre=add(22low,spann)

                      köp1=lt(c,övre)
                      köp2=and(köp1,tid2)
                      draw(mult(köp1,20),4,dysbf)
                      mult(köp2,10)

                      Attached Files

                      Comment


                      • #12
                        Vad har du för periodtid? Du blandar ju := som man skall ha över periodtidsindelningen med = som man skall ha under. Sedan har du ju tagit bort cmpref som jag föreslog.
                        Med vänlig hälsning
                        Bertil

                        Comment


                        • #13
                          Jo, jag vet att man ska göra som du säger Bertil men jag va lite osäker på hur cmpref fungerade när jag skulle få ihop det med det andra.
                          Så nu har jag använt cmpref istället och det fungerar som det ska och flaggorna som kom på fel ställen är borta.
                          Jag kör på dagsupplösning och kunde inte se att det blev någon skillnad på hur man använde och blandade := och = i det här fallet.

                          Tack än en gång Bertil!


                          Mikael

                          Comment


                          • #14
                            Det viktiga med = och := är att alla = måste ligga sist och utan inblandning av := , alltså, har man väl börjat med minnesreferenser (=) så måste man fortsätta till scriptets slut.

                            Comment


                            • #15
                              Ursprungligen postat av Rikard Nilsson Visa inlägg
                              Det viktiga med = och := är att alla = måste ligga sist och utan inblandning av := , alltså, har man väl börjat med minnesreferenser (=) så måste man fortsätta till scriptets slut.

                              Dessutom ser det ut som att aref(c,0)=aref(c,1). Blir i och för sig bara en dags förskjutning. Används noll så kan ju ändå aref utelämnas.

                              Comment

                              Working...
                              X