Allmänt meddelande

Collapse
No announcement yet.

Dynamiska periodvärden i loop

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

  • Dynamiska periodvärden i loop

    Lite morgongymnastik. Scripten nedan gjorde jag för en annan tråd. Upptäckta något som jag inte förstår. Värdena blir rätt i jämförelse med de som jag får med VBA. Går det att använda retval/getval för peroidvärden och om inte varför får jag det att fungera.

    1. När jag tittar närmare ska första värdet för priset med aref och geval(3) vara 20 och inte 21 som jag har. Dvs totalt 21 perioder inklusive innevarande stapel.

    2. Vänder jag på hur loopen hanterar getval(3) och börjar nerifrån fungerar det inte alls. Det fungerar att vända på loopen i VBA. Har även provat att lägga till ett dynamisk maxantal, men blir ingen skillnad. Verkar som att det fungerar för att första värdet har det högsta periodantalet.

    Tankevurpa eller inte?

    antalV:=21
    zigma:=8
    offset:=1
    mmm:=mult(offset,sub(antalV,1))
    sss1:=div(antalV,zigma)
    sss2:=mult(mult(sss1,sss1),2)

    retval(0,0)
    retval(0,1)
    retval(21,3)
    ack=cum(1,antalV)
    Wtd1=mult(div(mult(sub(sub(ack,1),mmm),sub(sub(ack,1),mmm)),sss2),-1)
    Wtd2=exp(Wtd1)
    Prize=aref(c,Getval(3))
    retval(add(getval(0),mult(Wtd2,Prize)),0)
    retval(add(Wtd2,Getval(1)),1)
    retval(sub(Getval(3),1),3)
    loop(ack,antalV)

    alAv=div(Getval(0),Getval(1))
    draw(alAv,3,bqb){rita kursstaplar}


    and(0,0)

  • #2
    Samma värden genom att använda ack istället för getval(3) och if för när perioden blir 0.

    antalV:=21
    zigma:=8
    offset:=1
    mmm:=mult(offset,sub(antalV,1))
    sss1:=div(antalV,zigma)
    sss2:=mult(mult(sss1,sss1),2)

    retval(0,0)
    retval(0,1)
    ack=cum(1,antalV)
    Wtd1=mult(div(mult(sub(sub(ack,1),mmm),sub(sub(ack,1),mmm)),sss2),-1)
    Wtd2=exp(Wtd1)
    Prize=if(eqv(ack,21),c,aref(c,sub(21,ack):20))
    retval(add(getval(0),mult(Wtd2,Prize)),0)
    retval(add(Wtd2,Getval(1)),1)
    loop(ack,antalV)
    alAv=div(Getval(0),Getval(1))

    draw(alAv,3,bqb){rita kursstaplar}


    and(0,0)
    Last edited by Henric; 2017-09-11, 09:46.

    Comment

    Working...
    X