Allmänt meddelande

Collapse
No announcement yet.

OMX Tracker

Collapse
X
 
  • Filter
  • Klockan
  • Show
Clear All
new posts

  • Ursprungligen postat av Rikard Nilsson Visa inlägg
    Vi kan ta fram simulerad historik också med den aktuella versionen.
    Rikard, det skulle vara mycket intressant med historisk performance på den aktuella versionen av OMX Tracker!
    Last edited by Christer; 2012-11-24, 22:46.

    Comment


    • Ligger tracker fortfarande short sen den 14e?

      Comment


      • Japp, stämmer. Den är ofta lite okänslig för snabba kursändringar.

        Comment


        • Ok, tackar!

          Comment


          • 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


            • Ligger du blankad?

              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.

              Comment


              • 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

                Last edited by LillWicke; 2012-11-22, 22:41.

                Comment


                • Ursprungligen postat av LillWicke Visa inlägg
                  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.

                  Comment


                  • Skrev lite för snabbt ovan. Signal7 kan du inte testa med bara ned till 6.

                    Comment


                    • Ok, hade glömt att lägga värde i indata när jag växlade termin.

                      Comment


                      • Hej,
                        Den gamla tracker scriptet hade en nollning (typ det nedan).
                        Är de nya i signal tills signalen försvinner?

                        setgvarif(0,870,eqv(cum(1),1))
                        setgvarif(signal8,870,eqv(cum(1),1))

                        Mvh
                        Ingemar

                        Comment


                        • När man lägger signal8 i värdedelen av setgvarif() behövs ingen nollning.
                          Värdet av signal8 är ju alltid antingen 0 eller 1.

                          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


                              • Tack,
                                Såg att S och B betydde något annat för MACD functionen.

                                Comment

                                Working...
                                X