Allmänt meddelande

Collapse
No announcement yet.

Edge 1

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

  • Edge 1

    Behöver verifiera att close kl. 10.00 är större än close för tre perioder sedan, dvs kl. 9.15 i just detta fall.

    Ser "villkor1" korrekt ut eller finns det lämpligare sätt att kolla detta?

    i15(

    klocka=frac(date())
    kl1000=and(gt(klocka,0.378),lt(klocka,0.40))

    ej_innehav=eqv(portfolio(v),0)

    villkor1=gt(c,aref(c,3))

    .....

    )

  • #2
    Gör du testet exakt kl 10 eller behöver du veta senare på dagen vad kursen var kl 10 resp 3 staplar tidigare?

    Comment


    • #3
      Testet är tänkt att göras kl. 10.

      Comment


      • #4
        Ah, ok då kan man tex köra följande:

        kl10=and(eqv(xtime(date(),h),10),eqv(xtime(date(),m),0))
        villkor1=gt(c,aref(c,3))


        Comment


        • #5
          Tack. Måste jag omsluta skriptet med 15-min staplar för att lösa detta?
          Kan jag inte istället jämföra "om close kl. 10 är större än close kl. 9.15" på följande vis:

          kl10=and(eqv(xtime(date(),h),10),eqv(xtime(date(),m),0))
          kl915=and(eqv(xtime(date(),h),9),eqv(xtime(date(),m),15))
          villkor1=gt(c,aref(c,kl915))

          Är det regelrätt att använda "tidsstämpel" som en in-parameter i aref-funktionen?

          Comment


          • #6
            Jo, precis det behöver omslutas med 15-minuters intradayprefix för att fungera.

            Parameter 2 i aref() är antal perioder som den ska titta bakåt. Så det går inte att använda kl915 som värde eftersom det är tidstämpeln, inte antal perioder.

            Annars finns fler sätt, tex Find() som kan hitta tex senaste tillfället då ett villkor var sant och returnera värdet från valfri dataserie från den perioden.

            kl10=and(eqv(xtime(date(),h),10),eqv(xtime(date(),m),0))
            kurs_kl10=find(kl10,100,aref(c,1),1)

            som ger värdet på C stapeln innan senaste gången kl10 var sant, inom 100 perioder bakåt.

            På samma sätt kan man ta fram kursen kl 0915:

            kl915=and(eqv(xtime(date(),h),9),eqv(xtime(date(),m),15))
            kurs_kl10=find(kl915,100,aref(c,1),1)

            Comment

            Working...
            X