Ursprungligen postat av Rikard Nilsson
Visa inlägg
Allmänt meddelande
Collapse
No announcement yet.
OMX Tracker
Collapse
X
-
Har daterat upp standardmodeller via hjälp och får detta skriptet som visar köpflaggor hela dagen, skall det vara så ?
sl) OMX Tracker long
{Tracker long}
{ 121108 }
{ testa att databastid och systemtid är på samma dag }
datum_ok:=eqv(int(d),int(date()))
{ definiera variabler }
o1:=Osc(c,4,20,s)
rgln1:=Mov(LinReg(c,40),2,s)
ma2:=Mov(c,3,e)
{ oscillator stiger }
oupp:=Llv(Lt(HhvBars(o1,2),1),2)
{ definiera villkor för sista signal 12 minuter innan börsstängning }
stängning1:=le(mult(1440,sub(market(c),frac(date()))),12)
{ testa om innehav är noll eller blankat }
ej_innehav:=le(portfolio(v),0)
{ testa om datum är 23 i månaden eller senare }
datum:=ge(DayOfMonth(),23)
i40(
{ korrigera överskottsinnehav }
överskott=lt(portfolio(v),scrpar(20))
{ säkerställ att kl är minst 11 på dagen }
inpådagen=gt(frac(d),0.46)
{ testa om regressionskurva är uppåtriktad }
regupp=Lt(HhvBars(rgln1,2),1)
{ Long-villkor - oscillator upp och regressionskurva upp minst 10 perioder }
signal1=And(oupp,llv(regupp,10))
{ testa om macd köpsignal inom 5 staplar och ingen macd sälj inom 3 staplar }
signal2=And(Hhv(Macd(b),5),or(signal1,Not(Hhv(Macd(s),3))))
{ koppla samman villkor - signal2 samt inpådagen, samt macd stigande }
signal3=and(And(signal2,inpådagen),gt(macd(n),macd(t)))
{ koppla samman villkor - signal3 samt antingen osc lägre än -13 eller regression upp eller kort ma över regression }
signal5=And(signal3,Or(Lt(o1,Sub(0,13)),or(datum,Or(Hhv(regupp,12),Gt(ma2,rgln1)))))
{ koppla samman villkor - signal 5 samt L och H lägre än L och H förra stapeln }
signal6=And(signal5,And(Gt(l,Ref(l,1)),Gt(h,Ref(h,1))))
{ koppla samman villkor - signal 6 och en senare än kl 1718 samt tid ok }
signal7=and(and(And(signal6,Not(stängning1)),ej_innehav),datum_ok)
{ koppla samman villkor - signal 7 eller överskottsförsäljning }
signal8=or(signal7,and(överskott,not(stängning1)))
{ skicka signal till global cell 870 som används för att handla minifutures }
setgvarif(signal8,870,eqv(cum(1),1))
mult(signal8,10)
)
Comment
-
Ursprungligen postat av LillWicke Visa inläggJa, det blir så i och med att du provkör med signal8. Prova att i sista raden skriva "mult(signal5,10)" istället. Därefter kan du prova med 6 och 7 för att se vad du trivs bäst med
Rikard. Ligger inte blankad.
Comment
-
Hej,
Sitter och tittar på koden till Tracker och ser att den använder köp och sälj data till MACD beräkningen, signal2, kan det verkligen stämma, indexet ger ju inga köp och sälj värden?
Sen skiljer raden "rgln1:=Mov(LinReg(c,40),2,s)" mellan long och short scriptet avseende simple och exponential medelvärde, men det kanske ska vara så?
Mvh,
Fredrik
{Tracker long}
{ 121108 }
{ testa att databastid och systemtid är på samma dag }
datum_ok:=eqv(int(d),int(date()))
{ definiera variabler }
o1:=Osc(c,4,20,s)
rgln1:=Mov(LinReg(c,40),2,s)
ma2:=Mov(c,3,e)
{ oscillator stiger }
oupp:=Llv(Lt(HhvBars(o1,2),1),2)
{ definiera villkor för sista signal 12 minuter innan börsstängning }
stängning1:=le(mult(1440,sub(market(c),frac(date()))),12)
{ testa om innehav är noll eller blankat }
ej_innehav:=le(portfolio(v),0)
{ testa om datum är 23 i månaden eller senare }
datum:=ge(DayOfMonth(),23)
i40(
{ korrigera överskottsinnehav }
överskott=lt(portfolio(v),scrpar(20))
{ säkerställ att kl är minst 11 på dagen }
inpådagen=gt(frac(d),0.46)
{ testa om regressionskurva är uppåtriktad }
regupp=Lt(HhvBars(rgln1,2),1)
{ Long-villkor - oscillator upp och regressionskurva upp minst 10 perioder }
signal1=And(oupp,llv(regupp,10))
{ testa om macd köpsignal inom 5 staplar och ingen macd sälj inom 3 staplar }
signal2=And(Hhv(Macd(b),5),or(signal1,Not(Hhv(Macd(s),3))))
{ koppla samman villkor - signal2 samt inpådagen, samt macd stigande }
signal3=and(And(signal2,inpådagen),gt(macd(n),macd(t)))
{ koppla samman villkor - signal3 samt antingen osc lägre än -13 eller regression upp eller kort ma över regression }
signal5=And(signal3,Or(Lt(o1,Sub(0,13)),or(datum,Or(Hhv(regupp,12),Gt(ma2,rgln1)))))
{ koppla samman villkor - signal 5 samt L och H lägre än L och H förra stapeln }
signal6=And(signal5,And(Gt(l,Ref(l,1)),Gt(h,Ref(h,1))))
{ koppla samman villkor - signal 6 och en senare än kl 1718 samt tid ok }
signal7=and(and(And(signal6,Not(stängning1)),datum_ok),not(stängning1))
{ koppla samman villkor - signal 7 eller överskottsförsäljning }
signal8=and(or(signal7,överskott),ej_innehav)
{ skicka signal till global cell 870 som används för att handla minifutures }
setgvarif(signal7,870,eqv(cum(1),1))
mult(signal8,10)
)
Comment
-
Raden med signal2= osv testar om MACD slagit om till sälj inom 3 staplar bakåt, i så fall ignoreras eventuell signal för MACD köp. Det behöver alltså vara längre tid än 3 perioder sedan MACD(S) för att en MACD(B) ska få effekt. Det visade sig att det var ett effektivt sätt att ta bort signaler där MACD slingrar sig runt noll och slår om hela tiden.
rgln1 kan säkert skilja en aning mellan köp- och säljsidan, det är så det är optimerat och så vi har kört nu i flera år.
Comment
Comment