Allmänt meddelande

Collapse
No announcement yet.

Analysbänken

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

  • Analysbänken

    Vad kan det vara för fel när "bänken" sluta signalera köp/sälj efter första testdagen plus en köp/sälj dag två sedan står den kvar resten av testperioden på det res som blev dag två
    Berra

  • #2
    Om du vill kan du lägga upp scripten så jag kan kolla. Kolla först att du har tagit bort antalskontrollen vid backtesting. Antingen kan du sätt villkoret för portfolio(v) till
    and(1,1) eller tabort det villkoret vid backtesting.

    Comment


    • #3
      Ursprungligen postat av seadragon Visa inlägg
      Om du vill kan du lägga upp scripten så jag kan kolla. Kolla först att du har tagit bort antalskontrollen vid backtesting. Antingen kan du sätt villkoret för portfolio(v) till
      and(1,1) eller tabort det villkoret vid backtesting.
      köp
      ejstängning:=ge(mult(1440,sub(market(c),frac(date()))),10)
      oscillator:=Osc(c,3,31,s)
      oscupp:=Lt(HhvBars(oscillator,2),1)
      momentum:=Mo(7)
      momupp:=Lt(HhvBars(momentum,2),1)
      ejlång:=Le(Portfolio(v),0)
      släpporder:=Eqv(GetGVar(501),1)

      {MACD}
      m1:=mov(c,12,e)
      m2:=mov(c,26,e)
      mcd1:=sub(m1,m2)
      mtrig1:=mov(mcd1,9,e)
      mdok:=Gt(mcd1,mtrig1)

      i10(
      köp1=And(And(And(And(mdok,momupp),ejlång),{släpporder}1),{oscupp}1)
      draw(mult(köp1,20),2,gsbF)
      köp2=And(Aref(köp1,1),ejstängning)
      köp2
      )

      sälj
      ejstängning:=ge(mult(1440,sub(market(c),frac(date()))),10)
      oscillator:=Osc(c,3,31,s)
      oscner:=Lt(LlvBars(oscillator,2),1)
      momentum:=Mo(7)
      momner:=Lt(LlvBars(momentum,2),1)
      ejkort:=Ge(Portfolio(v),0)
      släpporder:=Eqv(GetGVar(500),0)

      {MACD}
      m1:=mov(c,12,e)
      m2:=mov(c,26,e)
      mcd1:=sub(m1,m2)
      mtrig1:=mov(mcd1,9,e)
      mdok:=Lt(mcd1,mtrig1)

      i10(
      blank1=And(And(And(And(mdok,momner),ejkort),{släpporder}1),{oscner}1)
      draw(mult(blank1,20),3,rsbF)
      blank2=And(Aref(blank1,1),ejstängning)
      blank2
      )
      Berra

      Comment


      • #4
        Vid backtesting ejkort:=and(1,1) och ejlång:=and(1,1)
        Dessutom vet jag ej om du vill stänga på kvällen.

        Comment


        • #5
          Ursprungligen postat av seadragon Visa inlägg
          Vid backtesting ejkort:=and(1,1) och ejlång:=and(1,1)
          Dessutom vet jag ej om du vill stänga på kvällen.
          Jo jag vill stänga på kvällen, jag har ett annat script till det. Som du ser provar jag med att stänga olika funktioner med {}1.
          Och i10 till olika tider men det blir väldigt konstigt när bänken inte gör det den ska då vet man inte vad jag ska tro. Men det verkar omöjligt att hitta något som ger vinst, det som gav vinst i går stämmer inte idag osv....lite hopplöst svårt att hitta något som fungerar.
          Berra

          Comment


          • #6
            Kör innehav-kontant-innehav
            Long-Exit Long
            Short-Exit Short (använd closekurser för Short)
            Om du ändrar i tex long bör du även ändra i Exit Short, samma för short och exit long.

            Ja varierande resultat är svårt att hantera. Antingen kan du försöka hitta parametervärden och intradayprefix som ger bäst resultat över tid och vara konsekvent. Eller så försöker du hitta bästa värden för rådande marknadsklimat. Jag ska köra lite testing på din modell i slutet av veckan.


            LONG, backtesting
            ===========
            ejstängning:=ge(mult(1440,sub(market(c),frac(date()))),10)
            oscillator:=Osc(c,3,31,s)
            oscupp:=Lt(HhvBars(oscillator,2),1)
            momentum:=Mo(7)
            momupp:=Lt(HhvBars(momentum,2),1)
            ejlång:=and(1,1)

            {MACD}
            m1:=mov(c,12,e)
            m2:=mov(c,26,e)
            mcd1:=sub(m1,m2)
            mtrig1:=mov(mcd1,9,e)
            mdok:=Gt(mcd1,mtrig1)

            i10(
            köp1=And(And(And(And(mdok,momupp),ejlång),{släpporder}1),{oscupp}1)
            draw(mult(köp1,20),2,gsbF)
            köp2=And(Aref(köp1,1),ejstängning)
            köp2
            )


            EXIT LONG-Backtesting
            ==============
            ejstängning:=ge(mult(1440,sub(market(c),frac(date()))),10)
            endofday:=le(mult(1440,sub(market(c),frac(date()))),7)
            oscillator:=Osc(c,3,31,s)
            oscner:=Lt(LlvBars(oscillator,2),1)
            momentum:=Mo(7)
            momner:=Lt(LlvBars(momentum,2),1)
            ejkort:=and(1,1)
            släpporder:=Eqv(GetGVar(500),0)

            {MACD}
            m1:=mov(c,12,e)
            m2:=mov(c,26,e)
            mcd1:=sub(m1,m2)
            mtrig1:=mov(mcd1,9,e)
            mdok:=Lt(mcd1,mtrig1)

            i10(
            blank1=And(And(And(And(mdok,momner),ejkort),{släpporder}1),{oscner}1)
            draw(mult(blank1,20),3,rsbF)
            blank2=Or(And(Aref(blank1,1),ejstängning),endofday)
            blank2
            )



            SHORT-Backtesting
            ==============
            ejstängning:=ge(mult(1440,sub(market(c),frac(date()))),10)
            oscillator:=Osc(c,3,31,s)
            oscner:=Lt(LlvBars(oscillator,2),1)
            momentum:=Mo(7)
            momner:=Lt(LlvBars(momentum,2),1)
            ejkort:=and(1,1)
            släpporder:=Eqv(GetGVar(500),0)

            {MACD}
            m1:=mov(c,12,e)
            m2:=mov(c,26,e)
            mcd1:=sub(m1,m2)
            mtrig1:=mov(mcd1,9,e)
            mdok:=Lt(mcd1,mtrig1)

            i10(
            blank1=And(And(And(And(mdok,momner),ejkort),{släpporder}1),{oscner}1)
            draw(mult(blank1,20),3,rsbF)
            blank2=And(Aref(blank1,1),ejstängning)
            blank2
            )


            EXIT SHORT, backtesting
            ===========
            ejstängning:=ge(mult(1440,sub(market(c),frac(date()))),10)
            endofday:=le(mult(1440,sub(market(c),frac(date()))),7)
            oscillator:=Osc(c,3,31,s)
            oscupp:=Lt(HhvBars(oscillator,2),1)
            momentum:=Mo(7)
            momupp:=Lt(HhvBars(momentum,2),1)
            ejlång:=and(1,1)

            {MACD}
            m1:=mov(c,12,e)
            m2:=mov(c,26,e)
            mcd1:=sub(m1,m2)
            mtrig1:=mov(mcd1,9,e)
            mdok:=Gt(mcd1,mtrig1)

            i10(
            köp1=And(And(And(And(mdok,momupp),ejlång),{släpporder}1),{oscupp}1)
            draw(mult(köp1,20),2,gsbF)
            köp2=Or(And(Aref(köp1,1),ejstängning),endofday)
            köp2
            )
            Last edited by seadragon; 2011-11-15, 09:50. Anledning: felskrivning

            Comment


            • #7
              Genom att tex bara ta longa positioner när trenden är uppåt går det att förbättra resultatet. Ändrade lite i parametervärderna.

              LONG - Backtesting
              ===============
              ejstängning:=ge(mult(1440,sub(market(c),frac(date()))),10)
              oscillator:=Osc(c,5,25,s)
              oscupp:=Lt(HhvBars(oscillator,2),1)
              momentum:=Mo(7)
              momupp:=Lt(HhvBars(momentum,2),1)
              ejlång:=and(1,1)

              {MACD}
              m1:=mov(c,12,e)
              m2:=mov(c,26,e)
              mcd1:=sub(m1,m2)
              mtrig1:=mov(mcd1,9,e)
              mdok:=Gt(mcd1,mtrig1)

              dagskurs=cmpref(c,1,A)
              läge1=gt(mov(dagskurs,10,s),mov(dagskurs,30,e))

              i30(
              köp1=And(And(And(And(mdok,momupp),ejlång),{släpporder}1),{oscupp}1)
              draw(mult(köp1,20),2,gsbF)
              köp2=And(And(Aref(köp1,1),ejstängning),läge1)
              köp2
              )

              Comment


              • #8
                Jag föstår inte riktigt hur jag ska göra med dina ändringar. Men när jag kör med de första skripten från 111102-111114 ser det ut så här fast det finns många köp och sälj markeringar 11-11-09 - 11-11-14 men det slutar av någon anledning nionde eller tredje?
                30 min
                09:00:00 OMXS301K K 953,75 Innehav
                2011-11-03 15:00:00 OMXS301K S 970,00 16,25 1,70 14:30:00
                2011-11-08 10:30:00 OMXS301K K 978,25 -8,25 -0,85 16:30:00
                2011-11-08 16:30:00 OMXS301K S 971,25 -7,00 -0,72 06:00:00
                2011-11-09 15:59:00 OMXS301K K 944,50 26,75 2,75 07:59:00
                15 min
                2011-11-02 09:14:00 OMXS301K K 960,50 Innehav
                2011-11-02 11:00:00 OMXS301K S 944,25 -16,25 -1,69 01:46:00
                2011-11-02 13:15:00 OMXS301K K 954,00 -9,75 -1,03 02:15:00
                2011-11-03 09:14:00 OMXS301K S 952,50 -1,50 -0,16 04:29:00
                Berra

                Comment


                • #9
                  Hur kör du bänken?
                  Attached Files

                  Comment


                  • #10
                    Även Animera signal på fullbordade staplar annars samma
                    Berra

                    Comment


                    • #11
                      För att få ett så verkligt resultat som möjligt ska du nog inte använda på fullbordade staplar. Det finns i och för sig redan i scriptet. Rikard kan nog förklara mer utförligt vilken inställning du ska ha.

                      Comment


                      • #12
                        Hej Sedragon nu fungerade det med ett gott resultat över fem dagar i20 och alla kontroller öppna men vad det blir i verkligheten och i morgon är ju en annan sak, jag hade inställningar så som du beskrev.

                        Köpscript: sl) Berras köp MACD med stäng 17,17
                        Säljscript: sl) Berras sälj MACD med stäng 17,17

                        2011-11-09 14:00:00 OMXS301K K 947,50 17,50 1,81 03:41:00
                        2011-11-10 15:40:00 OMXS301K S 949,25 1,75 0,18 10:10:00
                        2011-11-11 09:40:00 OMXS301K K 953,75 -4,50 -0,47 02:30:00
                        2011-11-14 10:40:00 OMXS301K S 975,25 21,50 2,25 09:30:00
                        2011-11-15 11:19:00 OMXS301K K 957,50 17,75 1,82 09:09:00
                        2011-11-15 11:39:00 OMXS301K S 953,00 -4,50 -0,47 00:20:00
                        2011-11-15 14:00:00 OMXS301K K 952,75 0,25 0,03 02:21:00

                        2011-11-09 10:19 - 2011-11-15 00:00 OMXS301K 5,15% 20:00:00 17:41:00
                        37:41:00 04:49:00 47,06 41,61 88,67 11,33
                        --------------------------------
                        Totalt Avkastning 49.75 pkt 5.15% på 7 affärer under 37:41:00 timmar
                        Last edited by Berra; 2011-11-15, 18:39.
                        Berra

                        Comment


                        • #13
                          Vad menar du med alla kontroller öppna?
                          Kör du med ett köp- och ett säljscript eller 4st(köp-exit köp, sälj-exit sälj)?

                          Comment


                          • #14
                            Ursprungligen postat av seadragon Visa inlägg
                            Vad menar du med alla kontroller öppna?
                            Kör du med ett köp- och ett säljscript eller 4st(köp-exit köp, sälj-exit sälj)?
                            Nej jag kör köp i köp och sälj i sälj på bänken så som de är nedan

                            köp
                            ejstängning:=ge(mult(1440,sub(market(c),frac(date()))),10)
                            oscillator:=Osc(c,3,31,s)
                            oscupp:=Lt(HhvBars(oscillator,2),1)
                            momentum:=Mo(7)
                            momupp:=Lt(HhvBars(momentum,2),1)
                            ejlång:=Le(Portfolio(v),0)
                            släpporder:=Eqv(GetGVar(501),1)

                            {MACD}
                            m1:=mov(c,12,e)
                            m2:=mov(c,26,e)
                            mcd1:=sub(m1,m2)
                            mtrig1:=mov(mcd1,9,e)
                            mdok:=Gt(mcd1,mtrig1)

                            i20(
                            köp1=And(And(And(And(mdok,momupp),ejlång),{släpporder}1),oscupp)
                            draw(mult(köp1,20),2,gsbF)
                            köp2=And(Aref(köp1,1),ejstängning)
                            köp2
                            )

                            sälj
                            ejstängning:=ge(mult(1440,sub(market(c),frac(date()))),10)
                            oscillator:=Osc(c,3,31,s)
                            oscner:=Lt(LlvBars(oscillator,2),1)
                            momentum:=Mo(7)
                            momner:=Lt(LlvBars(momentum,2),1)
                            ejkort:=Ge(Portfolio(v),0)
                            släpporder:=Eqv(GetGVar(500),0)

                            {MACD}
                            m1:=mov(c,12,e)
                            m2:=mov(c,26,e)
                            mcd1:=sub(m1,m2)
                            mtrig1:=mov(mcd1,9,e)
                            mdok:=Lt(mcd1,mtrig1)

                            i20(
                            blank1=And(And(And(And(mdok,momner),ejkort),{släpporder}1),oscner)
                            draw(mult(blank1,20),3,rsbF)
                            blank2=And(Aref(blank1,1),ejstängning)
                            blank2
                            )
                            Berra

                            Comment


                            • #15
                              Ok,
                              Tänk bara på att backtesting inte fungerar när du har ett innehav, long eller short. Innehavskontrollen måste tas bort vid innehav eller sättas till and(1,1). Tänk på att sista traden styr öppningen nästa dag. Om du tex får en sen köp och sedan faller marknaden kraftigt vid öppningen så blir resultatet dåligt. Stänger du vid stängning blir backtesting missvisande. Det kan vara så att sista traden är en bra indikator på öppningen, vilket måste testas för att hålla i längden.

                              Comment

                              Working...
                              X