Allmänt meddelande

Collapse
No announcement yet.

Raptor

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

  • Attan vad analysbänken är beroendeframkallande! Kunde inte låta bli, men nu får jag nog ge mig för ikväll.

    Attached Files

    Comment


    • Ursprungligen postat av Rikard Autostock Visa inlägg
      Attan vad analysbänken är beroendeframkallande! Kunde inte låta bli, men nu får jag nog ge mig för ikväll.

      Finfint Rikard :-) Ser positivt ut. Allt med börsen är beroendeframkallande ;-)

      Synd BTW att jag inte har kört AT tidigare, då hade jag vetat vad Raptor var. Får bläddra tillbaka och kika. Har pysslat med TA ganska länge, men är relativt ny på AT. Tycker själv att det är mycket svårare med strategier i intradag än på lite längre sikt, kanske inte så konstigt heller ;-)
      Last edited by walle; 2016-12-09, 20:41.

      Comment


      • Ursprungligen postat av Rikard Autostock Visa inlägg
        Attan vad analysbänken är beroendeframkallande! Kunde inte låta bli, men nu får jag nog ge mig för ikväll.

        Hur ser det ut om du kör 5 s upplösning med animering där det går (från 2012 ?)
        undrar
        Bertil

        Comment


        • Ursprungligen postat av walle Visa inlägg
          Finfint Rikard :-) Ser positivt ut. Allt med börsen är beroendeframkallande ;-)

          Synd BTW att jag inte har kört AT tidigare, då hade jag vetat vad Raptor var. Får bläddra tillbaka och kika. Har pysslat med TA ganska länge, men är relativt ny på AT. Tycker själv att det är mycket svårare med strategier i intradag än på lite längre sikt, kanske inte så konstigt heller ;-)
          Ge sig. Glöm det. Det är många timmar tills jag ska lägga mig. Har fått diagnosen NAT

          Comment


          • Haha, allvarlig sjukdom det här! Inte alla som kan ståta med en alldeles egen bokstavskombo.

            Har kört lite till nu och senaste simuleringen ser ut som på bilden. Lägger ut scripten också så att alla NAT-klubbare kan labba vidare. Ser ingen risk i att "läcka" lite kod, det här går ändå inte att bygga i någon annan plattform.




            { Raptor Supermarket Long }

            $par1:=10 {0-30}
            advance:=5
            maxgrids:=10
            grid_atr:=0.25

            { Definiera medelvärden för Predictive Average }
            pred1=find(lt(d,sub(const(d),30)),25,c,1)
            pred2=find(lt(d,sub(const(d),60)),50,c,1)
            pred3=find(lt(d,sub(const(d),90)),75,c,1)
            pred4=find(lt(d,sub(const(d),120)),100,c,1)
            pred5=find(lt(d,sub(const(d),150)),125,c,1)

            steg=sub(23,mx(mn(advance,22),1))
            år2=aref(c,236)
            år3=aref(c,476)
            år4=aref(c,729)
            år5=aref(c,982)
            år6=aref(c,1234)
            medel=mov(aref(div(add(add(add(add(år2,år3),år4),år5),år6),6),steg:22),5,s)

            { Addera medelvärden och ta genomsnitt - förskjut kurvan med par1 perioder }
            pred_tot=aref(div(add(pred1,add(pred2,add(pred3,add(pred4,pred5)))),5),mx(1,$par1):35)

            { Testa om lutning på Predictive Average är upp }
            p1=gt(roc(add(medel,pred_tot),5,%),0)
            draw(pred_tot,2,kabw2)
            draw(mult(p1,10),3,dgsbf)

            { Definiera v2 och v4 som tillåtna datum att gå long }
            v2=and(lt(dayofmonth(),if(p1,19,14)),gt(dayofmonth(),if(p1,7,6)))
            v4=and(lt(dayofmonth(),if(p1,32,31)),gt(dayofmonth(),if(p1,19,27)))

            { testa om vi är nära stängning }
            stängning=le(mult(1440,sub(market(c),frac(date()))),10)
            öppet=ge(mult(1440,sub(market(c),frac(date()))),6)
            inpådagen=gt(frac(date()),0.38)

            { beräkna histogram för MACD och testa om extremt översålt }
            hist=sub(macd2(n),macd2(t))
            extremt=lt(hist,-5)

            { definiera långt medelvärde för trend och testa om index är över eller extremt översålt }
            ma100=mov(c,150,s)
            över=or(extremt,gt(c,ma100))

            { Testa om Close är under senaste två dagarnas högsta stängning i kombination med v2 }
            long1a=and(and(lt(c,hhv(aref(c,1),2)),v2),över)

            { Testa om Close är under senaste tre dagarnas högsta stängning i kombination med v4 }
            long1b=and(lt(c,hhv(aref(c,1),3)),v4)

            { koppla ihop villkor, antingen v2 eller v2 samt innehav noll eller blankat }
            long2=and(or(long1a,long1b),le(portfolio(v),0))

            { koppla ihop Long-signal med nära stängning samt ingen säljtransaktion under dagen }
            long3=and(and(long2,and(öppet,stängning)),gt(int(d),lasttrade(s,d)))



            { Scanna historiskt utfall stapelformation och veckodag }
            stig=gt(c,aref(c,1))
            fall=le(c,aref(c,1))
            sf1=topbars(fall,20,1)
            ss1=topbars(stig,20,1)
            cc1=const(if(gt(ss1,sf1),sf1,sub(0,ss1)))
            cc2=if(gt(ss1,sf1),sf1,sub(0,ss1))

            veckodag=const(dayofweek())
            setup=and(eqv(cc1,cc2),eqv(dayofweek(),veckodag))

            hits=sum(setup,2000)
            hitrate1=div(sum(mult(aref(setup,1),gt(h,aref(c,1))),2000),hits)
            setgvarif(hitrate1,12,and(stängning,öppet))
            hitrate2=getgvar(12)

            köp_senare_än_sälj=gt(lasttrade(b,d),lasttrade(s,d))
            grid1=sub(lasttrade(b,p),mult(grid_atr,atr(10)))
            grid2=sub(llv(h,2),mult(grid_atr,atr(10)))
            grid3=if(köp_senare_än_sälj,grid1,grid2)
            long4=or(long3,and(gt(hitrate2,0.55),and(gt(portfolio(v),0),lt(c,grid3))))
            long5=and(long4,lt(portfolio(v),maxgrids))
            long6=and(long5,inpådagen)

            mult(long6,1)





            { Raptor Sell }

            $par1:=10 {0-30}
            advance:=5
            grid_atr:=0.25

            { Definiera medelvärden för Predictive Average }
            pred1=find(lt(d,sub(const(d),30)),25,c,1)
            pred2=find(lt(d,sub(const(d),60)),50,c,1)
            pred3=find(lt(d,sub(const(d),90)),75,c,1)
            pred4=find(lt(d,sub(const(d),120)),100,c,1)
            pred5=find(lt(d,sub(const(d),150)),125,c,1)

            steg=sub(23,mx(mn(advance,22),1))
            år2=aref(c,236)
            år3=aref(c,476)
            år4=aref(c,729)
            år5=aref(c,982)
            år6=aref(c,1234)
            medel=mov(aref(div(add(add(add(add(år2,år3),år4),år5),år6),6),steg:22),5,s)

            { Addera medelvärden och ta genomsnitt - förskjut kurvan med par1 perioder }
            pred_tot=aref(div(add(pred1,add(pred2,add(pred3,add(pred4,pred5)))),5),mx(1,$par1):35)

            { Testa om lutning på Predictive Average är ned }
            p1=gt(roc(add(medel,pred_tot),5,%),0)

            { Definiera ve1 och ve3 som tillåtna datum att gå ur position }
            ve1=or(lt(dayofmonth(),if(p1,8,6)),gt(dayofmonth(),if(p1,31,30)))
            ve3=and(lt(dayofmonth(),if(p1,18,22)),gt(dayofmonth(),if(p1,17,17)))

            { testa om kurs är lägre än gårdagens lägsa }
            lägre=lt(c,aref(c,1))

            { testa om vi är nära stängning samt någon minut in på dagen }
            inpådagen=gt(frac(date()),0.376)
            stängning=le(mult(1440,sub(market(c),frac(date()))),10)
            öppet=and(inpådagen,ge(mult(1440,sub(market(c),frac(date()))),6))

            { testa om veckodag är tisdag eller senare }
            rättd=ge(dayofweek(),2)

            { Stoploss 2 ATR över shrt }
            stoploss=lt(c,sub(lasttrade(b,p),mult(3,atr(10))))

            { definiera säljvillkor som kurs lägre än föregående 2 dagars lägsta stängningskurs }
            sell1=lt(c,llv(aref(c,1),2))

            { koppla ihop säljvillkor med tillåtna datum och att innehav större än noll }
            sell2=and(and(sell1,or({stoploss}0,or(ve1,ve3))),gt(portfolio(v),0))

            { koppla ihop villkor med nära stängning alternativt lägre kurs än }
            { gårdagens lägsta samt veckodag tis eller senare samt ingen köptransaktion idag }
            sell3=and(and(and(sell2,and(or(lägre,stängning),öppet)),rättd),gt(int(d),lasttrade(b,d)))
            setgvarif(if(sell3,0,1),10,1)

            gridnivå_k=add(lasttrade(b,p),mult(grid_atr,atr(10)))
            gridnivå_s=add(lasttrade(s,p),mult(grid_atr,atr(10)))
            köp_senare_än_sälj=gt(lasttrade(b,d),lasttrade(s,d))
            sälj_senare_än_köp=gt(lasttrade(s,d),lasttrade(b,d))
            sell4=and(and(gt(c,gridnivå_k),gt(portfolio(v),1)),köp_senare_än_sälj)
            sell5=and(and(gt(c,gridnivå_s),gt(portfolio(v),1)),sälj_senare_än_köp)
            sell6=or(or(sell3,sell4),sell5)

            mult(sell6,10)




            { Raptor Supermarket shrt }

            $par1:=10 {0-30}
            advance:=5
            maxgrids:=-10
            grid_atr:=0.25

            { Definiera medelvärden för Predictive Average }
            pred1=find(lt(d,sub(const(d),30)),25,c,1)
            pred2=find(lt(d,sub(const(d),60)),50,c,1)
            pred3=find(lt(d,sub(const(d),90)),75,c,1)
            pred4=find(lt(d,sub(const(d),120)),100,c,1)
            pred5=find(lt(d,sub(const(d),150)),125,c,1)

            steg=sub(23,mx(mn(advance,22),1))
            år2=aref(c,236)
            år3=aref(c,476)
            år4=aref(c,729)
            år5=aref(c,982)
            år6=aref(c,1234)
            medel=mov(aref(div(add(add(add(add(år2,år3),år4),år5),år6),6),steg:22),5,s)

            { Addera medelvärden och ta genomsnitt - förskjut kurvan med par1 perioder }
            pred_tot=aref(div(add(pred1,add(pred2,add(pred3,add(pred4,pred5)))),5),mx(1,$par1):35)

            { Testa om lutning på Predictive Average är ned }
            p1=lt(roc(add(medel,pred_tot),5,%),0)

            { Definiera v1 och v3 som tillåtna datum att gå shrt }
            v1=or(lt(dayofmonth(),if(p1,8,7)),gt(dayofmonth(),if(p1,30,31)))
            v3=and(lt(dayofmonth(),if(p1,23,20)),gt(dayofmonth(),if(p1,10,13)))

            { testa om vi är nära stängning }
            stängning=le(mult(1440,sub(market(c),frac(date()))),8)
            öppet=ge(mult(1440,sub(market(c),frac(date()))),6)
            inpådagen=gt(frac(date()),0.38)

            { definiera långt medelvärde för trend och testa om index är under }
            ma200=mov(c,200,s)
            under=lt(c,ma200)

            { beräkna histogram för MACD och testa om extremt översålt }
            ej_extremt=gt(macd2(n),-50)

            { testa om kurs är under gårdagens stängning samt lång trend nedåt }
            shrt1=and(lt(c,aref(c,1)),under)

            { koppla ihop shrt-villkor med tillåtna datum samt innehav noll eller större }
            shrt2=and(and(and(shrt1,or(v1,v3)),ge(portfolio(v),0)),ej_extremt)

            { koppla ihop villkor med nära börsstängning samt ingen köptransaktion under dagen }
            shrt3=and(and(shrt2,and(öppet,stängning)),gt(int(d),lasttrade(b,d)))

            hitrate2=getgvar(12)

            sälj_senare_än_köp=gt(lasttrade(s,d),lasttrade(b,d))
            grid1=add(lasttrade(s,p),mult(grid_atr,atr(10)))
            grid2=add(hhv(l,2),mult(grid_atr,atr(10)))
            grid3=if(sälj_senare_än_köp,grid1,grid2)
            shrt4=or(shrt3,and(lt(hitrate2,0.45),and(lt(portfolio(v),0),gt(c,grid3))))
            shrt5=and(shrt4,gt(portfolio(v),maxgrids))
            shrt6=and(shrt5,inpådagen)

            mult(shrt6,1)




            { Legato OMX index cover 151207 }

            { ange dagar för att testa exitvillkor }
            dagar:=15
            grid_atr:=0.25

            { testa om nära stängning samt någon minut in på dagen }
            inpådagen=gt(frac(date()),0.376)
            stängning=le(mult(1440,sub(market(c),frac(date()))),6)
            öppet=and(inpådagen,ge(mult(1440,sub(market(c),frac(date()))),4))

            { testa om kurs är den lägsta stängningen senaste x dagarna }
            lägsta=llv(aref(c,1),dagar)

            { koppla ihop cover-villkor med blankat innehav }
            cover1=lt(c,lägsta)

            { Stoploss 2 ATR över shrt }
            stoploss=gt(c,add(lasttrade(s,p),mult(2,atr(10))))

            { koppla ihop villkor med nära stängning samt ingen säljtransaktion under dagen }
            cover2=and(and(or({stoploss}0,cover1),and(or(stoploss,stängning),öppet)),gt(int(d),lasttrade(s,d)))
            cover3=and(cover2,lt(portfolio(v),0))
            setgvarif(if(cover3,0,1),11,1)

            gridnivå_k=sub(lasttrade(b,p),mult(grid_atr,atr(10)))
            gridnivå_s=sub(lasttrade(s,p),mult(grid_atr,atr(10)))
            köp_senare_än_sälj=gt(lasttrade(b,d),lasttrade(s,d))
            sälj_senare_än_köp=gt(lasttrade(s,d),lasttrade(b,d))
            cover4=and(and(lt(c,gridnivå_s),lt(portfolio(v),-1)),sälj_senare_än_köp)
            cover5=and(and(gt(c,gridnivå_k),lt(portfolio(v),-1)),köp_senare_än_sälj)
            cover6=or(or(cover3,cover4),cover5)

            mult(cover6,10)



            va) Raptor Supermarket longantal
            i1(
            if(lt(portfolio(v),-1),abs(portfolio(v)),1)
            )


            va) Raptor Supermarket sellantal
            i1(
            nollställ=eqv(getgvar(10),0)
            if(nollställ,abs(portfolio(v)),1)
            )



            va) Raptor Supermarket Shrt-antal
            i1(
            if(gt(portfolio(v),1),abs(portfolio(v)),1)
            )


            va) Raptor Supermarket Cover-antal
            i1(
            nollställ=eqv(getgvar(11),0)
            if(nollställ,abs(portfolio(v)),1)
            )
            Attached Files
            Last edited by Rikard Autostock; 2016-12-10, 17:21.

            Comment


            • Ser ju bra ut vid första anblicken, men ibland säljer strategin och köper tillbaka efter 1 minut. Verkar veligt. Hur många kontrakt kan max ackumuleras? Är det fortfarande 10 st? Om man då delar 10188 med 10 så får man 1018 punkter på 10 år vilket ger 102 punkter om året dvs 8.5 punkter i månaden. Det man imponeras mest av är den jämna utvecklingen över tid.
              Med vänlig hälsning
              Bertil
              Last edited by Bertil; 2016-12-10, 13:46.

              Comment


              • Jo det behövs lite puts, kanske något som hindrar köp-sälj inom viss tid om priset rört sig för lite osv.
                Går säkert att vässa en massa saker. Blir kul att se vad forumet kommer fram till!

                Comment


                • Jag kör ju nästan alltid i1( och då är det lätt att bestämma antal minuter som måste gå från föregående avslut. Kör man heldag så får man väl ha något slavscript som går i1( och som sätter globala variabler då viss tid förflutit från senaste avslut. Tex kontinuerlig skriver antal minuter som gått sedan senaste köp i en global variabel och antal minuter som gått sedan senaste sälj i en annan variabel. Går kanske att göra direkt för heldag också. Men inser inte riktigt matematiken för detta.

                  Med vänlig hälsning
                  Bertil

                  Comment


                  • Det går bra att använda Date() och då funkar det på samma sätt oavsett upplösning.

                    Har inte simulerat eller tittat på modellen i detalj, men finns det inte många likheter med Legato. Dvs om man kör Legato och/eller Fusion så kommer korrelationen att vara stor.

                    Annars spännande om det fungerar.

                    Comment


                    • Såg att jag hade missat att lägga dit antalscripten. Fixat i inlägget ovan.

                      Tanken är alltså att stänga senaste köpta del när vinst uppnås, alternativt sälja alla andelar när en exit-signal triggas.

                      Comment


                      • Här är resultat om man kör max 15 grids:

                        Max Result Drawdown 7.7203 %
                        Sharpekvot 0.4399 (månadsresultat) (pre 1994 0.4399)
                        -2.5701 (årsomräknat) (pre 1994 -2.5701)
                        Effektivt Resultat: 127.1764% - Slutsaldo kontot: 22717.64

                        Avkastning 12717.64 kr 0.33% på 2681 affärer under 15715:10:57 tim
                        Av dessa blankat 73 st med avkastning 684.74 kr 0.86%
                        Innehav 1924 st med vinst 25379.91 kr 1.05%
                        Innehav 684 st med förlust -13347.01 kr -0.98%
                        Blankning 52 st med vinst 1227.23 kr 2.17%
                        Blankning 21 st med förlust -542.49 kr -2.36%

                        Courtage 0.00% Min 0.00


                        Man tjänar alltså inte 50% mer för att man ökar max antal grids med 50%, och det betyder att det finns en optimal siffra även här, troligen beroende på vad varje användare föredrar. Tror att vi ska göra följande ställbart:

                        Antal grids
                        Gridavstånd
                        Insats i kronor per grid

                        plus ev resten av parametrarna för Predictive Average och liknande.

                        Comment


                        • Vad är grids?

                          Comment


                          • "Grids" är bara kursnivåer. Tanken med den här konfiggen är att handla 1 andel på varje kursnivå och sälja den senaste köpta delen på närmaste högre "grid". På så vis tar strategin hand om rörelser snarare än trend. Det räcker i princip med att kursen står och skvalpar runt samma nivå för att Raptor ska kunna göra vinst. Det är rörelsen i sig och inte riktningen som skapar avkastning.

                            Comment


                            • Ursprungligen postat av Rikard Autostock Visa inlägg
                              Jo det behövs lite puts, kanske något som hindrar köp-sälj inom viss tid om priset rört sig för lite osv.
                              Går säkert att vässa en massa saker. Blir kul att se vad forumet kommer fram till!

                              Eller ett villkor som säger att entry inte görs om det är nära sälj/cover läge såvida det är problemet.

                              Comment


                              • Bara att testa ju, scripten ligger en bit upp i tråden.

                                Comment

                                Working...
                                X