Kom igenom till slut men vi undersöker om det finns fler issues med minnet vid långkörning.
Bra resultat i alla fall:
Totalt Avkastning 565271.07 kr 565.38% på 547 affärer under 3392:18:46 timmar
Av dessa blankat 0 st med avkastning 0.00 kr 0.00%
Innehav 342 st med vinst 1641353.13 kr 1642.77%
Innehav 205 st med förlust -1076082.00 kr -1077.39%
Blankning 0 st med vinst 0.00 kr 0.00%
Blankning 0 st med förlust 0.00 kr 0.00%
{ Standardmodell 3 dgr MFI }
{ 130917 }
{ definiera MFI-kurva }
mval=mov(mfi(3),3,e)
ma50=mov(c,50,s)
ma200=mov(c,200,s)
trend_ok=or(gt(c,ma200),gt(ma200,aref(ma200,1)))
{ 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 15 eller 10 }
styrka=and(upptrend,gt(macd2(n),macd2(t)))
mfgräns=if(styrka,15,10)
{ 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,50),llv(l,50))
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)
öppet=ge(mult(1440,sub(market(c),frac(date()))),6)
draw(mval,2,dcsvw)
draw(ma50,3,dgqb)
{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(and(köp1,eqv(crcid(),kandidat_d)),gt(kandidat_d,0)),trend_ok)
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)
mult(köp2,10)
{ Standardmodell 3 dgr MFI }
{ 130914 }
köpdag=lasttrade(b,d)
{ definiera MFI-kurva och 50 dgr medel }
mval=mov(mfi(3),3,e)
ma50=mov(c,50,s)
draw(ma50,2,rqb1)
{ Testa om priset är under MA50 }
underma=lt(c,ma50)
{ Testa om priset varit under MA50 någon gång de senaste 60 dagarna }
svaghet=hhv(lt(c,ma50),60)
{ Bestäm gräns för MFI baserat på om priset är över eller under MA50 }
mfgräns=if(underma,80,99)
{ Definiera topp hos MFI }
topp=and(aref(gt(mval,mfgräns),1),or(lt(c,aref(l,1)),lt(mval,95)))
{ Säkerställ att köp ej skett idag }
ej_köp_idag=gt(int(d),köpdag)
{ Testa om det gått minst 5 dagar sedan köp }
5dgr=lt(köpdag,cmpref(d,5,a))
{ Testa om klockan är 1720 eller senare }
kl1720=le(mult(1440,sub(market(c),frac(date()))),10)
{ Säkerställ att vi är ett par minuter in på dagen }
inpådagen=gt(frac(date()),0.377)
{ Säkerställ att börsen fortfarande är öppet }
öppet=ge(mult(1440,sub(market(c),frac(date()))),6)
{ Testa om minst 0.5% vinst }
vinst=gt(c,mult(lasttrade(b,p),1.005))
{ Testa om innehav finns }
innehav=gt(portfolio(v),0)
{ Säkerställ att innehavet är köpt av MFI-modell }
köpkod_ok=eqv(lasttrade(b,0),2)
{ Definiera stoploss som pris 20% under inköp }
stoploss=lt(c,mult(0.8,lasttrade(b,p)))
{ definiera säljvillkor som kl 1720 alternativt att det gått minst 5 dgr sedan köp och positionen ligger plus}
{ och att en topp bildats hos MFI samt priset varit under MA50 någon gång under senaste 60 dagarma }
{ alternativt att stoploss löst ut }
sell1=and(and(or(and(vinst,5dgr),kl1720),topp),svaghet)
sell2=and(and(and(and(or(stoploss,sell1),innehav),ej_köp_idag),inpådagen),öppet)
sell3=and(sell2,köpkod_ok)
mult(sell3,10)
{@A(0,)}
Samma projekt som ovan men med lite andra inställningar för MFI-gränserna:
Bra resultat i alla fall:
Totalt Avkastning 565271.07 kr 565.38% på 547 affärer under 3392:18:46 timmar
Av dessa blankat 0 st med avkastning 0.00 kr 0.00%
Innehav 342 st med vinst 1641353.13 kr 1642.77%
Innehav 205 st med förlust -1076082.00 kr -1077.39%
Blankning 0 st med vinst 0.00 kr 0.00%
Blankning 0 st med förlust 0.00 kr 0.00%
{ Standardmodell 3 dgr MFI }
{ 130917 }
{ definiera MFI-kurva }
mval=mov(mfi(3),3,e)
ma50=mov(c,50,s)
ma200=mov(c,200,s)
trend_ok=or(gt(c,ma200),gt(ma200,aref(ma200,1)))
{ 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 15 eller 10 }
styrka=and(upptrend,gt(macd2(n),macd2(t)))
mfgräns=if(styrka,15,10)
{ 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,50),llv(l,50))
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)
öppet=ge(mult(1440,sub(market(c),frac(date()))),6)
draw(mval,2,dcsvw)
draw(ma50,3,dgqb)
{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(and(köp1,eqv(crcid(),kandidat_d)),gt(kandidat_d,0)),trend_ok)
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)
mult(köp2,10)
{ Standardmodell 3 dgr MFI }
{ 130914 }
köpdag=lasttrade(b,d)
{ definiera MFI-kurva och 50 dgr medel }
mval=mov(mfi(3),3,e)
ma50=mov(c,50,s)
draw(ma50,2,rqb1)
{ Testa om priset är under MA50 }
underma=lt(c,ma50)
{ Testa om priset varit under MA50 någon gång de senaste 60 dagarna }
svaghet=hhv(lt(c,ma50),60)
{ Bestäm gräns för MFI baserat på om priset är över eller under MA50 }
mfgräns=if(underma,80,99)
{ Definiera topp hos MFI }
topp=and(aref(gt(mval,mfgräns),1),or(lt(c,aref(l,1)),lt(mval,95)))
{ Säkerställ att köp ej skett idag }
ej_köp_idag=gt(int(d),köpdag)
{ Testa om det gått minst 5 dagar sedan köp }
5dgr=lt(köpdag,cmpref(d,5,a))
{ Testa om klockan är 1720 eller senare }
kl1720=le(mult(1440,sub(market(c),frac(date()))),10)
{ Säkerställ att vi är ett par minuter in på dagen }
inpådagen=gt(frac(date()),0.377)
{ Säkerställ att börsen fortfarande är öppet }
öppet=ge(mult(1440,sub(market(c),frac(date()))),6)
{ Testa om minst 0.5% vinst }
vinst=gt(c,mult(lasttrade(b,p),1.005))
{ Testa om innehav finns }
innehav=gt(portfolio(v),0)
{ Säkerställ att innehavet är köpt av MFI-modell }
köpkod_ok=eqv(lasttrade(b,0),2)
{ Definiera stoploss som pris 20% under inköp }
stoploss=lt(c,mult(0.8,lasttrade(b,p)))
{ definiera säljvillkor som kl 1720 alternativt att det gått minst 5 dgr sedan köp och positionen ligger plus}
{ och att en topp bildats hos MFI samt priset varit under MA50 någon gång under senaste 60 dagarma }
{ alternativt att stoploss löst ut }
sell1=and(and(or(and(vinst,5dgr),kl1720),topp),svaghet)
sell2=and(and(and(and(or(stoploss,sell1),innehav),ej_köp_idag),inpådagen),öppet)
sell3=and(sell2,köpkod_ok)
mult(sell3,10)
{@A(0,)}
Samma projekt som ovan men med lite andra inställningar för MFI-gränserna:
Comment