Allmänt meddelande

Collapse
No announcement yet.

Volymprofil i NAT

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

  • Bertil
    replied
    Jag blir inte klokare av din bild. Du har ju använt en graf där det finns en tydlig topp. I verkligheten har du ju fler boxar och om du har ett rullande medelvärde så är det ju inte säkert att boxen med störst amplitud hamnar i mitten.
    I mitt exempel tittar du bara på de perioder bakåt vars volym har amplitud som är 15% eller större än medelvolymen oavsett var de befinner sig i prisled fast sammavägt med aktuellt pris som rullande medelvärde under x perioder.

    mvh
    Bertil

    Leave a comment:


  • Frjoh
    replied
    Här kommer den
    Attached Files

    Leave a comment:


  • Frjoh
    replied
    [IMG]C:\Users\HP\Documents\autostock\volume profile 15%.PNG[/IMG]

    Leave a comment:


  • Bertil
    replied
    Ursprungligen postat av Frjoh Visa inlägg
    Hur infogar jag bilder?
    Menar du i forumet?
    Då du skriver ett inlägg och scrollar ner lite så kommer ju texten "Hantera bifogade filer." Där kan du ladda upp mindre bildfiler från din dator.
    Eller menar du att lägga in bilder i texten från internet?
    då skriver du:
    [img]bildlänk från internet[/img]
    tex



    mvh
    Bertil
    Last edited by Bertil; 2017-01-18, 11:00.

    Leave a comment:


  • Rikard Autostock
    replied
    Klicka på Gå till avancerad, så finns en knapp Hantera bifogade filer.

    Leave a comment:


  • Frjoh
    replied
    Hur infogar jag bilder?

    Leave a comment:


  • Bertil
    replied
    Ursprungligen postat av Frjoh Visa inlägg
    Hej Bertil,
    SKulle du kunna hjälpa mig med ett Script som ritar volymkurvor i prisgrafen för terminen.
    ett glidande medelvärde för 85% av volymen samt ett för 15% av volymen.
    Hur menar du exakt?
    Jag viktar ju closekursen med volymen för varje period och delar med totalvolymen för intervallet.
    hitta01=Div(mov(mult(c,v),40),mov(v,40))
    Vill du att ovanstående bara skall gälla för volymer större än 15%?

    Snittvolym=mov(v,40)
    När volymen är större än 15% av snittvolymen (dvs för 85%)
    volymprocent85=if(gt(v,mult(snittvolym,0.15),v,0)
    volymkurva85=Div(mov(mult(c,volymprocent85),40),mov(volymprocent85,40)

    och motsvarande för 15% av volymen
    Snittvolym=mov(v,40)
    När volymen är större än 85% av snittvolymen (dvs för de högsta 15%)

    volymprocent15=if(gt(v,mult(snittvolym,0.85),v,0)
    volymkurva15=Div(mov(mult(c,volymprocent15),40),mov(volymprocent15,40)

    Jag har inte kollat ovanstående i NAT så det kan finnas buggar.
    mvh
    Bertil
    Last edited by Bertil; 2017-01-18, 10:19.

    Leave a comment:


  • Frjoh
    replied
    Hej Bertil,
    SKulle du kunna hjälpa mig med ett Script som ritar volymkurvor i prisgrafen för terminen.
    ett glidande medelvärde för 85% av volymen samt ett för 15% av volymen.

    Leave a comment:


  • Bertil
    replied
    Volymprofil II

    Jag har ju tidigare labbat lite med egenutvecklad volymprofil. För skojs skull gjorde jag en strategi med dubbla volymprofiler och ett medelvärde och körde på terminerna.
    Det är alltså en daytradingstrategi där man går ur varje kväll samt är restriktiv att gå in på måndagar och fredagar.
    Strategin ger +139 punkter från jan 2015 till jan 2017 utan någon optimering annat än att jag körde på någon enskild månad och såg att det såg vettigt ut.
    Lägger ut koden ifall någon skulle vilja återanvända några delar.
    Anledningen till att jag använder globala variabler är för att det blir 4 ggr snabbare simulering.
    Återkommer med en korrekt sammanställning. Simuleringen av totalen tar nog något dygn till skillnad från att simulera på enskilda terminer som bara tar någon timma.
    --------------------------------
    { Bertils BolVol6 köp }
    { 170114 }
    innehav:=Portfolio(v)
    ok_att_handla:=eqv(innehav,0)
    korta01:=40
    korta02:=940

    tidspärr1:=180
    tidspärr2:=450
    lt1:=LastTrade(S,D)
    lt2:=LastTrade(B,D)
    minSedanSälj:=Mult(Sub(Date(),lt1),1440)
    minSedanKöp:=Mult(Sub(Date(),lt2),1440)
    delay_ok:=gt(minSedanSälj,tidspärr1)
    trans_ok:=gt(minSedanKöp,tidspärr2)

    i1(

    tid1=gt(int(mult(frac(d),1440)),720)
    tid2=lt(int(mult(frac(d),1440)),1030)


    hitta01=Div(mov(mult(c,v),korta01),mov(v,korta01))
    hitta02=mov(c,korta01)
    hitta03=Div(mov(mult(c,v),korta02),mov(v,korta02))
    hitta04=mov(c,korta02)
    slang01=mov(c,40)

    SetGVarIf(sub(hitta02,hitta01),680,1,T)
    SetGVarIf(sub(hitta04,hitta02),681,1,T)
    SetGVarIf(sub(slang01,aref(slang01,1)),682,1,T)

    Draw(hitta01,3,rqb0)
    Draw(hitta02,4,dgqb0)
    villkor01=lt(GetGVar(680),-0.2)
    villkor02=lt(GetGVar(681),-0.3)
    villkor03=gt(GetGVar(682),0.05)

    villkor92=And(Gt(Sub(Mx(cmpref(H,2,b),cmpref(H,1,b)),MN(cmpref(L,2,b),cmpref(L,1,b))),35),or(EQV(DayOfWeek(),1),EQV(DayOfWeek(),5)))
    villkor93=And(Gt(Sub(Mx(cmpref(H,3,b),cmpref(H,2,b)),MN(cmpref(L,3,b),cmpref(L,2,b))),35),or(EQV(DayOfWeek(),1),EQV(DayOfWeek(),5)))
    villkor98=Or(Not(or(EQV(DayOfWeek(),1),EQV(DayOfWeek(),5))),or(And(villkor92,villkor93),and(EQV(DayOfWeek(),5),or(villkor92,villkor92))))

    köpa=And(And(And(villkor01,villkor02),villkor03),villkor98)
    ditt_köpscript=And(And(And(And(köpa,tid1),tid2),delay_ok),trans_ok)
    köpsignal=And(ditt_köpscript,ok_att_handla)
    Mult(köpsignal,10)
    )

    {@A(0,)@B(0,OMX Stock )}
    --------------------------------------------

    { Bertils BolVol6 köp vänd }
    { 170114 }
    innehav:=Portfolio(v)
    ok_att_handla:=Lt(innehav,0)

    tidspärr1:=60
    tidspärr2:=60
    lt1:=LastTrade(S,D)
    lt2:=LastTrade(B,D)
    minSedanSälj:=Mult(Sub(Date(),lt1),1440)
    minSedanKöp:=Mult(Sub(Date(),lt2),1440)
    delay_ok:=gt(minSedanSälj,tidspärr1)
    trans_ok:=gt(minSedanKöp,tidspärr2)

    i1(
    tid1=gt(int(mult(frac(d),1440)),630)
    { före kl 17.10 }
    tid2=lt(int(mult(frac(d),1440)),1030)

    villkor01=lt(GetGVar(680),-0.2)
    villkor02=lt(GetGVar(681),-0.3)
    villkor03=gt(GetGVar(682),0.05)

    köpa=And(And(villkor01,villkor02),villkor03)
    ditt_köpscript=And(And(And(And(köpa,tid1),tid2),delay_ok),trans_ok)
    köpsignal=And(ditt_köpscript,ok_att_handla)

    Mult(köpsignal,10)
    )
    ----------------------------------------------------
    { Bertils BolVol6 sälj }
    { 170114 }
    innehav:=Portfolio(v)
    ok_att_handla:=eqv(innehav,0)

    tidspärr1:=180
    tidspärr2:=450
    lt1:=LastTrade(S,D)
    lt2:=LastTrade(B,D)
    minSedanSälj:=Mult(Sub(Date(),lt1),1440)
    minSedanKöp:=Mult(Sub(Date(),lt2),1440)
    delay_ok:=gt(minSedanSälj,tidspärr1)
    trans_ok:=gt(minSedanKöp,tidspärr2)

    i1(
    tid1=gt(int(mult(frac(d),1440)),630)
    tid2=lt(int(mult(frac(d),1440)),1030)

    villkor01=gt(GetGVar(680),0.2)
    villkor02=gt(GetGVar(681),0.3)
    villkor03=lt(GetGVar(682),-0.05)

    villkor92=And(Gt(Sub(Mx(cmpref(H,2,b),cmpref(H,1,b)),MN(cmpref(L,2,b),cmpref(L,1,b))),35),or(EQV(DayOfWeek(),1),EQV(DayOfWeek(),5)))
    villkor93=And(Gt(Sub(Mx(cmpref(H,3,b),cmpref(H,2,b)),MN(cmpref(L,3,b),cmpref(L,2,b))),35),or(EQV(DayOfWeek(),1),EQV(DayOfWeek(),5)))
    villkor98=Or(Not(or(EQV(DayOfWeek(),1),EQV(DayOfWeek(),5))),or(And(villkor92,villkor93),and(EQV(DayOfWeek(),5),or(villkor92,villkor92))))

    sälja=And(And(And(villkor01,villkor02),villkor03),villkor98)
    ditt_säljscript=And(And(And(And(sälja,tid1),tid2),delay_ok),trans_ok)
    säljsignal=And(ditt_säljscript,ok_att_handla)
    Mult(säljsignal,10)
    )


    {@A(0,)@B(0,OMX Stock )}
    ------------------------------------------

    { Bertils BolVol6 sälj vänd }
    { 170114 }
    innehav:=Portfolio(v)
    ok_att_handla:=Gt(innehav,0)

    tidspärr1:=60
    tidspärr2:=60
    lt1:=LastTrade(S,D)
    lt2:=LastTrade(B,D)
    minSedanSälj:=Mult(Sub(Date(),lt1),1440)
    minSedanKöp:=Mult(Sub(Date(),lt2),1440)
    delay_ok:=gt(minSedanSälj,tidspärr1)
    trans_ok:=gt(minSedanKöp,tidspärr2)

    i1(
    { efter 10.30}
    tid1=gt(int(mult(frac(d),1440)),630)

    { före kl 17.10 }
    tid2=lt(int(mult(frac(d),1440)),1030)

    villkor01=gt(GetGVar(680),0.2)
    villkor02=gt(GetGVar(681),0.3)
    villkor03=lt(GetGVar(682),-0.05)
    sälja=and(and(villkor01,villkor02),villkor03)

    ditt_säljscript=And(And(And(And(sälja,tid1),tid2),delay_ok),trans_ok)
    säljsignal=And(ditt_säljscript,ok_att_handla)
    Mult(säljsignal,10)
    )
    ----------------------------------

    Med vänlig hälsning
    Bertil
    Last edited by Bertil; 2017-01-15, 15:20.

    Leave a comment:


  • Bertil
    replied
    Om man lägger in lite tildsvillkor och lutningsvillkor blir det så här.
    i1(
    tid1=gt(int(mult(frac(d),1440)),585)
    tid2=lt(int(mult(frac(d),1440)),1030)
    kurva02=AMA(Mov(c,MMovRes(C,400,25,0.5):450),45,2,30)
    lutning01=Gt(Div(Sub(kurva02,aref(kurva02,1)),kurva02),0.0002)
    draw(kurva02,2,kqb0)
    köpa=And(And(lutning01,tid1),tid2)

    Mult(köpa,10)
    )

    Med vänlig hälsning
    Bertil
    Attached Files

    Leave a comment:


  • Bertil
    replied
    Vill man göra ett jämnare medelvärde men som fortfarande är snabb kan man blanda in AMA :
    i1(
    kurva01=Mov(Mov(c,MMovRes(C,400,25,0.5):450),15)
    kurva02=AMA(Mov(c,MMovRes(C,400,25,0.5):450),25,2,30)
    draw(kurva01,1,rqb0)
    draw(kurva02,2,kqb0)
    Mult(0,10)
    )

    Med vänlig hälsning
    Bertil
    Attached Files

    Leave a comment:


  • Bertil
    replied
    Det var en intressant funktion. Den kan man använda som antal i Mov!

    i1(
    kurva01=Mov(Mov(c,MMovRes(C,400,25,0.5):450),15)
    draw(kurva01,1,rqb0)
    Mult(0,10)
    )

    Med vänlig hälsning
    Bertil

    Blir så här:
    Attached Files

    Leave a comment:


  • Rikard Autostock
    replied
    Här är ett exempel:

    MMovRes(C,300,25,0.5)

    skalat 0-100 visar hur många av medelvärdena mellan MA25 och MA300 som ligger samlade inom 0,5% från Close. Notera korrelationen med Fishnet-diagrammet.

    Attached Files

    Leave a comment:


  • Rikard Autostock
    replied
    En annan funktion på liknande tema är

    http://www.autostock.se/NATscriptref..._p1__p2___tal_

    som kan mäta hur många av angivna medelvärden som ligger inom ett visst intervall runt Close. Perfekt om man vill analysera fishnet. Sådana när funktioner är helt unika i AT, det blir metervis med kod i alla andra program....

    Leave a comment:


  • Bertil
    replied
    Här är ett försök att scripta volymprofil om det nu kan vara till någon hjälp.
    http://www.autostock.se/vbulletin/sh...postcount=1776
    Med vänlig hälsning
    Bertil

    Leave a comment:

Working...
X