Sådär, då tycker jag vi samlar ihop alla 4 scripten så att det blir lite mer överskådligt. Vi har alltså script för att köpa-stänga och blanka-stänga positioner. Tanken är att de ska jobba i 2 parallella ordermodeller.
Är det nån som orkar backtesta korrekt, alltså sätta in värden i avsluta-scripten och se var dessa löser ut, därefter sätta in nytt värde från entry-scripten osv?
Möjligen får vi fortsätta utveckla scripten för att stänga smartare, man kan ju tänka sig att kräva att kursen förutom nuvarande krav även ska befinna sig på "fel" sida om reg100 tex, eller att en lång RSI pekar fel etc.
Tänk på att stänga av funktionen "oexponerad:=osv" om det finns ett innehav på depån medans ni testar. Annars syns inte signalerna från det ena scriptet.
sl) Forum OMX köp
mp1:=div(sub(h,l),2)
close:=add(l,mp1)
rgln1:=LinReg(close,10)
rgln2:=Mov(LinReg(c,100),6,s)
rgln3:=LinReg(c,40)
rgln4:=LinReg(close,200)
regupp1:=Lt(HhvBars(rgln1,2),1)
regupp2:=Lt(HhvBars(rgln2,2),1)
regupp3:=Lt(HhvBars(rgln3,2),1)
regupp4:=Lt(HhvBars(rgln4,2),1)
kortMA1:=Mov(close,2,s)
kortMA2:=Mov(close,5,s)
kortMA3:=Mov(close,20,s)
kortMAupp1:=Lt(HhvBars(kortMA1,2),1)
kortMAupp2:=Lt(HhvBars(kortMA2,2),1)
kortMAupp3:=Lt(HhvBars(kortMA3,2),1)
slowrsi1:=Mov(Mov(Rsi(4),15,e),5,s)
slowrsi2:=Mov(Mov(Rsi(40),15,e),5,s)
stigRSI1:=Lt(HhvBars(slowrsi1,2),1)
stigRSI2:=Lt(HhvBars(slowrsi2,2),1)
exponerad:=0
oexponerad:=Ge(Portfolio(v),0)
bband:=Add(BolBands(20,2.0,u),0.5)
okband:=Not(Hhv(Gt(h,bband),1))
mt1:=Mult(Sub(market(c),Frac(d)),1440)
mt2:=Ge(mt1,22)
tidnu:=Frac(DATE())
klocka:=Frac(d)
kl10:=0.425
inpådagen:=gt(klocka,kl10)
lowerband:=BolBands(20,2.0,l)
spik:=Hhv(Lt(l,Sub(lowerband,0.8)),2)
köpläge1:=Hhv(And(spik,Gt(c,lowerband)),4)
totalt:=Mult(tidnu,1440)
rest:=Mod(totalt,10)
tidsignal:=Gt(rest,0) {ändra 9 till noll för att se signaler}
i10(
köpläge2=And(And(köpläge1,stigRSI1),Lt(slowrsi1,-20))
lågRSI=And(And(And(Hhv(Lt(slowrsi2,-40),30),stigRSI1),regupp1),Gt(rgln1,rgln2))
okrsi=And(Or(stigRSI1,Lt(slowrsi1,30)),And(And(Lt(slowrsi1,90),stigRSI2),Lt(slowrsi2,60)))
köp1=And(And(regupp1,kortMAupp1),And(kortMAupp2,kortMAupp3))
köp2=And(Or(lågRSI,And(Gt(rgln1,rgln4),regupp2)),And(regupp3,And(köp1,Gt(rgln1,rgln2))))
köp3=And(Or(exponerad,And(okrsi,And(köp2,oexponerad))),tidsignal)
köp4=And(And(And(okband,Or(köpläge2,köp3)),inpådagen),mt2)
)
sl) Forum stäng köp
{lastbuy:=LastTrade(B,P)}
lastbuy:=687
slowrsi1:=Mov(Mov(Rsi(4),15,e),5,s)
kortMAner:=Lt(LlvBars(Mov(c,4,s),2),1)
rsiner:=Lt(LlvBars(slowrsi1,2),1)
profit:=Abs(Sub(c,lastbuy))
faktor1:=Add(Div(Mult(Mult(profit,profit),profit),6),8)
i10(
faktor2=If(Gt(faktor1,200),200,faktor1)
rgln1=Mov(LinReg(c,faktor2:200),6,s)
regner1=Lt(LlvBars(rgln1,2),1)
signal=And(rsiner,And(regner1,kortMAner))
)
sl) Forum OMX blanka
mp1:=div(sub(h,l),2)
close:=add(l,mp1)
rgln1:=LinReg(close,10)
rgln2:=Mov(LinReg(c,100),6,s)
rgln3:=LinReg(c,40)
rgln4:=LinReg(close,200)
regner1:=Lt(LlvBars(rgln1,2),1)
regner2:=Lt(LlvBars(rgln2,2),1)
regner3:=Lt(LlvBars(rgln3,2),1)
regner4:=Lt(LlvBars(rgln4,2),1)
kortMA1:=Mov(close,2,s)
kortMA2:=Mov(close,5,s)
kortMA3:=Mov(close,20,s)
kortMAner1:=Lt(LlvBars(kortMA1,2),1)
kortMAner2:=Lt(LlvBars(kortMA2,2),1)
kortMAner3:=Lt(LlvBars(kortMA3,2),1)
slowrsi1:=Mov(Mov(Rsi(4),15,e),5,s)
slowrsi2:=Mov(Mov(Rsi(40),15,e),5,s)
fallRSI1:=Lt(LlvBars(slowrsi1,2),1)
fallRSI2:=Lt(LlvBars(slowrsi2,2),1)
exponerad:=0
oexponerad:=Le(Portfolio(v),0)
bband:=Sub(BolBands(20,2.0,l),0.5)
okband:=Not(Hhv(Lt(l,bband),1))
mt1:=Mult(Sub(market(c),Frac(d)),1440)
mt2:=Ge(mt1,22)
tidnu:=Frac(DATE())
klocka:=Frac(d)
kl10:=0.425
inpådagen:=gt(klocka,kl10)
upperband:=BolBands(20,2.0,u)
spik:=Hhv(Gt(h,Add(upperband,0.8)),2)
blankläge1:=Hhv(And(spik,Lt(c,upperband)),4)
totalt:=Mult(tidnu,1440)
rest:=Mod(totalt,10)
tidsignal:=Gt(rest,0) {ändra 9 till noll för att se signaler}
i10(
blankläge2=And(And(blankläge1,fallRSI1),Gt(slowrsi1,20))
högRSI=And(And(And(Hhv(Gt(slowrsi2,40),40),fallRSI1),regner1),Lt(rgln1,rgln2))
okrsi=And(Or(fallRSI1,Gt(slowrsi1,-30)),And(And(Gt(slowrsi1,-90),fallRSI2),Gt(slowrsi2,-60)))
sälj1=And(And(regner1,kortMAner1),And(kortMAner2,kortMAner3))
sälj2=And(Or(högRSI,And(Lt(rgln1,rgln4),regner2)),And(regner3,And(sälj1,Lt(rgln1,rgln2))))
sälj3=And(Or(exponerad,And(okrsi,And(sälj2,oexponerad))),tidsignal)
sälj4=And(And(Or(blankläge2,And(okband,sälj3)),inpådagen),mt2)
)
sl) Forum stäng blankning
{lastsell:=LastTrade(S,P)}
lastsell:=687
slowrsi1:=Mov(Mov(Rsi(4),15,e),5,s)
kortMAupp:=Lt(HhvBars(Mov(c,4,s),2),1)
rsiupp:=Lt(HhvBars(slowrsi1,2),1)
profit:=Abs(Sub(lastsell,c))
faktor1:=Add(Div(Mult(Mult(profit,profit),profit),6),8)
i10(
faktor2=If(Gt(faktor1,200),200,faktor1)
rgln1=Mov(LinReg(c,faktor2:200),6,s)
regupp1=Lt(HhvBars(rgln1,2),1)
signal=And(rsiupp,And(regupp1,kortMAupp))
)
Är det nån som orkar backtesta korrekt, alltså sätta in värden i avsluta-scripten och se var dessa löser ut, därefter sätta in nytt värde från entry-scripten osv?
Möjligen får vi fortsätta utveckla scripten för att stänga smartare, man kan ju tänka sig att kräva att kursen förutom nuvarande krav även ska befinna sig på "fel" sida om reg100 tex, eller att en lång RSI pekar fel etc.
Tänk på att stänga av funktionen "oexponerad:=osv" om det finns ett innehav på depån medans ni testar. Annars syns inte signalerna från det ena scriptet.
sl) Forum OMX köp
mp1:=div(sub(h,l),2)
close:=add(l,mp1)
rgln1:=LinReg(close,10)
rgln2:=Mov(LinReg(c,100),6,s)
rgln3:=LinReg(c,40)
rgln4:=LinReg(close,200)
regupp1:=Lt(HhvBars(rgln1,2),1)
regupp2:=Lt(HhvBars(rgln2,2),1)
regupp3:=Lt(HhvBars(rgln3,2),1)
regupp4:=Lt(HhvBars(rgln4,2),1)
kortMA1:=Mov(close,2,s)
kortMA2:=Mov(close,5,s)
kortMA3:=Mov(close,20,s)
kortMAupp1:=Lt(HhvBars(kortMA1,2),1)
kortMAupp2:=Lt(HhvBars(kortMA2,2),1)
kortMAupp3:=Lt(HhvBars(kortMA3,2),1)
slowrsi1:=Mov(Mov(Rsi(4),15,e),5,s)
slowrsi2:=Mov(Mov(Rsi(40),15,e),5,s)
stigRSI1:=Lt(HhvBars(slowrsi1,2),1)
stigRSI2:=Lt(HhvBars(slowrsi2,2),1)
exponerad:=0
oexponerad:=Ge(Portfolio(v),0)
bband:=Add(BolBands(20,2.0,u),0.5)
okband:=Not(Hhv(Gt(h,bband),1))
mt1:=Mult(Sub(market(c),Frac(d)),1440)
mt2:=Ge(mt1,22)
tidnu:=Frac(DATE())
klocka:=Frac(d)
kl10:=0.425
inpådagen:=gt(klocka,kl10)
lowerband:=BolBands(20,2.0,l)
spik:=Hhv(Lt(l,Sub(lowerband,0.8)),2)
köpläge1:=Hhv(And(spik,Gt(c,lowerband)),4)
totalt:=Mult(tidnu,1440)
rest:=Mod(totalt,10)
tidsignal:=Gt(rest,0) {ändra 9 till noll för att se signaler}
i10(
köpläge2=And(And(köpläge1,stigRSI1),Lt(slowrsi1,-20))
lågRSI=And(And(And(Hhv(Lt(slowrsi2,-40),30),stigRSI1),regupp1),Gt(rgln1,rgln2))
okrsi=And(Or(stigRSI1,Lt(slowrsi1,30)),And(And(Lt(slowrsi1,90),stigRSI2),Lt(slowrsi2,60)))
köp1=And(And(regupp1,kortMAupp1),And(kortMAupp2,kortMAupp3))
köp2=And(Or(lågRSI,And(Gt(rgln1,rgln4),regupp2)),And(regupp3,And(köp1,Gt(rgln1,rgln2))))
köp3=And(Or(exponerad,And(okrsi,And(köp2,oexponerad))),tidsignal)
köp4=And(And(And(okband,Or(köpläge2,köp3)),inpådagen),mt2)
)
sl) Forum stäng köp
{lastbuy:=LastTrade(B,P)}
lastbuy:=687
slowrsi1:=Mov(Mov(Rsi(4),15,e),5,s)
kortMAner:=Lt(LlvBars(Mov(c,4,s),2),1)
rsiner:=Lt(LlvBars(slowrsi1,2),1)
profit:=Abs(Sub(c,lastbuy))
faktor1:=Add(Div(Mult(Mult(profit,profit),profit),6),8)
i10(
faktor2=If(Gt(faktor1,200),200,faktor1)
rgln1=Mov(LinReg(c,faktor2:200),6,s)
regner1=Lt(LlvBars(rgln1,2),1)
signal=And(rsiner,And(regner1,kortMAner))
)
sl) Forum OMX blanka
mp1:=div(sub(h,l),2)
close:=add(l,mp1)
rgln1:=LinReg(close,10)
rgln2:=Mov(LinReg(c,100),6,s)
rgln3:=LinReg(c,40)
rgln4:=LinReg(close,200)
regner1:=Lt(LlvBars(rgln1,2),1)
regner2:=Lt(LlvBars(rgln2,2),1)
regner3:=Lt(LlvBars(rgln3,2),1)
regner4:=Lt(LlvBars(rgln4,2),1)
kortMA1:=Mov(close,2,s)
kortMA2:=Mov(close,5,s)
kortMA3:=Mov(close,20,s)
kortMAner1:=Lt(LlvBars(kortMA1,2),1)
kortMAner2:=Lt(LlvBars(kortMA2,2),1)
kortMAner3:=Lt(LlvBars(kortMA3,2),1)
slowrsi1:=Mov(Mov(Rsi(4),15,e),5,s)
slowrsi2:=Mov(Mov(Rsi(40),15,e),5,s)
fallRSI1:=Lt(LlvBars(slowrsi1,2),1)
fallRSI2:=Lt(LlvBars(slowrsi2,2),1)
exponerad:=0
oexponerad:=Le(Portfolio(v),0)
bband:=Sub(BolBands(20,2.0,l),0.5)
okband:=Not(Hhv(Lt(l,bband),1))
mt1:=Mult(Sub(market(c),Frac(d)),1440)
mt2:=Ge(mt1,22)
tidnu:=Frac(DATE())
klocka:=Frac(d)
kl10:=0.425
inpådagen:=gt(klocka,kl10)
upperband:=BolBands(20,2.0,u)
spik:=Hhv(Gt(h,Add(upperband,0.8)),2)
blankläge1:=Hhv(And(spik,Lt(c,upperband)),4)
totalt:=Mult(tidnu,1440)
rest:=Mod(totalt,10)
tidsignal:=Gt(rest,0) {ändra 9 till noll för att se signaler}
i10(
blankläge2=And(And(blankläge1,fallRSI1),Gt(slowrsi1,20))
högRSI=And(And(And(Hhv(Gt(slowrsi2,40),40),fallRSI1),regner1),Lt(rgln1,rgln2))
okrsi=And(Or(fallRSI1,Gt(slowrsi1,-30)),And(And(Gt(slowrsi1,-90),fallRSI2),Gt(slowrsi2,-60)))
sälj1=And(And(regner1,kortMAner1),And(kortMAner2,kortMAner3))
sälj2=And(Or(högRSI,And(Lt(rgln1,rgln4),regner2)),And(regner3,And(sälj1,Lt(rgln1,rgln2))))
sälj3=And(Or(exponerad,And(okrsi,And(sälj2,oexponerad))),tidsignal)
sälj4=And(And(Or(blankläge2,And(okband,sälj3)),inpådagen),mt2)
)
sl) Forum stäng blankning
{lastsell:=LastTrade(S,P)}
lastsell:=687
slowrsi1:=Mov(Mov(Rsi(4),15,e),5,s)
kortMAupp:=Lt(HhvBars(Mov(c,4,s),2),1)
rsiupp:=Lt(HhvBars(slowrsi1,2),1)
profit:=Abs(Sub(lastsell,c))
faktor1:=Add(Div(Mult(Mult(profit,profit),profit),6),8)
i10(
faktor2=If(Gt(faktor1,200),200,faktor1)
rgln1=Mov(LinReg(c,faktor2:200),6,s)
regupp1=Lt(HhvBars(rgln1,2),1)
signal=And(rsiupp,And(regupp1,kortMAupp))
)
Comment