Allmänt meddelande

Collapse
No announcement yet.

Eget medelvärde

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

  • Eget medelvärde

    Hej!

    För att förfina mitt backtestningsscript så vill jag köra hela scriptet i 1-minutsupplösning och ta in cmpref-staplar i annan upplösning.

    Nu vill jag skapa ett levande medelvärde, för den sista stapeln, så att det ändrar sig för varje historiskt 1minutsvärde som finns i databasen, för att få en rättvisare bild av medelvärden och möjlighet att testa stoploss och annat. Annars ser man ju bara helheten av en 15m-stapel och inte vad som händer "inne i".

    Jag vill räkna på minutdata och skapa den sista pågående 15-minuterstapelns värde för att på så vis skapa det kompletta meddelvärdet för 15-minutersstapalarna.

    Men, jag får det inte att fungera...kan någon se vad som är fel? Eller har ni kanske ett annat angreppssätt?



    *****

    perioder:=15

    i1(
    {pågående 15m-stapels tidsstämpel}
    dref=cmpref(d,A)

    {pågående stapel}
    pågåendestapel=find(ge(d,dref),c,1) {returnerar alla close för 1-minuterstaplarna efter pågående 15-minuters tidsstämpel}

    {referensmedel för visning}
    refm=mov(cmpref(c,A),6,s)

    {Antal 1m-staplar efter tidstämpel 0.0006944444 = 1m. Alltid minst 1}
    nobars=int(add(div(sub(frac(d),frac(dref)),0.0006944444),1)) {senaste databastid - 15m-tidsstämpel dividerat med 1-minutsvärde}

    sumc1m=sum(pågåendestapel,nobars:20) {summan av senaste 1m-staplarnas close }
    medc1m=div(sumc1m,nobars) {medel för senaste 1m-staplarnas close}

    totsumA=sum(aref(cmpref(c,A),1),15) {totalsumma för 14 näst senaste A-staplarnas close}

    {medelpris för senaste cmpref-staplarna}
    medel=div(add(totc1m,totsumA),add(perioder,0))

    draw(medel,2,yqb) {rita totalt levande medel}
    draw(medc1m,3,bae) {medel för senaste 1m-staplarna i analys3}
    draw(mult(nobars,1),4,rsa) {antal staplar i analys1}
    draw(refm,5,dgqb) {referensmedel}
    draw(add(medc1m,1),6,dyqb) {mitt sistastapel-1m-medel}

    )
    {@A(15,)}

    *****

    På denna raden måste jag även ha samma antal som i perioder ovan, för att visa kurvan alls:

    totsumA=sum(aref(cmpref(c,A),1),15) {totalsumma för 14 näst senaste A-staplarnas close}

    Många konstigheter är det...


    Edit lite senare...

    Kom ju på att jag inte behöver räkna ihop senaste stapeln utan bara använda senaste 1m close. En bit på väg men fortfarande inte löst.
    Jobbar vidare...
    Last edited by NickoTrader; 2012-04-29, 23:12.

  • #2
    Så här ska det vara:

    {Simple mov avg}

    {SMA = (Sum(CmpRef(15),14) + c) / Perioder}

    perioder:=2

    i1(
    {pågående 15m-stapels tidsstämpel}
    dref=cmpref(d,A)

    {pågående close}
    pågåendec=find(gt(d,dref),20,c,1) {returnerar senaste close för 1-minuterstaplarna efter pågående 15-minuters tidsstämpel}

    totsumA=sum(cmpref(c,0,A),sub(perioder,1):20) {totalsumma för 14 näst senaste CmpRef-staplarnas close}

    {medelpris för senaste cmpref-staplarna + senaste close}
    medel=div(add(pågåendec,totsumA),perioder)

    {referensmedel för visning}
    refm=mov(cmpref(c,A),perioder,s)

    draw(medel,2,yqb) {rita totalt levande medel}
    draw(add(refm,0),5,dgqb) {referensmedel}

    )
    {@A(15,)}

    Comment

    Working...
    X