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.
{ 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)
)
Antalet som står i Indata script fält 19 används för att känna av om ett blankat innehav är "mer blankat" än inställt. I så fall köper Tracker tillbaka överskottet. En extra säkerhet ifall flera ordrar skulle skickas och gå till avslut.
Ja, 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 för att se vad du trivs bäst med
Ja, 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
Tack LillWicke, skall prova.
Rikard. Ligger inte blankad.
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 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)
)
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