Pga stundande jobb inom finansbranschen så kommer jag tvingas avsluta mitt konto hos Autostocks. Jag tänkte därför ge forumet några julklappar i form av strategier jag kodat och använder live.
Om man vidareutvecklar koden, så önskar jag att man delar med sig i den här tråden. Andra strategin är ett mean reversionsystem för DAX. Ändra max_position för önskad total positionsstorlek. Klar att koppla till minisar med köp och sälj-antal script.
KÖPSCRIPT
{Comeback 1.0 #2}
klocka:=frac(date())
grid:=atr(5)
max_grid:=10
valuta:=cmpref(c,0,a)
Max_position:=1000000
köpantal=int(mult(div(div(mult(max_position,valuta),max_grid),c),valuta))
innehav1=eqv(portfolio(v),0)
risk=if(lt(c,mov(c,200,s)),5,4)
filter1=or(gt(div(c,mov(c,200,s)),1.03),gt(div(mov(c,100,s),c),1.03))
filter2=and(ge(int(d),add(lasttrade(s,d),3)),eqv(portfolio(v),0))
signal1=lt(c,aref(llv(l,risk),3))
köp1=and(and(signal1,and(filter1,filter2)),innehav1)
setgvarif(0,402,köp1)
setgvarif(köpantal,404,köp1)
sälj_senast=gt(lasttrade(s,d),lasttrade(b,d))
stopp1=lt(getgvar(402),1)
size_snitt=if(gt(c,mov(c,100,s)),if(ge(portfolio(v),mult(4,getgvar(404))),2,6),if(ge(portfolio(v),mult(4,getgvar(404))),1,2))
size_öka=if(gt(c,mov(c,100,s)),if(ge(portfolio(v),mult(4,getgvar(404))),2,6),if(ge(portfolio(v),mult(4,getgvar(404))),1,2))
reenter=and(lt(c,sub(lasttrade(s,p),div(grid,1))),gt(portfolio(v),0))
köp2=or(and(gt(c,add(lasttrade(b,p),div(grid,size_öka))),gt(c,portfolio(p))),lt(c,sub(lasttrade(b,p),div(grid,size_snitt))))
{order}
order1=if(ge(portfolio(v),mult(getgvar(404),10)),0,if(sälj_senast,or(reenter,köp1),if(eqv(portfolio(v),0),köp1,köp2)))
draw(aref(llv(l,risk),3),4,rqb0)
mult(order1,1)
{@A(0,XX46894F2D)}
SÄLJSCRIPT
{Comeback 1.0 #1}
klocka:=frac(date())
grid:=atr(5)
tid1=gt(klocka,0.722)
ma1=mov(c,200,s)
ma2=mov(c,10,s)
innehav1=gt(portfolio(v),0)
size=if(gt(c,mov(c,100,s)),4,6)
momUPP=gt(c,sub(hhv(h,2),mx(mult(mult(0.2,mx(atr(20),atr(5))),0.25),1.25))) { 0.999))}
urskalning1=and(and(and(ge(portfolio(v),mult(size,getgvar(404))),gt(c,add(portfolio(p),div(grid,6)))),gt(c,add(lasttrade(b,p),div(grid,6)))),not(momup p))
urskalning2=and(and(gt(c,portfolio(p)),gt(c,add(lasttrade(s,p),div(grid,6)))),not(momupp))
varning=and(ge(portfolio(v),mult(10,getgvar(404))),gt(c,mult(portfolio(p),0.992)))
setgvarif(1,403,varning)
setgvarif(0,403,lt(portfolio(v),mult(10,getgvar(404))))
klimattarget=and(and(and(lt(c,ma1),gt(c,aref(hhv(c,3),1))),gt(c,portfolio(p))),lt(ma1,aref(ma1,1)))
stopp2=and(lt(c,mult(portfolio(p),0.988)),eqv(getgvar(403),1))
stopp1=or(or(and(lt(c,portfolio(p)),gt(c,aref(hhv(h,10),1))),stopp2),klimattarget)
setgvarif(1,402,stopp1)
sälj_senast=gt(lasttrade(s,d),lasttrade(b,d))
sälj1=or(and(innehav1,if(sälj_senast,urskalning2,urskalning1)),stopp1)
mult(sälj1,1)
KÖPANTAL
i1(
köpantal=mult(getgvar(404),1)
mult(köpantal,1)
)
SÄLJANTAL
i1(
stopp=eqv(1,getgvar(402))
sälj1=if(stopp,abs(portfolio(v)),getgvar(404))
mult(sälj1,1)
)
Om man vidareutvecklar koden, så önskar jag att man delar med sig i den här tråden. Andra strategin är ett mean reversionsystem för DAX. Ändra max_position för önskad total positionsstorlek. Klar att koppla till minisar med köp och sälj-antal script.
KÖPSCRIPT
{Comeback 1.0 #2}
klocka:=frac(date())
grid:=atr(5)
max_grid:=10
valuta:=cmpref(c,0,a)
Max_position:=1000000
köpantal=int(mult(div(div(mult(max_position,valuta),max_grid),c),valuta))
innehav1=eqv(portfolio(v),0)
risk=if(lt(c,mov(c,200,s)),5,4)
filter1=or(gt(div(c,mov(c,200,s)),1.03),gt(div(mov(c,100,s),c),1.03))
filter2=and(ge(int(d),add(lasttrade(s,d),3)),eqv(portfolio(v),0))
signal1=lt(c,aref(llv(l,risk),3))
köp1=and(and(signal1,and(filter1,filter2)),innehav1)
setgvarif(0,402,köp1)
setgvarif(köpantal,404,köp1)
sälj_senast=gt(lasttrade(s,d),lasttrade(b,d))
stopp1=lt(getgvar(402),1)
size_snitt=if(gt(c,mov(c,100,s)),if(ge(portfolio(v),mult(4,getgvar(404))),2,6),if(ge(portfolio(v),mult(4,getgvar(404))),1,2))
size_öka=if(gt(c,mov(c,100,s)),if(ge(portfolio(v),mult(4,getgvar(404))),2,6),if(ge(portfolio(v),mult(4,getgvar(404))),1,2))
reenter=and(lt(c,sub(lasttrade(s,p),div(grid,1))),gt(portfolio(v),0))
köp2=or(and(gt(c,add(lasttrade(b,p),div(grid,size_öka))),gt(c,portfolio(p))),lt(c,sub(lasttrade(b,p),div(grid,size_snitt))))
{order}
order1=if(ge(portfolio(v),mult(getgvar(404),10)),0,if(sälj_senast,or(reenter,köp1),if(eqv(portfolio(v),0),köp1,köp2)))
draw(aref(llv(l,risk),3),4,rqb0)
mult(order1,1)
{@A(0,XX46894F2D)}
SÄLJSCRIPT
{Comeback 1.0 #1}
klocka:=frac(date())
grid:=atr(5)
tid1=gt(klocka,0.722)
ma1=mov(c,200,s)
ma2=mov(c,10,s)
innehav1=gt(portfolio(v),0)
size=if(gt(c,mov(c,100,s)),4,6)
momUPP=gt(c,sub(hhv(h,2),mx(mult(mult(0.2,mx(atr(20),atr(5))),0.25),1.25))) { 0.999))}
urskalning1=and(and(and(ge(portfolio(v),mult(size,getgvar(404))),gt(c,add(portfolio(p),div(grid,6)))),gt(c,add(lasttrade(b,p),div(grid,6)))),not(momup p))
urskalning2=and(and(gt(c,portfolio(p)),gt(c,add(lasttrade(s,p),div(grid,6)))),not(momupp))
varning=and(ge(portfolio(v),mult(10,getgvar(404))),gt(c,mult(portfolio(p),0.992)))
setgvarif(1,403,varning)
setgvarif(0,403,lt(portfolio(v),mult(10,getgvar(404))))
klimattarget=and(and(and(lt(c,ma1),gt(c,aref(hhv(c,3),1))),gt(c,portfolio(p))),lt(ma1,aref(ma1,1)))
stopp2=and(lt(c,mult(portfolio(p),0.988)),eqv(getgvar(403),1))
stopp1=or(or(and(lt(c,portfolio(p)),gt(c,aref(hhv(h,10),1))),stopp2),klimattarget)
setgvarif(1,402,stopp1)
sälj_senast=gt(lasttrade(s,d),lasttrade(b,d))
sälj1=or(and(innehav1,if(sälj_senast,urskalning2,urskalning1)),stopp1)
mult(sälj1,1)
KÖPANTAL
i1(
köpantal=mult(getgvar(404),1)
mult(köpantal,1)
)
SÄLJANTAL
i1(
stopp=eqv(1,getgvar(402))
sälj1=if(stopp,abs(portfolio(v)),getgvar(404))
mult(sälj1,1)
)
Comment