Vad kan det vara för fel när "bänken" sluta signalera köp/sälj efter första testdagen plus en köp/sälj dag två sedan står den kvar resten av testperioden på det res som blev dag två
Allmänt meddelande
Collapse
No announcement yet.
Analysbänken
Collapse
X
-
Ursprungligen postat av seadragon Visa inläggOm du vill kan du lägga upp scripten så jag kan kolla. Kolla först att du har tagit bort antalskontrollen vid backtesting. Antingen kan du sätt villkoret för portfolio(v) till
and(1,1) eller tabort det villkoret vid backtesting.
ejstängning:=ge(mult(1440,sub(market(c),frac(date()))),10)
oscillator:=Osc(c,3,31,s)
oscupp:=Lt(HhvBars(oscillator,2),1)
momentum:=Mo(7)
momupp:=Lt(HhvBars(momentum,2),1)
ejlång:=Le(Portfolio(v),0)
släpporder:=Eqv(GetGVar(501),1)
{MACD}
m1:=mov(c,12,e)
m2:=mov(c,26,e)
mcd1:=sub(m1,m2)
mtrig1:=mov(mcd1,9,e)
mdok:=Gt(mcd1,mtrig1)
i10(
köp1=And(And(And(And(mdok,momupp),ejlång),{släpporder}1),{oscupp}1)
draw(mult(köp1,20),2,gsbF)
köp2=And(Aref(köp1,1),ejstängning)
köp2
)
sälj
ejstängning:=ge(mult(1440,sub(market(c),frac(date()))),10)
oscillator:=Osc(c,3,31,s)
oscner:=Lt(LlvBars(oscillator,2),1)
momentum:=Mo(7)
momner:=Lt(LlvBars(momentum,2),1)
ejkort:=Ge(Portfolio(v),0)
släpporder:=Eqv(GetGVar(500),0)
{MACD}
m1:=mov(c,12,e)
m2:=mov(c,26,e)
mcd1:=sub(m1,m2)
mtrig1:=mov(mcd1,9,e)
mdok:=Lt(mcd1,mtrig1)
i10(
blank1=And(And(And(And(mdok,momner),ejkort),{släpporder}1),{oscner}1)
draw(mult(blank1,20),3,rsbF)
blank2=And(Aref(blank1,1),ejstängning)
blank2
)
Berra
Comment
-
Ursprungligen postat av seadragon Visa inläggVid backtesting ejkort:=and(1,1) och ejlång:=and(1,1)
Dessutom vet jag ej om du vill stänga på kvällen.
Och i10 till olika tider men det blir väldigt konstigt när bänken inte gör det den ska då vet man inte vad jag ska tro. Men det verkar omöjligt att hitta något som ger vinst, det som gav vinst i går stämmer inte idag osv....lite hopplöst svårt att hitta något som fungerar.Berra
Comment
-
Kör innehav-kontant-innehav
Long-Exit Long
Short-Exit Short (använd closekurser för Short)
Om du ändrar i tex long bör du även ändra i Exit Short, samma för short och exit long.
Ja varierande resultat är svårt att hantera. Antingen kan du försöka hitta parametervärden och intradayprefix som ger bäst resultat över tid och vara konsekvent. Eller så försöker du hitta bästa värden för rådande marknadsklimat. Jag ska köra lite testing på din modell i slutet av veckan.
LONG, backtesting
===========
ejstängning:=ge(mult(1440,sub(market(c),frac(date()))),10)
oscillator:=Osc(c,3,31,s)
oscupp:=Lt(HhvBars(oscillator,2),1)
momentum:=Mo(7)
momupp:=Lt(HhvBars(momentum,2),1)
ejlång:=and(1,1)
{MACD}
m1:=mov(c,12,e)
m2:=mov(c,26,e)
mcd1:=sub(m1,m2)
mtrig1:=mov(mcd1,9,e)
mdok:=Gt(mcd1,mtrig1)
i10(
köp1=And(And(And(And(mdok,momupp),ejlång),{släpporder}1),{oscupp}1)
draw(mult(köp1,20),2,gsbF)
köp2=And(Aref(köp1,1),ejstängning)
köp2
)
EXIT LONG-Backtesting
==============
ejstängning:=ge(mult(1440,sub(market(c),frac(date()))),10)
endofday:=le(mult(1440,sub(market(c),frac(date()))),7)
oscillator:=Osc(c,3,31,s)
oscner:=Lt(LlvBars(oscillator,2),1)
momentum:=Mo(7)
momner:=Lt(LlvBars(momentum,2),1)
ejkort:=and(1,1)
släpporder:=Eqv(GetGVar(500),0)
{MACD}
m1:=mov(c,12,e)
m2:=mov(c,26,e)
mcd1:=sub(m1,m2)
mtrig1:=mov(mcd1,9,e)
mdok:=Lt(mcd1,mtrig1)
i10(
blank1=And(And(And(And(mdok,momner),ejkort),{släpporder}1),{oscner}1)
draw(mult(blank1,20),3,rsbF)
blank2=Or(And(Aref(blank1,1),ejstängning),endofday)
blank2
)
SHORT-Backtesting
==============
ejstängning:=ge(mult(1440,sub(market(c),frac(date()))),10)
oscillator:=Osc(c,3,31,s)
oscner:=Lt(LlvBars(oscillator,2),1)
momentum:=Mo(7)
momner:=Lt(LlvBars(momentum,2),1)
ejkort:=and(1,1)
släpporder:=Eqv(GetGVar(500),0)
{MACD}
m1:=mov(c,12,e)
m2:=mov(c,26,e)
mcd1:=sub(m1,m2)
mtrig1:=mov(mcd1,9,e)
mdok:=Lt(mcd1,mtrig1)
i10(
blank1=And(And(And(And(mdok,momner),ejkort),{släpporder}1),{oscner}1)
draw(mult(blank1,20),3,rsbF)
blank2=And(Aref(blank1,1),ejstängning)
blank2
)
EXIT SHORT, backtesting
===========
ejstängning:=ge(mult(1440,sub(market(c),frac(date()))),10)
endofday:=le(mult(1440,sub(market(c),frac(date()))),7)
oscillator:=Osc(c,3,31,s)
oscupp:=Lt(HhvBars(oscillator,2),1)
momentum:=Mo(7)
momupp:=Lt(HhvBars(momentum,2),1)
ejlång:=and(1,1)
{MACD}
m1:=mov(c,12,e)
m2:=mov(c,26,e)
mcd1:=sub(m1,m2)
mtrig1:=mov(mcd1,9,e)
mdok:=Gt(mcd1,mtrig1)
i10(
köp1=And(And(And(And(mdok,momupp),ejlång),{släpporder}1),{oscupp}1)
draw(mult(köp1,20),2,gsbF)
köp2=Or(And(Aref(köp1,1),ejstängning),endofday)
köp2
)
Comment
-
Genom att tex bara ta longa positioner när trenden är uppåt går det att förbättra resultatet. Ändrade lite i parametervärderna.
LONG - Backtesting
===============
ejstängning:=ge(mult(1440,sub(market(c),frac(date()))),10)
oscillator:=Osc(c,5,25,s)
oscupp:=Lt(HhvBars(oscillator,2),1)
momentum:=Mo(7)
momupp:=Lt(HhvBars(momentum,2),1)
ejlång:=and(1,1)
{MACD}
m1:=mov(c,12,e)
m2:=mov(c,26,e)
mcd1:=sub(m1,m2)
mtrig1:=mov(mcd1,9,e)
mdok:=Gt(mcd1,mtrig1)
dagskurs=cmpref(c,1,A)
läge1=gt(mov(dagskurs,10,s),mov(dagskurs,30,e))
i30(
köp1=And(And(And(And(mdok,momupp),ejlång),{släpporder}1),{oscupp}1)
draw(mult(köp1,20),2,gsbF)
köp2=And(And(Aref(köp1,1),ejstängning),läge1)
köp2
)
Comment
-
Jag föstår inte riktigt hur jag ska göra med dina ändringar. Men när jag kör med de första skripten från 111102-111114 ser det ut så här fast det finns många köp och sälj markeringar 11-11-09 - 11-11-14 men det slutar av någon anledning nionde eller tredje?
30 min
09:00:00 OMXS301K K 953,75 Innehav
2011-11-03 15:00:00 OMXS301K S 970,00 16,25 1,70 14:30:00
2011-11-08 10:30:00 OMXS301K K 978,25 -8,25 -0,85 16:30:00
2011-11-08 16:30:00 OMXS301K S 971,25 -7,00 -0,72 06:00:00
2011-11-09 15:59:00 OMXS301K K 944,50 26,75 2,75 07:59:00
15 min
2011-11-02 09:14:00 OMXS301K K 960,50 Innehav
2011-11-02 11:00:00 OMXS301K S 944,25 -16,25 -1,69 01:46:00
2011-11-02 13:15:00 OMXS301K K 954,00 -9,75 -1,03 02:15:00
2011-11-03 09:14:00 OMXS301K S 952,50 -1,50 -0,16 04:29:00Berra
Comment
-
-
Hej Sedragon nu fungerade det med ett gott resultat över fem dagar i20 och alla kontroller öppna men vad det blir i verkligheten och i morgon är ju en annan sak, jag hade inställningar så som du beskrev.
Köpscript: sl) Berras köp MACD med stäng 17,17
Säljscript: sl) Berras sälj MACD med stäng 17,17
2011-11-09 14:00:00 OMXS301K K 947,50 17,50 1,81 03:41:00
2011-11-10 15:40:00 OMXS301K S 949,25 1,75 0,18 10:10:00
2011-11-11 09:40:00 OMXS301K K 953,75 -4,50 -0,47 02:30:00
2011-11-14 10:40:00 OMXS301K S 975,25 21,50 2,25 09:30:00
2011-11-15 11:19:00 OMXS301K K 957,50 17,75 1,82 09:09:00
2011-11-15 11:39:00 OMXS301K S 953,00 -4,50 -0,47 00:20:00
2011-11-15 14:00:00 OMXS301K K 952,75 0,25 0,03 02:21:00
2011-11-09 10:19 - 2011-11-15 00:00 OMXS301K 5,15% 20:00:00 17:41:00
37:41:00 04:49:00 47,06 41,61 88,67 11,33
--------------------------------
Totalt Avkastning 49.75 pkt 5.15% på 7 affärer under 37:41:00 timmarLast edited by Berra; 2011-11-15, 18:39.Berra
Comment
-
Ursprungligen postat av seadragon Visa inläggVad menar du med alla kontroller öppna?
Kör du med ett köp- och ett säljscript eller 4st(köp-exit köp, sälj-exit sälj)?
köp
ejstängning:=ge(mult(1440,sub(market(c),frac(date()))),10)
oscillator:=Osc(c,3,31,s)
oscupp:=Lt(HhvBars(oscillator,2),1)
momentum:=Mo(7)
momupp:=Lt(HhvBars(momentum,2),1)
ejlång:=Le(Portfolio(v),0)
släpporder:=Eqv(GetGVar(501),1)
{MACD}
m1:=mov(c,12,e)
m2:=mov(c,26,e)
mcd1:=sub(m1,m2)
mtrig1:=mov(mcd1,9,e)
mdok:=Gt(mcd1,mtrig1)
i20(
köp1=And(And(And(And(mdok,momupp),ejlång),{släpporder}1),oscupp)
draw(mult(köp1,20),2,gsbF)
köp2=And(Aref(köp1,1),ejstängning)
köp2
)
sälj
ejstängning:=ge(mult(1440,sub(market(c),frac(date()))),10)
oscillator:=Osc(c,3,31,s)
oscner:=Lt(LlvBars(oscillator,2),1)
momentum:=Mo(7)
momner:=Lt(LlvBars(momentum,2),1)
ejkort:=Ge(Portfolio(v),0)
släpporder:=Eqv(GetGVar(500),0)
{MACD}
m1:=mov(c,12,e)
m2:=mov(c,26,e)
mcd1:=sub(m1,m2)
mtrig1:=mov(mcd1,9,e)
mdok:=Lt(mcd1,mtrig1)
i20(
blank1=And(And(And(And(mdok,momner),ejkort),{släpporder}1),oscner)
draw(mult(blank1,20),3,rsbF)
blank2=And(Aref(blank1,1),ejstängning)
blank2
)Berra
Comment
-
Ok,
Tänk bara på att backtesting inte fungerar när du har ett innehav, long eller short. Innehavskontrollen måste tas bort vid innehav eller sättas till and(1,1). Tänk på att sista traden styr öppningen nästa dag. Om du tex får en sen köp och sedan faller marknaden kraftigt vid öppningen så blir resultatet dåligt. Stänger du vid stängning blir backtesting missvisande. Det kan vara så att sista traden är en bra indikator på öppningen, vilket måste testas för att hålla i längden.
Comment
Comment