Allmänt meddelande

Collapse
No announcement yet.

OMX-modell + delsäkra vinster

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

  • OMX-modell + delsäkra vinster

    Hej igen!
    Det kan finnas skäl att köra med nån funktion som tar hem tex halva vinsten i olika lägen, tex överköpt, fallande reglinje etc.

    Här är den modifierade ordermodellen med en del sånt inkluderat. Observera att man måste byta antalsscripten i exitsekvenserna till nedanstående för att det ska funka.

    När man nått en vinstnivå som bestäms av antalet kontrakt för tillfället så tas hälften hem, modellen loopar runt ett varv, och hamnar i bevakning igen tills nästa läge uppstår, alt motsatt entrysignal dyker upp.

    Detta fungerar bara om man har handlat för mer än halva kassan eftersom det används i beräkningarna som ett av villkoren.


    Dessutom stängs positionen om man har vinst och slowrsi är överköpt/översålt, och samtidigt något av följande händer: stochastic vänder, reglinjen vänder, eller det är stängningsdags.

    Här finns oändligt mycket möjligheter, så kom med förslag så kan vi plocka in det i modellen.

    Lägger ut samtliga script även här så är det lätt att kopiera.

    Lycka till!


    Ordermodell 1:

    sl ) Köp

    rgln1:=Mov(LinReg(c,16),3,e)
    ma1:=Mov(c,5,e)
    slowrsi:=Mov(LinReg(Rsi(25),4),7,e)
    rsistiger:=Lt(HhvBars(slowrsi,2),1)
    regupp:=Lt(HhvBars(rgln1,2),1)
    stochastic:=Gt(Stoc(LinReg(c,15),3),60)
    stängning:=le(mult(1440,sub(market(c),frac(date()))),12)
    tidnu:=Frac(DATE())
    totalt:=Mult(tidnu,1440)
    rest:=Int(Mod(totalt,30))
    tidsignal1:=Gt(rest,8)
    tidsignal2:=Gt(rest,26)
    {tidsignal1:=1}
    innehav:=Portfolio(v)
    {innehav:=0}
    felexponerad:=Gt(innehav,0)
    lastsell:=LastTrade(S,P)
    i30(
    level=Add(0.5,Div(-1.5,innehav))
    vinst=Lt(c,Sub(lastsell,level))
    tidsignal3=And(Or(And(Or(Eqv(innehav,0),vinst),tidsignal1),tidsignal2),Le(rest,28))
    signal1=And(Gt(ma1,rgln1),And(tidsignal3,And(stochastic,And(regupp,rsistiger))))
    signal2=And(Or(felexponerad,signal1),Lt(slowrsi,45))
    signal3=And(signal2,Not(stängning))
    )

    va) Köpantal

    skippa:=Gt(portfolio(v),0)
    maxantal1:=Mult(0.9,Div(Cash(),s))
    i1(
    maxantal2=Mn(Int(Div(maxantal1,10)),10)
    maxantal3=If(Eqv(maxantal2,0),1,maxantal2)
    målantal=If(skippa,0,maxantal3)
    innehav=Portfolio(v)
    övermål=Ge(innehav,målantal)
    slutantal1=If(övermål,0,SUB(målantal,innehav))
    slutantal1)


    vl) Köppris

    i1(Add(S,0.5))


    Exitscript:

    sl) Stäng lång position

    innehav:=Portfolio(v)
    oexponerad:=Le(innehav,0)
    lastbuy:=LastTrade(B,P)
    level:=Add(0.5,Div(1.5,innehav))
    vinst:=And(Not(oexponerad),Gt(c,Add(lastbuy,level)))
    fredag:=Eqv(DayOfWeek(),5)
    stängning:=le(mult(1440,sub(market(c),frac(date()))),12)
    rgln1:=Mov(LinReg(c,16),3,e)
    ma1:=Mov(c,5,e)
    fastrsi:=Mov(LinReg(Rsi(5),5),5,e)
    fastner:=Lt(LlvBars(fastrsi,2),1)
    slowrsi:=Mov(LinReg(Rsi(25),4),7,e)
    rsifaller:=Lt(LlvBars(slowrsi,2),1)
    regner:=Lt(LlvBars(rgln1,2),1)
    stochastic:=Lt(Stoc(LinReg(c,15),3),40)
    tidnu:=Frac(DATE())
    totalt:=Mult(tidnu,1440)
    rest:=Int(Mod(totalt,30))
    tidsignal:=Gt(rest,28)
    {tidsignal:=1}
    i30(
    maxantal1=Mult(0.9,Div(Cash(),s))
    maxantal2=Int(Div(maxantal1,10))
    fullt=Gt(innehav,Div(maxantal2,2))
    tahem1=And(vinst,And(fredag,stängning))
    tahem2=And(And(vinst,Gt(slowrsi,50)),Or(regner,Or(stochastic,Or(fullt,stängning))))
    delsäkra1=And(fastner,Ge(c,Add(lastbuy,Mult(level,3))))
    delsäkra2=And(delsäkra1,fullt)
    signal1=And(Lt(ma1,rgln1),And(tidsignal,And(stochastic,And(regner,rsifaller))))
    signal2=And(And(signal1,Gt(slowrsi,-45)),Not(stängning))
    signal3=Or(signal2,Or(Or(tahem1,tahem2),oexponerad))
    signal4=Or(signal3,delsäkra2)
    )


    va) Stäng antal

    innehav1:=Portfolio(v)
    slowrsi:=Mov(LinReg(Rsi(25),4),7,e)
    högrsi:=Gt(slowrsi,50)
    stochastic:=Lt(Stoc(LinReg(c,15),3),40)
    i30(
    innehav2=If(Or(högrsi,stochastic),innehav1,Add(0.5,Div(innehav1,2)))
    antal1=Int(If(Le(innehav1,0),0,innehav2))
    )

    vl) Säljpris

    i1(Sub(B,0.5))

    LOOP


    Ordermodell 2:

    sl) Blanka

    rgln1:=Mov(LinReg(c,16),3,e)
    ma1:=Mov(c,5,e)
    slowrsi:=Mov(LinReg(Rsi(25),4),7,e)
    rsifaller:=Lt(LlvBars(slowrsi,2),1)
    regner:=Lt(LlvBars(rgln1,2),1)
    stochastic:=Lt(Stoc(LinReg(c,15),3),40)
    stängning:=le(mult(1440,sub(market(c),frac(date()))),12)
    tidnu:=Frac(DATE())
    totalt:=Mult(tidnu,1440)
    rest:=Int(Mod(totalt,30))
    tidsignal1:=Gt(rest,8)
    tidsignal2:=Gt(rest,26)
    {tidsignal1:=1}
    innehav:=Portfolio(v)
    {innehav:=0}
    felexponerad:=Lt(innehav,0)
    lastbuy:=LastTrade(B,P)
    i30(
    level=Add(0.5,Div(1.5,innehav))
    vinst=Gt(c,Add(lastbuy,level))
    tidsignal3=And(Or(And(Or(Eqv(innehav,0),vinst),tidsignal1),tidsignal2),Le(rest,28))
    signal1=And(Lt(ma1,rgln1),And(tidsignal3,And(stochastic,And(regner,rsifaller))))
    signal2=And(Or(felexponerad,signal1),Gt(slowrsi,-45))
    signal3=And(signal2,Not(stängning))
    )


    va) Blankantal

    skippa:=Lt(portfolio(v),0)
    maxantal1:=Div(Div(Cash(),s),10)
    maxantal2:=If(Gt(Portfolio(v),0),Mult(maxantal1,0.75),maxantal1)
    i1(
    maxantal3=Sub(0,Mn(Int(maxantal2),10))
    maxantal4=If(Eqv(maxantal3,0),-1,maxantal3)
    målantal=If(skippa,0,maxantal4)
    innehav=Portfolio(v)
    undermål=Le(innehav,målantal)
    slutantal=Abs(If(undermål,0,Sub(målantal,innehav)))
    slutantal)


    vl) säljpris

    i1(Sub(B,0.5))


    sl) Stäng kort position

    innehav:=Portfolio(v)
    oexponerad:=Ge(innehav,0)
    lastsell:=LastTrade(S,P)
    level:=Add(0.5,Div(-1.5,innehav))
    vinst:=And(Not(oexponerad),Lt(c,Sub(lastsell,level)))
    fredag:=Eqv(DayOfWeek(),5)
    stängning:=le(mult(1440,sub(market(c),frac(date()))),12)
    rgln1:=Mov(LinReg(c,16),3,e)
    ma1:=Mov(c,5,e)
    fastrsi:=Mov(LinReg(Rsi(5),5),5,e)
    fastupp:=Lt(HhvBars(fastrsi,2),1)
    slowrsi:=Mov(LinReg(Rsi(25),4),7,e)
    rsistiger:=Lt(HhvBars(slowrsi,2),1)
    regupp:=Lt(HhvBars(rgln1,2),1)
    stochastic:=Gt(Stoc(LinReg(c,15),3),60)
    mt1:=Mult(Sub(market(c),Frac(d)),1440)
    mt2:=Ge(mt1,12)
    tidnu:=Frac(DATE())
    totalt:=Mult(tidnu,1440)
    rest:=Int(Mod(totalt,30))
    tidsignal:=Gt(rest,28)
    {tidsignal:=1}
    i30(
    maxantal1=Div(Div(Cash(),s),10)
    maxantal2=If(Gt(innehav,0),Mult(maxantal1,0.75),maxantal1)
    maxantal3=Sub(0,Int(maxantal2))
    fullt=Lt(innehav,Div(maxantal3,2))
    tahem1=And(vinst,And(fredag,stängning))
    tahem2=And(And(vinst,Lt(slowrsi,-50)),Or(regupp,Or(stochastic,Or(fullt,stängning))))
    delsäkra1=And(fastupp,Le(c,Sub(lastsell,Mult(level,3))))
    delsäkra2=And(delsäkra1,fullt)
    signal1=And(Gt(ma1,rgln1),And(tidsignal,And(stochastic,And(regupp,rsistiger))))
    signal2=And(And(signal1,Lt(slowrsi,45)),Not(stängning))
    signal3=Or(signal2,Or(Or(tahem1,tahem2),oexponerad))
    signal4=Or(signal3,delsäkra2)
    )

    va) Stäng kort antal
    innehav1:=Portfolio(v)
    slowrsi:=Mov(LinReg(Rsi(25),4),7,e)
    lågrsi:=Lt(slowrsi,-50)
    stochastic:=Gt(Stoc(LinReg(c,15),3),60)
    i30(
    innehav2=If(Or(lågrsi,stochastic),innehav1,Sub(Div(innehav1,2),0.5))
    antal1=Int(If(Ge(innehav1,0),0,Abs(innehav2)))
    antal1)


    vl) Köppris

    i1(Add(S,0.5))

    LOOP
Working...
X