Nu när simulerande av Stoploss är på tapeten i en annan tråd tänkte jag passa på att återomma till ett gammalt projekt. Här finns tidigare info om stoppen...
Scriptet för att simulera i analysbänken ser ut enligt nedan:
bakåt1:=300
{perioder bakåt som används för att kolla var köpet skedde}
flytfaktorstd:=5
{punkter under högsta toppen sedan köp, innan vinst2 är uppfyllt}
flytfaktorvinst:=8
{punkter under högsta toppen sedan köp om vinst2 är uppfyllt}
absfaktorförlust:=3
{fast stoppnivå under köpkurs om terminen sjunker}
absfaktorvinst:=1
{fast stoppnivå över köpkurs som aktiveras om vinst1 är sant}
vinstfaktor1:=3.5
{vinstpunkter gräns för när absfaktorvinst kopplas in}
vinstfaktor2:=15
{vinstpunkter gräns för när flytfaktorvinst kopplas in}
vinst1:=ge(highlevel,add(köpkurs,vinstfaktor1))
{sant om högsta värdet efter inköp är större än/lika med köpkursen+vinstfaktor1, aktiverar absfaktorvinst}
vinst2:=ge(highlevel,add(köpkurs,vinstfaktor2))
{sant om högsta värdet efter inköp är större än/lika med köpkursen+vinstfaktor2, aktiverar flytfaktorvinst}
Köpentry:=
{lägg in eget köpscript, samma som på köpsidan i optimeringsbänken}
lasttradek=Retval(if(And(köpentry,or(ge(getval(4),getval(3)),eqv(getval(4),0))),D,Getval(3)),3)
efterinköp=if(ge(d,getval(3)),h,0)
highlevel=hhv(efterinköp,bakåt1)
{högsta värdet på kursen efter köp}
stoppok=gt(getval(3),getval(4))
{innehav finns?}
köpkurs=find(And(ge(d,getval(3)),lt(ref(d,1),getval(3))),bakåt1,c,1)
flytnivå=if(vinst2,flytfaktorvinst,flytfaktorstd)
{Om vinst2 är uppnådd använd flytfaktorvinst, annars flytfaktorstd}
absnivåer=if(vinst1,add(köpkurs,absfaktorvinst),sub(köpkurs,absfaktorförlust))
{om vinst1 är sant använd absfaktorvinst, annars absfaktorförlust}
stoppkurva=mx(sub(highlevel,flytnivå),absnivåer)
{värdet av det som är störst, flytnivå eller absnivå}
stoppsälj=lt(l,stoppkurva)
{stoppok är sant och lägsta är mindre än stoppkurvan}
lasttrades=Retval(if(And(stoppsälj,gt(getval(3),getval(4))),D,Getval(4)),4)
draw(if(stoppok,stoppkurva,0),2,rqb)
and(stoppok,stoppsälj)
---------
Har stoppat in mitt köpscript i stoplossen och kört motsvarande på köpsidan i analysbänken. Nånting stämmer tydligen inte... Har kört med samma parametrar som ovan men t.ex så verkar inte den absoluta stoppen 3 punkter under köp fungera. Verkar ligga i köpt position tills det blir en ny köp...? Vad är fel?
2008-11-13 17:01:00 OMXS308L K 642,25 Innehav
2008-11-18 15:40:00 OMXS308L S 628,25 -14,00 -2,24 24:09:00
2008-11-18 15:41:00 OMXS308L K 630,00 Innehav
2008-11-18 16:18:00 OMXS308L S 627,75 -2,25 -0,42 00:37:00
2008-11-18 16:18:00 OMXS308L K 627,75 Innehav
2008-11-21 10:07:00 OMXS308L S 591,75 -36,00 -5,79 19:19:00
2008-11-21 10:07:00 OMXS308L K 593,00 Innehav
2008-11-21 11:00:00 OMXS308L S 590,25 -2,75 -0,52 00:53:00
2008-11-21 11:01:00 OMXS308L K 591,75 Innehav
Mvh Emil
Scriptet för att simulera i analysbänken ser ut enligt nedan:
bakåt1:=300
{perioder bakåt som används för att kolla var köpet skedde}
flytfaktorstd:=5
{punkter under högsta toppen sedan köp, innan vinst2 är uppfyllt}
flytfaktorvinst:=8
{punkter under högsta toppen sedan köp om vinst2 är uppfyllt}
absfaktorförlust:=3
{fast stoppnivå under köpkurs om terminen sjunker}
absfaktorvinst:=1
{fast stoppnivå över köpkurs som aktiveras om vinst1 är sant}
vinstfaktor1:=3.5
{vinstpunkter gräns för när absfaktorvinst kopplas in}
vinstfaktor2:=15
{vinstpunkter gräns för när flytfaktorvinst kopplas in}
vinst1:=ge(highlevel,add(köpkurs,vinstfaktor1))
{sant om högsta värdet efter inköp är större än/lika med köpkursen+vinstfaktor1, aktiverar absfaktorvinst}
vinst2:=ge(highlevel,add(köpkurs,vinstfaktor2))
{sant om högsta värdet efter inköp är större än/lika med köpkursen+vinstfaktor2, aktiverar flytfaktorvinst}
Köpentry:=
{lägg in eget köpscript, samma som på köpsidan i optimeringsbänken}
lasttradek=Retval(if(And(köpentry,or(ge(getval(4),getval(3)),eqv(getval(4),0))),D,Getval(3)),3)
efterinköp=if(ge(d,getval(3)),h,0)
highlevel=hhv(efterinköp,bakåt1)
{högsta värdet på kursen efter köp}
stoppok=gt(getval(3),getval(4))
{innehav finns?}
köpkurs=find(And(ge(d,getval(3)),lt(ref(d,1),getval(3))),bakåt1,c,1)
flytnivå=if(vinst2,flytfaktorvinst,flytfaktorstd)
{Om vinst2 är uppnådd använd flytfaktorvinst, annars flytfaktorstd}
absnivåer=if(vinst1,add(köpkurs,absfaktorvinst),sub(köpkurs,absfaktorförlust))
{om vinst1 är sant använd absfaktorvinst, annars absfaktorförlust}
stoppkurva=mx(sub(highlevel,flytnivå),absnivåer)
{värdet av det som är störst, flytnivå eller absnivå}
stoppsälj=lt(l,stoppkurva)
{stoppok är sant och lägsta är mindre än stoppkurvan}
lasttrades=Retval(if(And(stoppsälj,gt(getval(3),getval(4))),D,Getval(4)),4)
draw(if(stoppok,stoppkurva,0),2,rqb)
and(stoppok,stoppsälj)
---------
Har stoppat in mitt köpscript i stoplossen och kört motsvarande på köpsidan i analysbänken. Nånting stämmer tydligen inte... Har kört med samma parametrar som ovan men t.ex så verkar inte den absoluta stoppen 3 punkter under köp fungera. Verkar ligga i köpt position tills det blir en ny köp...? Vad är fel?
2008-11-13 17:01:00 OMXS308L K 642,25 Innehav
2008-11-18 15:40:00 OMXS308L S 628,25 -14,00 -2,24 24:09:00
2008-11-18 15:41:00 OMXS308L K 630,00 Innehav
2008-11-18 16:18:00 OMXS308L S 627,75 -2,25 -0,42 00:37:00
2008-11-18 16:18:00 OMXS308L K 627,75 Innehav
2008-11-21 10:07:00 OMXS308L S 591,75 -36,00 -5,79 19:19:00
2008-11-21 10:07:00 OMXS308L K 593,00 Innehav
2008-11-21 11:00:00 OMXS308L S 590,25 -2,75 -0,52 00:53:00
2008-11-21 11:01:00 OMXS308L K 591,75 Innehav
Mvh Emil
Comment