Allmänt meddelande

Collapse
No announcement yet.

Genomsnittlig vinst - kalkylforskaren

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

  • Genomsnittlig vinst - kalkylforskaren

    Hej!

    Har en fundering för kalkylforskaren.
    Säg att man undersöker den genomsnittliga avkastningen efter att två medelvärden korsats - tittar X antal korsningar bakåt och räknar ut ett medel på förväntad maxavkastning i aktien (tex innan medelvärden korsar åt motsatt håll igen)

    Någon har en ide hur ett sådan skript kan se ut?

    /Petter

  • #2
    Det behövs loopas för att kunna räkna ut ett genomsnitt mellan kursnivåerna vid korsningar. Men nåt sånt här:
    antal:=10

    ma1=ema(c,5)
    ma2=ema(c,14)
    kors_upp=and(gt(ma1,ma2),lt(aref(ma1,1),aref(ma2,1)))
    kors_ner=and(lt(ma1,ma2),gt(aref(ma1,1),aref(ma2,1)))

    retval(0,0) {antal varv}
    retval(0,1) {avg profit}

    counter=retval(add(getval(0),1),0)
    kurs_upp=find(kors_upp,1000,c,counter)
    kurs_ner=find(kors_ner,1000,c,counter)
    vinst=sub(div(kurs_upp,kurs_ner),1)
    retval(add(getval(1),vinst),1)
    loop(counter,antal)

    avg_profit=div(getval(1),antal)

    mult(100,avg_profit)

    Comment


    • #3
      Snyggt! Tackar

      Comment


      • #4
        Högsta kurs efter MA-cross

        Svårt detta med loopar...

        Har skapat ett grafiskt script som visar den högsta/lägsta kursen som uppnås efter två värden korsas (som beskrivet ovan i tråden).

        Nu vill jag med hjälp av retval/ loop spara undan dessa värden för att skapa tex ett medelvärde på kursrörelser efter en "MA-korsning". Här skulle jag behöva lite support och komma vidare med koden nedan..

        Tanken är sedan att köra lite olika kalkyler (på olika MA kombinationer) och på så sätt få en "förväntad" kursrörelse efter en ma-korsning. Ska ju såklart gå att byta ut triggern till tex RSI eller liknande, och snabbt bilda sig en uppfattning utan att backtesta i analyzern



        Kod:
        sekvens:=1
        medel:=10

        ma1=ema(c,15)
        ma2=ema(c,600)
        kors_upp=and(gt(ma1,ma2),lt(aref(ma1,1),aref(ma2,1)))
        kors_ner=and(lt(ma1,ma2),gt(aref(ma1,1),aref(ma2,1)))

        tid_upp=find(kors_upp,1000,d,sekvens)
        tid_ner=find(kors_ner,1000,d,sekvens)
        c_upp=find(kors_upp,1000,c,sekvens)
        c_ner=find(kors_ner,1000,c,sekvens)
        today=int(d)
        days_upp=sub(today,tid_upp)
        days_ner=sub(today,tid_ner)
        days_tot=mn(days_upp,days_ner)

        högsta=if(gt(ma1,ma2),hhv(h,days_tot),0)
        lägsta=if(lt(ma1,ma2),llv(l,days_tot),99999)

        vinst_upp=aref(mult(div(sub(högsta,c_upp),c_upp),100),1)
        vinst_ner=aref(mult(div(sub(c_ner,lägsta),c_ner),100),1)

        draw(högsta,1,gqb0)
        draw(lägsta,2,rqb0)
        draw(mult(vinst_upp,1),3,gsa0)
        draw(mult(vinst_ner,1),4,rsa0)
        draw(mult(medel,1),5,msa0)



        and(1,0)

        Comment

        Working...
        X