Allmänt meddelande

Collapse
No announcement yet.

Utökad modell med Sar2

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

  • Utökad modell med Sar2

    Jag har byggt vidare på grundmodellen med Sar2. Den tog position snällt och prydligt men lyckades inte vända positionen. Vad är felet?

    Dessutom så får jag inte skriptet att fungera om jag har inte handla strax innan stängning igång. Den finns med i skriptet men utkommenterat. Ser du något fel där?


    sl) Saren Bull (Kopplat grafiskt till omxs30 indexet)

    {Saren Bull}
    {Version 2011-08-14_2}

    {Värde sätts till värdet för analysmetoden Sar2}
    värde:=SAR2(0.01,0.20,100)

    {Kontrollerar om Värde dvs. Sar2 är över Stängsningskursen för stapeln}
    kurs_över:=Gt(c,värde)

    {Kontrollerar att inget innehav finns}
    inget_innehav:=Eqv(Portfolio(v),0)

    {Inga positioner tas de första 15 minutrarna på morgonen}
    morgonöppnat:=Gt(Frac(d),0.385)

    {Inga nya positioner tas de sista 40 minutrarna på marknadens öppettid.}
    {DagEjStängt:=ge(mult(1440,sub(market(c),frac(date()))),40)}
    DagEjStängt:=And(1,1)

    {Förutsättning för köp är att inget innehav finns och att det inte är försent på eftermiddagen}
    förutsättningar:=And(inget_innehav,DagEjStängt)

    {Förutsättning för köp är att inget innehav finns och att det inte är försent på eftermiddagen}
    förutsättningar2:=And(förutsättningar,morgonöppnat)

    i8(
    {Ritar röd kurvan för värde dvs. Sar2 enligt ovan}
    Draw(värde,9,rqb)

    {Ger köpsignal om kurs_över är sant och inget_innehav är sant}
    köpsignal=And(kurs_över,förutsättningar2)

    {Nollställer globala cellen 500}
    SetGVarIf(0,500,1)

    {Sätter den globala cellen 500 till 1 om köpsignal}
    SetGVarIf(1,500,köpsignal)

    Mult(köpsignal,25)
    )


    sl) Saren Bear (Kopplat grafiskt till indexet OMXS30)

    {Saren Bear}
    {Version 2011-08-14_2}


    {Värde sätts till värdet för analysmetoden Sar2}
    värde:=SAR2(0.01,0.20,100)

    {Kontrollerar om Värde dvs. Sar2 är över Stängsningskursen för stapeln}
    kurs_under:=Gt(värde,c)

    {Kontrollerar att inget innehav finns}
    inget_innehav:=Eqv(Portfolio(v),0)

    {Inga positioner tas de första 15 minutrarna på morgonen}
    morgonöppnat:=Gt(Frac(d),0.385)

    {Inga nya positioner tas de sista 40 minutrarna på marknadens öppettid.}
    {DagEjStängt:=ge(mult(1440,sub(market(c),frac(date()))),40)}
    DagEjStängt:=And(1,1)

    {Förutsättning för köp är att inget innehav finns och att det inte är försent på eftermiddagen}
    förutsättningar:=And(inget_innehav,DagEjStängt)

    {Förutsättning för köp är att inget innehav finns och att det inte är försent på eftermiddagen}
    förutsättningar2:=And(förutsättningar,morgonöppnat)

    i8(
    {Ger köpsignal om kurs_över är sant och inget_innehav är sant}
    köpsignal=And(kurs_under,förutsättningar2)

    {Nollställer globala cellen 500}
    SetGVarIf(0,501,1)

    {Sätter den globala cellen 500 till 1 om köpsignal}
    SetGVarIf(1,501,köpsignal)

    Mult(köpsignal,25)
    )




    sl) Saren Bull Köp (kopplat grafiskt och via "automatisk orderläggning" till instrumentet minilong omx J)

    {Saren Bull Köp }
    {Version 2011-08-14}

    innehav_ok:=Le(Portfolio(v),0)
    val:=GetGVar(500)
    bear_innehav:=GetGVar(503)
    SetGVarIf(Portfolio(v),502,1)
    signal=And(And(innehav_ok,Eqv(val,1)),Le(bear_innehav,0))
    Mult(signal,25)


    sl) Saren Bull Sälj (kopplat grafiskt och via "automatisk orderläggning" till instrumentet minilong omx J)

    {Saren Bull sälj}
    {Version 2011-08-14}

    innehav_ok:=Gt(Portfolio(v),0)
    val:=GetGVar(501)
    signal1=Or(Eqv(val,2),Le(Mult(1440,Sub(Market(c),Frac(Date()))),15))
    signal2=And(signal1,innehav_ok)
    Mult(signal2,20)



    sl) Saren Bear Köp (kopplat grafiskt och via "automatisk orderläggning" till instrumentet minishrt omx R6)

    {Saren Bear köp}
    {Version 2011-08-14}

    innehav_ok:=Le(Portfolio(v),0)
    val:=GetGVar(501)
    bull_innehav:=GetGVar(502)
    SetGVarIf(Portfolio(v),503,1)
    signal=And(And(innehav_ok,Eqv(val,2)),Le(bull_innehav,0))
    Mult(signal,30)


    sl) Saren Bear Sälj (kopplat grafiskt och via "automatisk orderläggning" till instrumentet minishrt omx R6)

    {Saren Bear sälj}
    {Version 2011-08-14}

    innehav_ok:=Gt(Portfolio(v),0)
    val:=GetGVar(500)
    signal1=Or(Eqv(val,1),Le(Mult(1440,Sub(Market(c),Frac(Date()))),15))
    signal2=And(signal1,innehav_ok)
    Mult(signal2,25)



    va) Saren insats

    insats:=ScrPar(32)
    köpantal:=Int(Div(insats,s))
    innehav:=Portfolio(v)
    i1(
    övermål=Ge(innehav,köpantal)
    slutantal1=If(övermål,0,SUB(köpantal,innehav))
    slutantal1)




    Anders

  • #2
    Det luriga kan vara att det ligger något värde i cell 502 eller 503 som blockerar den andra modellen. De kan ju bara köpa om värdet är noll. Viktigt att scripten är anslutna till rätt papper, och inga andra papper. Alltså, Bull-script kopplade endast till Bull och Bear-script kopplade endast till Bear. Om något av dem inte är kopplat alls kan inte värdet i motsvarande global cell nollställas.

    Comment


    • #3
      Ursprungligen postat av Tradern Visa inlägg

      Dessutom så får jag inte skriptet att fungera om jag har inte handla strax innan stängning igång. Den finns med i skriptet men utkommenterat. Ser du något fel där?


      sl) Saren Bear (Kopplat grafiskt till indexet OMXS30)

      {Saren Bear}
      {Version 2011-08-14_2}

      ......

      {Nollställer globala cellen 500}
      SetGVarIf(0,501,1)

      {Sätter den globala cellen 500 till 1 om köpsignal}
      SetGVarIf(1,501,köpsignal)

      Mult(köpsignal,25)
      )

      Anders

      Jag tror jag har hittat buggen. Bear ska signalera 2 i cell 501. Jag hoppas det blir bättre imorgon.



      Anders

      Comment


      • #4
        "{Förutsättning för köp är att inget innehav finns och att det inte är försent på eftermiddagen}
        förutsättningar:=And(inget_innehav,DagEjStängt)

        {Förutsättning för köp är att inget innehav finns och att det inte är försent på eftermiddagen}
        förutsättningar2:=And(förutsättningar,morgonöppnat)"




        förutsättningar är en delmängd av förutsättningar2, det funkar inte.

        Comment


        • #5
          Ursprungligen postat av nga Visa inlägg
          "{Förutsättning för köp är att inget innehav finns och att det inte är försent på eftermiddagen}
          förutsättningar:=And(inget_innehav,DagEjStängt)

          {Förutsättning för köp är att inget innehav finns och att det inte är försent på eftermiddagen}
          förutsättningar2:=And(förutsättningar,morgonöppnat)"


          förutsättningar är en delmängd av förutsättningar2, det funkar inte.
          Stämmer verkligen detta. Skriptet verkar ju fungera förut att skriptsnutten som ska hindra köp på slutet av dan. Som du ser har jag "kortslutit" den snutten.

          Hur menar du att man skulle göra istället? Jag testade att Flytta ner kontrollera ner under i7( avsnittet. Var dock tvungen att isåfall ta bort : tecknet. Jag har nog missförstått något varför fungerat det annorlunda inne eller utanför i7( parantesen?


          Anders

          Comment


          • #6
            Jo, det stämmer att delnamn av andra namn oftast får scriptkompilatorn att få spader. Det kan bli träff på fel variabel när scriptet exekveras. I det här fallet är lösningen helt enkelt att ändra variabelnamnen till:

            {Förutsättning för köp är att inget innehav finns och att det inte är försent på eftermiddagen}
            förutsättningar1:=And(inget_innehav,DagEjStängt)

            {Förutsättning för köp är att inget innehav finns och att det inte är försent på eftermiddagen}
            förutsättningar2:=And(förutsättningar1,morgonöppnat)


            Nu är det unika namn och det blir ingen konflikt.

            Comment


            • #7
              Ursprungligen postat av Tradern Visa inlägg
              Jag tror jag har hittat buggen. Bear ska signalera 2 i cell 501. Jag hoppas det blir bättre imorgon.



              Anders
              Nu fungerade signalerna, dock så spärrade extra skriptet köpet ändå. Förstår dock inte varför.

              Comment


              • #8
                Ursprungligen postat av Rikard Nilsson Visa inlägg
                Jo, det stämmer att delnamn av andra namn oftast får scriptkompilatorn att få spader. Det kan bli träff på fel variabel när scriptet exekveras. I det här fallet är lösningen helt enkelt att ändra variabelnamnen till:

                {Förutsättning för köp är att inget innehav finns och att det inte är försent på eftermiddagen}
                förutsättningar1:=And(inget_innehav,DagEjStängt)

                {Förutsättning för köp är att inget innehav finns och att det inte är försent på eftermiddagen}
                förutsättningar2:=And(förutsättningar1,morgonöppnat)


                Nu är det unika namn och det blir ingen konflikt.

                aha. det var ordet som var delmängden. Det såg jag inte. Tack för hjälpen båda två. Tyvärr funkar fortfarande inte del som ska förindra köp innan stängning.


                Anders

                Comment


                • #9
                  Ursprungligen postat av Tradern Visa inlägg
                  Nu fungerade signalerna, dock så spärrade extra skriptet köpet ändå. Förstår dock inte varför.

                  Hm, fick du ett riktigt orderförsök eller spärrades ordern första gången av ett xk)-script?

                  Ursprungligen postat av Tradern Visa inlägg
                  aha. det var ordet som var delmängden. Det såg jag inte. Tack för hjälpen båda två. Tyvärr funkar fortfarande inte del som ska förindra köp innan stängning.


                  Anders
                  Det är inte så enkelt att du har kvar följande:

                  {Inga nya positioner tas de sista 40 minutrarna på marknadens öppettid.}
                  {DagEjStängt:=ge(mult(1440,sub(market(c),frac(date()))),40)}
                  DagEjStängt:=And(1,1)

                  DagEjStängt är alltid sant och släpper därmed alltid igenom signalen längre ner i scriptet.

                  Comment


                  • #10
                    Ursprungligen postat av Rikard Nilsson Visa inlägg
                    Hm, fick du ett riktigt orderförsök eller spärrades ordern första gången av ett xk)-script?
                    Nej felet ligger nog inte i extraskriptet. Fick lite hjälp av din kollega Torsten så vi kan nog tro att felet ligger tidigare än extra skriptet. Det verkar bli något fel i beräkningen av antal som ska köpas. Resultatet blir som du ser nedan en nollorder.

                    09:21 ORDER "sl) Saren Bear Köp MINISHRT OMX R6(35)" kurs 126.6600
                    09:21 EJ SÄND NOLLORDER
                    09:21 ORDER "sl) Saren Bear Köp MINISHRT OMX R6(35)" kurs 126.6600
                    09:21 ORDER "xk) Delay order spärrar order för MINISHRT OMX R6(35)" kurs 126.6600

                    Insatsskriptet är inklistat nedan. Det fungerar bra för bull som köps precis som det ska. Men Bear vägrar. Dock så lämnar Bullköpet ett antal hundra på depån...

                    va) Saren insats
                    insats:=ScrPar(32)
                    köpantal:=Int(Div(insats,s))
                    innehav:=Portfolio(v)
                    i1(
                    övermål=Ge(innehav,köpantal)
                    slutantal1=If(övermål,0,SUB(köpantal,innehav))
                    slutantal1)



                    Ursprungligen postat av Rikard Nilsson Visa inlägg
                    Det är inte så enkelt att du har kvar följande:

                    {Inga nya positioner tas de sista 40 minutrarna på marknadens öppettid.}
                    {DagEjStängt:=ge(mult(1440,sub(market(c),frac(date()))),40)}
                    DagEjStängt:=And(1,1)

                    DagEjStängt är alltid sant och släpper därmed alltid igenom signalen längre ner i scriptet.

                    Nej jag har kortslutit den så att skriptet ska fungera för övrigt. Men om jag utkommenterar DagEjStängt:=And(1,1) och istället tar bort utkommenteringen på raden innan så får jag inga signaler alls!


                    Anders

                    Comment


                    • #11
                      Nja, det beror nog bara på att kl är efter börsstängning nu. Prova imorgon så tror jag det fungerar.

                      Comment


                      • #12
                        Ursprungligen postat av Rikard Nilsson Visa inlägg
                        Nja, det beror nog bara på att kl är efter börsstängning nu. Prova imorgon så tror jag det fungerar.

                        Du har naturligtvis rätt. Jag kör så nu så får vi se hur det blir vid kvällsavslutningen


                        Anders

                        Comment

                        Working...
                        X