If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.
Hur långt tillbaka försöker du simulera? Det kan bli problem om du simulerar flera aktier samtidigt för långt tillbaka pga ett minnesproblem som vi håller på att rätta till. Prova en kortare period och se om det blir skillnad.
Hur långt tillbaka försöker du simulera? Det kan bli problem om du simulerar flera aktier samtidigt för långt tillbaka pga ett minnesproblem som vi håller på att rätta till. Prova en kortare period och se om det blir skillnad.
Jag körde från 15/8-6/9 blir inget, från 2/9-6/9 samma 5/9-6/9 heller inget svaret blir hela tiden detta: Initiering analys misslyckades. Troligen saknade eller felaktiga diskfiler.
100.000%
Arbetad tid: 78ms
1021 gjorda perioder
0 skapade signaler
Tid:20130908 10:53:59
Hm, men har du intradaykurser för alla aktier du kör?
Ja det ändrade jag för någon vecka sedan och fyllde på från kundservice, large-, mid-, smalcap och aktietorget plus ngm har kört med både ibockat och utan. har kört bänken i minut och i 5 sek men ger samma resultat.
Edit: men jag kan naturligtvis ha gjort något som är fel ändå det finns ju många ställen att klick in felaktigheter på...
Du skulle ju kunna prova att skapa helt nytt projekt i bänken ifall något är korrupt med det första. Annars ska det bara vara att fylla i insatsbelopp i Indata script, fält 21 (Standardmodell insats), välja aktier att köra på i bänken och åka. Börja med ett mindre antal så att du ser att det fungerar först.
Jag provade på ungefär motsvarande OMXS30-aktierna.
Jag valde två parallella ordermodeller i bänken, ett konto med 59 kr minimicourtage, 0.04%. Viktigt att kryssa för Styrs helt av ordermodeller också.
så håller strategin alltid position till strax innan stängning. Tidigare kunde den även sälja under dagen om det gått minst 5 dagar sedan inköp. Men lite simuleringar visar att det statistiskt blir bättre att hålla hela dagen.
Jag hade också samma problem att köar den i bänken men löste det genom att köra ett helt nytt projekt.
Modellen ser intressant ut och den verkar rulla på bra. Det skulle vara väldigt intressant att vända på den och se resultatet om man blankar aktier som toppat ur. Om även det skulle funka så skulle det ju vara optimalt om man hade en portfölj som låg både lång och kort.
Simulerade från 28 maj 2012 fram till idag. avg trade : 0,37% och avg tid i marknad 63 timmar. Vässning behövs mao.
En 5dagar d-stat exit ger istället ett litet minusresultat.
Känns som det behövs lite filter för att den kan jobba med acceptabel edge. Ambitionen för de flesta här är väl att ligga någonstans mot 0,20% per tradingdag i edge.
ABB
ALFA
ASSA B
ATCO A
BOL
ELUX B
ERIC B
LUPE
SKF B
SWED A
TEL2 B
TLSN
VOLV B
från 1 sept 2011 till nu och fick 140 940 kr i avkastning netto med 100 000 kr som insats i varje affär. 133 affärer gjordes, vilket blir 1060 kr i genomsnittsvinst per trade, eller en dryg procent om man så vill.
RSI-modellen i den andra tråden ger ännu högre vinst/trade, 241 kSEK på 159 affärer, dvs ca 1,51% netto.
Sitter och pillar med denna modell och får fina resultat i bänken men tycker ändå när jag kollar närmare att den tar trades den inte borde. Vid flera tillfällen tar den trades fast aktien handlats under 50 dagars. Tex fick jag köp i Meda igår som handlar under 50 dagars glidande. Ska den göra det?
Jo, den kan handla även om kursen är under MA50, det är bara kriterierna som ändras lite om kursen varit över MA50 i minst 5 dagar. Då krävs inte lika mycket nedställ på MFI-kurvan för köp. Annars missar systemet många fina trades i upptrend.
Det går säkert att hitta andra villkor som stoppar en del sämre trades.
{ testa om priset varit över MA50 i minst 5 dagar }
upptrend=llv(gt(c,ma50),5)
{ avgör om gräns för att trigga signal på MFI ska vara 1 eller 10 }
styrka=and(upptrend,gt(macd2(n),macd2(t)))
mfgräns=if(styrka,10,1)
{ läs av aktuell rating från celler 830-834}
rating1=getgvar(830)
rating2=getgvar(831)
rating3=getgvar(832)
rating4=getgvar(833)
{ läs av aktiellt ID för kandidater }
crc1=getgvar(835)
crc2=getgvar(836)
crc3=getgvar(837)
crc4=getgvar(838)
{ räkna ut aktuell rating för den aktie scriptet exekveras på just nu }
rate1=div(hhv(h,10),llv(l,10))
rate2=topbars(lt(c,ma50),100,1)
rate3=mult(mult(3,rate1),rate2)
{ definiera klockslag då rating testas och skrivs till celler följt av själva handeln minuten efter}
kl1720=le(mult(1440,sub(market(c),frac(date()))),8)
kl1719=and(le(mult(1440,sub(market(c),frac(date()))),9),not(kl1720))
ej_innehav=le(portfolio(v),0)
{ köpsignal definieras som att MFI igår ska vara under gräns 1 eller 10, och högre idag}
botten=and(aref(lt(mval,mfgräns),1),gt(mval,5))
högre_rate=gt(mult(and(ej_innehav,botten),rate3),rating1)
{ testa om aktuell aktie har köpsignal och högre rating än den högsta lagrade värdet och skriv i så fall det nya högsta värdet till call830 samt flytta de tidigare värderna en cell bakåt så att bästa kandidaten alltid finns i cell 830 - skriv samtidigt ID i motsvarande celler 835 - 839}
skriv_rate=and(högre_rate,kl1719)
setgvarif(rate3,830,skriv_rate)
setgvarif(rating1,831,skriv_rate)
setgvarif(rating2,832,skriv_rate)
setgvarif(rating3,833,skriv_rate)
setgvarif(rating4,834,skriv_rate)
setgvarif(crcid(),835,skriv_rate)
setgvarif(crc1,836,skriv_rate)
setgvarif(crc2,837,skriv_rate)
setgvarif(crc3,838,skriv_rate)
setgvarif(crc4,839,skriv_rate)
{klockslag då alla celler nollställs direkt efter öppning}
nolltid=lt(frac(date()),0.377)
nollställ0=setgvarif(0,830,nolltid)
nollställ1=setgvarif(0,831,nolltid)
nollställ2=setgvarif(0,832,nolltid)
nollställ3=setgvarif(0,833,nolltid)
nollställ4=setgvarif(0,834,nolltid)
nollställ5=setgvarif(0,835,nolltid)
{läs av ID för sparade köpkandidater och jämför med CRC ID för den aktie scriptet exekveras på just nu}
aktie1=getgvar(835)
aktie2=getgvar(836)
aktie3=getgvar(837)
aktie4=getgvar(838)
aktie5=getgvar(839)
kandidat_a=if(gt(aktie1,0),aktie1,aktie2)
kandidat_b=if(gt(kandidat_a,0),kandidat_a,aktie3)
kandidat_c=if(gt(kandidat_b,0),kandidat_b,aktie4)
kandidat_d=if(gt(kandidat_c,0),kandidat_c,aktie5)
{ koppla ihop logiska villkor och testa om CRC ID är lika med sparad kandidat. Köp i så fall och nollställ cellen så att nästa scriptkörningscykel läser nästa sparade kandidat}
köp1=and(and(botten,ej_innehav),and(öppet,kl1720))
köp2=and(and(köp1,eqv(crcid(),kandidat_d)),gt(kandidat_d,0))
setgvarif(0,835,or(nolltid,and(eqv(crcid(),aktie1),köp2)))
setgvarif(0,836,or(nolltid,and(eqv(crcid(),aktie2),köp2)))
setgvarif(0,837,or(nolltid,and(eqv(crcid(),aktie3),köp2)))
setgvarif(0,838,or(nolltid,and(eqv(crcid(),aktie4),köp2)))
setgvarif(0,839,or(nolltid,and(eqv(crcid(),aktie5),köp2)))
mult(köp2,10)
Häpp! Lite ändring i säljvillkoren ledde till 530% vinst på testprojektet istället för ca 350% tidigare. Jag har kört från 2009 till nu med 100 000 kr fast insats på följande aktier:
ABB
ALFA
ASSA B
ATCO A
BOL
ELUX B
ERIC B
GETI B
LUPE
NDA SEK
SHB A
SKF B
SSAB A
TLSN
VOLV B
{ testa om priset varit över MA50 i minst 5 dagar }
upptrend=llv(gt(c,ma50),5)
{ avgör om gräns för att trigga signal på MFI ska vara 1 eller 10 }
styrka=and(upptrend,gt(macd2(n),macd2(t)))
mfgräns=if(styrka,10,1)
{ läs av aktuell rating från celler 830-834}
rating1=getgvar(830)
rating2=getgvar(831)
rating3=getgvar(832)
rating4=getgvar(833)
{ läs av aktiellt ID för kandidater }
crc1=getgvar(835)
crc2=getgvar(836)
crc3=getgvar(837)
crc4=getgvar(838)
{ räkna ut aktuell rating för den aktie scriptet exekveras på just nu }
rate1=div(hhv(h,10),llv(l,10))
rate2=topbars(lt(c,ma50),100,1)
rate3=mult(mult(3,rate1),rate2)
{ definiera klockslag då rating testas och skrivs till celler följt av själva handeln minuten efter}
kl1720=le(mult(1440,sub(market(c),frac(date()))),8)
kl1719=and(le(mult(1440,sub(market(c),frac(date()))),9),not(kl1720))
ej_innehav=le(portfolio(v),0)
{ köpsignal definieras som att MFI igår ska vara under gräns 1 eller 10, och högre idag}
botten=and(aref(lt(mval,mfgräns),1),gt(mval,5))
högre_rate=gt(mult(and(ej_innehav,botten),rate3),rating1)
{ testa om aktuell aktie har köpsignal och högre rating än den högsta lagrade värdet och skriv i så fall det nya högsta värdet till call830 samt flytta de tidigare värderna en cell bakåt så att bästa kandidaten alltid finns i cell 830 - skriv samtidigt ID i motsvarande celler 835 - 839}
skriv_rate=and(högre_rate,kl1719)
setgvarif(rate3,830,skriv_rate)
setgvarif(rating1,831,skriv_rate)
setgvarif(rating2,832,skriv_rate)
setgvarif(rating3,833,skriv_rate)
setgvarif(rating4,834,skriv_rate)
setgvarif(crcid(),835,skriv_rate)
setgvarif(crc1,836,skriv_rate)
setgvarif(crc2,837,skriv_rate)
setgvarif(crc3,838,skriv_rate)
setgvarif(crc4,839,skriv_rate)
{klockslag då alla celler nollställs direkt efter öppning}
nolltid=lt(frac(date()),0.377)
nollställ0=setgvarif(0,830,nolltid)
nollställ1=setgvarif(0,831,nolltid)
nollställ2=setgvarif(0,832,nolltid)
nollställ3=setgvarif(0,833,nolltid)
nollställ4=setgvarif(0,834,nolltid)
nollställ5=setgvarif(0,835,nolltid)
{läs av ID för sparade köpkandidater och jämför med CRC ID för den aktie scriptet exekveras på just nu}
aktie1=getgvar(835)
aktie2=getgvar(836)
aktie3=getgvar(837)
aktie4=getgvar(838)
aktie5=getgvar(839)
kandidat_a=if(gt(aktie1,0),aktie1,aktie2)
kandidat_b=if(gt(kandidat_a,0),kandidat_a,aktie3)
kandidat_c=if(gt(kandidat_b,0),kandidat_b,aktie4)
kandidat_d=if(gt(kandidat_c,0),kandidat_c,aktie5)
{ koppla ihop logiska villkor och testa om CRC ID är lika med sparad kandidat. Köp i så fall och nollställ cellen så att nästa scriptkörningscykel läser nästa sparade kandidat}
köp1=and(and(botten,ej_innehav),and(öppet,kl1720))
köp2=and(and(köp1,eqv(crcid(),kandidat_d)),gt(kandidat_d,0))
setgvarif(0,835,or(nolltid,and(eqv(crcid(),aktie1),köp2)))
setgvarif(0,836,or(nolltid,and(eqv(crcid(),aktie2),köp2)))
setgvarif(0,837,or(nolltid,and(eqv(crcid(),aktie3),köp2)))
setgvarif(0,838,or(nolltid,and(eqv(crcid(),aktie4),köp2)))
setgvarif(0,839,or(nolltid,and(eqv(crcid(),aktie5),köp2)))
retval(2,0)
Comment