Allmänt meddelande

Collapse
No announcement yet.

Trigger i grafen omr kursstaplar.

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

  • #31
    Ursprungligen postat av ove Visa inlägg
    Berra eller någon?

    Försöker modifiera scriptet med att ersätta ROC som signalgivare med medelvärden.

    Problem med stängning_igår:cmpref(c,1,a)
    Signalerna baserar sig även på stängning på dagen före igår?
    Det blir så att för att få signal skall både stängning igår och stängning dagen före igår vara sanna? Vad gör jag för fel?

    Sälj3=And(Sälj2,Not(Aref(Sälj2,1))) Med denna funktion har det då jag nyttjat flera medelvärden fått signal enbart då signalen blir sann, dvs endast en flagga. Nu blir det flaggor för alla bars som signalen är sann. Någon som begriper?

    Berra har vad jag sett testat ROC-modellen baserat på tr_upp resp tr_ned.
    Har det fungerat?


    stängning_igår:=cmpref(c,1,a)
    tr_upp:=mult(stängning_igår,1.001)
    tr_ned:=div(stängning_igår,1.001)

    ma1:=Mov(c,5,e)
    ma2:=Mov(c,10,e)
    ma3:=Mov(c,20,e)
    ma4:=Mov(c,50,e)
    ma5:=Mov(c,20,s)
    ma6:=Mov(c,50,s)

    Rc:=ROC(ma5,1,%)
    TrRc:=Mov(Rc,20,s)
    Trigg:=Mov(TrRc,10,s)

    Mcd:=sub(ma5,ma6)
    Trigg1:=mov(Mcd,10,s)

    n1:=Lt(ma1,ma2)
    n2:=Lt(ma1,ma3)
    n3:=Lt(Trigg1,Aref(Trigg1,1))
    n4:=Lt(ma1,tr_ned)

    i5(

    Sa=Add(n1,n2)

    Sälj1=And(Eqv(Sa,2),lt(ma1,tr_ned))
    Sälj2=And(Sälj1,Aref(Sälj1,1))
    Sälj3=And(Sälj2,Not(Aref(Sälj2,1)))

    draw(tr_upp,1,bqb0)
    draw(tr_ned,2,rqb0)
    draw(stängning_igår,3,mqb2)
    Mult(Sälj3,10)
    )

    {@A(0,)}

    Gårdagens close är en konstant under hela dagen och det borde gå
    att använda föjande. Har själv inte provat.

    Sälj1=lt(ma1,tr_ned)
    Sälj2=and(Sälj1,lt(aref(ma1,1),tr_ned))
    Sälj3=and(Sälj2,ge(aref(ma1,2),tr_ned))

    Comment


    • #32
      Ursprungligen postat av ove Visa inlägg
      Tackar Wicke.

      Bänken har jag aldrig nyttjat. Observerar bara att det inte blir signaler utifrån stängningen igår.

      då jag ändrar till att medelvärden skall ge flagga och signal, då fungerar inte stängning_igår:=cmpref(c,1,a). Det blir då att signalerna villkoras till stängning_dagenföreigår? Det hoppas över "igår" till "dagen före igår".

      Ove
      Antar då att du kör med enbart diagramritning påslaget?

      Jag har tittat ett tag på de här scripten nu, med diagramritning påslaget, och kan inte se att signalen "hoppar över igår".

      Kanske den här raden som du lagt utanför intradayparentesen ställa till det?
      Sa=add(add(add(u1,u2),add(u3,u4)),u5)
      Flytta in den eller skriv ":=" efter Sa.

      Varför "köp2=and(köp1,Not(aref(köp1,1)))" ger fler signalstaplar efter varandra har jag inget bra svar på. Får återkomma med detta.

      Comment


      • #33
        Prova mitt sätt i tidigare mail. Det kanske minskar antalet signaler.

        Comment


        • #34
          Ove, nu har jag hittat felet.

          Problemet är den här raden
          u5:=gt(c,tr_upp)
          Som innehåller en beräkning på stängning_igår

          När du då gör en aref på denna räknas stängning_iförrgår ut.

          Lösningen är att skriva om lite i scriptet och lägga u5 efter aref-satsen.
          Det är också generellt bättre att använda and() istället för add() när man ska lägga ihop villkor, eftersom man då får bättre kontroll på vad man sysslar med.


          Om du ersätter dina köp och blanka-rader i ditt senaste scriptexempel (inlägg #30) med nedanstående rader istället, så får du nog som du önskar det.



          i5(
          köp1=and(and(u1,u2),u3),u4)
          köp2=and(köp1,Not(aref(köp1,1)))
          köp3=and(köp2,u5)
          köp4=and(köp3,le(portfolio(v),0))

          mult(köp4,10)
          )


          i5(
          blanka1=and(and(n1,n2),n3),n4)
          blanka2=and(blanka1,Not(aref(blanka1,1)))
          blanka3=and(blanka2,n5)
          blanka4=and(blanka2,ge(portfolio(v),0))

          mult(blanka4,10)
          )
          Last edited by LillWicke; 2013-03-03, 10:09.

          Comment


          • #35
            Skulle vilja passa på att komma med en liten varning att alltid scripta så att flera signaler efter varandra inte kan förekomma.

            Det ser snyggt ut i diagrammen, men om man kör skarpt och signalen av någon anledning just då inte exekveras hos Nordnet, blir det ingen ny signal på ett bra tag och då kan man missa en hel uppgång.

            För skarpt läge finns ju raden:
            köp4=and(köp3,le(portfolio(v),0))
            som hindrar att flera ordrar läggs efter varandra. Men med den skillnaden att för blockering krävs det också att en skarp order först har blivit exekverad av Nordnet.

            Comment


            • #36
              Trigger i omr kursstaplar.

              Hej och tackar Wicke.

              Jag har mod scripten enl ditt förslag. Det blir färggrant på omr flaggor. Jag ville mest undvika för många flaggor för det plingar ju så förbaskat.
              Jag inbillar mig dessa scriptmodeller kan få bort signaler som bara ger förluster.
              Går det att få till ordermodeller kopplat till exitsen enl nedan?
              Kan exitsen med den här modellen för köp resp blankning särskiljas så att de vet på vilken sida innehavet är?
              Var lägger jag in antalet vid köp resp blanka, OMX Tracker köp alt Omx tracker blanka?
              Exit skall köpa/sälja allt innehav.
              Om jag då kurserna inte ligger i fas med stängning_igår och handlar manuellt tar då exitsen hand om bevakningen även då?
              Det blev många frågor detta hoppas du har möjlighet att hjälpa mig att få stuns på scripten.

              Hälsningar

              Ove

              {KÖP TERMIN }

              {Stäng 40 min före börsstängning}
              Öppet:=ge(mult(1440,sub(market(c),frac(date()))),40)
              {Säkerställ att klockan är minst 09.30}
              inpådagen:=gt(Frac(date()),0.396)

              stängning_igår:=cmpref(c,1,a)
              tr_upp:=mult(stängning_igår,1.001)
              tr_ned:=div(stängning_igår,1.001)

              ma1:=mov(c,5,e)
              ma2:=mov(c,10,e)
              ma3:=mov(c,20,e)
              ma4:=mov(c,50,e)

              r1:=ROC(c,1,%)
              rma:=mov(r1,5,e)

              tr0:=0
              tr1:=0.01
              tr2:=-0.01

              u1:=gt(ma1,ma2)
              u2:=gt(ma1,ma4)
              u3:=gt(ma3,ma4)
              u4:=gt(ma1,tr_upp)

              {Sa:=add(add(u1,u2),add(u3,u4))}

              i5(

              köp1=and(and(u1,u2),u3)
              köp2=and(köp1,u4)
              köp3=and(köp2,le(portfolio(v),0))

              draw(rma,1,bpa0)
              draw(stängning_igår,2,gqb2)
              draw(tr_ned,3,rqb0)
              draw(tr_upp,4,bqb0)
              draw(tr1,5,bpa0)
              draw(tr2,6,rpa0)

              mult(köp3,10)
              )

              {@A(0,)}
              {EXIT TERMIN KÖP}

              ma1:=mov(c,5,e)
              ma2:=mov(c,10,e)
              ma3:=mov(c,20,e)
              ma4:=mov(c,50,e)


              n1:=lt(ma1,ma2)
              n2:=lt(ma1,ma4)
              n3:=lt(ma2,ma4)

              {Sa=add(add(n1,n2),n3)}

              i5(

              exitköp1=and(and(n1,n2),n3)
              exitköp2=and(exitköp1,ge(portfolio(v),0))

              mult(exitköp2,7)

              {BLANKA TERMIN }

              {Stäng 40 min före börsstängning}
              Öppet:=ge(mult(1440,sub(market(c),frac(date()))),40)
              {Säkerställ att klockan är minst 09.30}
              inpådagen:=gt(Frac(date()),0.396)

              stängning_igår:=cmpref(c,1,a)
              tr_upp:=mult(stängning_igår,1.001)
              tr_ned:=div(stängning_igår,1.001)

              ma1:=mov(c,5,e)
              ma2:=mov(c,10,e)
              ma3:=mov(c,20,e)
              ma4:=mov(c,50,e)

              r1:=ROC(c,1,%)
              rma:=mov(r1,5,e)

              tr1:=0.01
              tr2:=-0.01

              n1:=lt(ma1,ma2)
              n2:=lt(ma1,ma4)
              n3:=lt(ma3,ma4)
              n4:=lt(ma1,tr_ned)

              {Sa:=add(add(n1,n2),add(n3,n4))}

              i5(

              blanka1=and(and(n1,n2),n3)
              blanka2=and(blanka1,n4)
              blanka3=and(blanka2,le(portfolio(v),0))

              draw(ma1,1,rqb)
              draw(ma2,2,bqb)
              draw(ma3,3,rqb)
              draw(ma4,4,bqb)

              mult(blanka3,10)
              )

              {@A(0,)}


              {EXIT TERMIN BLANKA}

              ma1:=mov(c,5,e)
              ma2:=mov(c,10,e)
              ma3:=mov(c,20,e)
              ma4:=mov(c,50,e)


              u1:=gt(ma1,ma2)
              u2:=gt(ma1,ma4)
              u3:=gt(ma2,ma4)

              {Sa=add(add(u1,u2),u3)}

              i5(

              exitblanka1=and(and(u1,u2),u3)
              exitblanka2=and(exitblanka1,ge(portfolio(v),0))

              mult(exitblanka2,5)
              )

              Comment


              • #37
                Hej och tackar Wicke.

                Jag har mod scripten enl ditt förslag. Det blir färggrant på omr flaggor. Jag ville mest undvika för många flaggor för det plingar ju så förbaskat.

                Du får skaffa dig ett par hörselkåpor eller stänga av högtalarna.
                Annars går det bra att köra med not(aref) under utvecklingsperioden, men slå av den när du kör skarpt.


                Jag inbillar mig dessa scriptmodeller kan få bort signaler som bara ger förluster.

                Vissa förluster kan man aldrig renskriva sig ifrån.

                Går det att få till ordermodeller kopplat till exitsen enl nedan?

                Ja

                Kan exitsen med den här modellen för köp resp blankning särskiljas så att de vet på vilken sida innehavet är?

                Ja funktionen portfolio() kan användas till detta.

                Var lägger jag in antalet vid köp resp blanka, OMX Tracker köp alt Omx tracker blanka? Exit skall köpa/sälja allt innehav.

                En komplett (parallell) ordermodell består av tre script sl) trigger-, va) antal- och vl) prisscript.
                Antalsscriptet förses lämpligen med funktionen scrpar() som kan hämta värden från fälten i ”indata script”. Det finns färdiga exempel på antal och prisscript. Hur du bygger en ordermodell finns beskrivet här:

                http://www.autostock.se/NATscriptref/Lektion12.html

                Om jag då kurserna inte ligger i fas med stängning_igår och handlar manuellt tar då exitsen hand om bevakningen även då?

                Ja.

                Det blev många frågor detta hoppas du har möjlighet att hjälpa mig att få stuns på scripten.

                Jag lägger in exempel på long och exit long triggerscript enligt dina villkor nedan. Observera att du alltid måste ha med alla säkerhestsspärrar i samtliga triggerscript. Notera även särskilt det jag markerat med rött.



                {KÖP TERMIN }

                {Stäng 40 min före börsstängning}
                Öppet:=ge(mult(1440,sub(market(c),frac(date()))),40)
                {Säkerställ att klockan är minst 09.30}
                inpådagen:=gt(Frac(date()),0.396)

                {spärr som hindrar orderläggning 1 minut efter senaste order}
                timelock:=1
                lt1:=LastTrade(B,D)
                lt2:=LastTrade(S,D)
                minSedanKöp:=mult(sub(date(),lt1),1440)
                minSedanSälj:=mult(sub(date(),lt2),1440)

                stängning_igår:=cmpref(c,1,a)
                tr_upp:=mult(stängning_igår,1.001)
                tr_ned:=div(stängning_igår,1.001)

                ma1:=mov(c,5,e)
                ma2:=mov(c,10,e)
                ma3:=mov(c,20,e)
                ma4:=mov(c,50,e)

                r1:=ROC(c,1,%)
                rma:=mov(r1,5,e)

                tr0:=0
                tr1:=0.01
                tr2:=-0.01

                u1:=gt(ma1,ma2)
                u2:=gt(ma1,ma4)
                u3:=gt(ma3,ma4)
                u4:=gt(ma1,tr_upp)

                i5(
                orderdelay_ok=and(gt(minSedanKöp,timelock),gt(minSedanSälj,timelock))
                köp1=and(and(u1,u2),u3)
                köp2=and(köp1,u4)
                köp3=and(köp2,eqv(portfolio(v),0))
                köp4=and(köp3,orderdelay_ok)
                köp5=and(and(köp4,öppet),inpådagen)

                draw(rma,1,bpa0)
                draw(stängning_igår,2,gqb2)
                draw(tr_ned,3,rqb0)
                draw(tr_upp,4,bqb0)
                draw(tr1,5,bpa0)
                draw(tr2,6,rpa0)

                mult(köp5,10)
                )

                {@A(0,)}


                {EXIT TERMIN KÖP}

                {Stäng 40 min före börsstängning}
                Öppet:=ge(mult(1440,sub(market(c),frac(date()))),40)
                {Säkerställ att klockan är minst 09.30}
                inpådagen:=gt(Frac(date()),0.396)

                {spärr som hindrar orderläggning 1 minut efter senaste order}
                timelock:=1
                lt1:=LastTrade(B,D)
                lt2:=LastTrade(S,D)
                minSedanKöp:=mult(sub(date(),lt1),1440)
                minSedanSälj:=mult(sub(date(),lt2),1440)

                ma1:=mov(c,5,e)
                ma2:=mov(c,10,e)
                ma3:=mov(c,20,e)
                ma4:=mov(c,50,e)

                n1:=lt(ma1,ma2)
                n2:=lt(ma1,ma4)
                n3:=lt(ma3,ma4)

                i5(
                orderdelay_ok=and(gt(minSedanKöp,timelock),gt(minSedanSälj,timelock))

                exitköp1=and(and(n1,n2),n3)
                exitköp2=and(exitköp1,gt(portfolio(v),0))
                exitköp3=and(exitköp2,orderdelay_ok)
                exitköp4=and(and(exitköp3,öppet),inpådagen)

                mult(exitköp4,7)
                )
                Last edited by LillWicke; 2013-03-04, 00:49.

                Comment


                • #38
                  Tackar igen Wicke.

                  Flaggorna försvinner helt för Exit i grafen.
                  Är det så att det blir flagga på Exit endast då det finns ett innehav?

                  Går det att få exitflaggor att alltid synas i grafen? Då köp/sälj är baserade på slutkurs_igår vore det bra om exitflaggorna syntes i grafen för då "trenden" över/under slutkurs_igår vänder är exitflaggorna bra att ha som indukation för att handla manuellt utanför "trenden".

                  Ove



                  {EXIT TERMIN KÖP}

                  {Stäng 40 min före börsstängning}
                  öppet:=ge(mult(1440,sub(market(c),frac(date()))),40)
                  {Säkerställ att klockan är minst 09.30}
                  inpådagen:=gt(Frac(date()),0.396)

                  {spärr som hindrar orderläggning 1 min efter senaste order}
                  timelock:=1
                  lt1:=LastTrade(B,D)
                  lt2:=LastTrade(S,D)
                  minSedanKöp:=mult(sub(date(),lt1),1440)
                  minSedanSälj:=mult(sub(date(),lt2),1440)

                  ma1:=mov(c,5,e)
                  ma2:=mov(c,10,s)
                  ma3:=mov(c,20,e)
                  ma4:=mov(c,50,e)


                  n1:=lt(ma1,ma2)
                  n2:=lt(ma1,ma4)
                  n3:=lt(ma2,ma4)

                  i5(
                  orderdelay_ok=and(gt(minSedanKöp,timelock),gt(minSedanSälj,timelock))
                  exitköp1=and(and(n1,n2),n3)
                  exitköp2=and(exitköp1,gt(portfolio(v),0))
                  exitköp3=and(exitköp2,orderdelay_ok)
                  exitköp4=and(and(exitköp3,öppet),inpådagen)

                  mult(exitköp4,7)
                  )

                  Comment


                  • #39
                    Ursprungligen postat av ove Visa inlägg
                    Tackar igen Wicke.

                    Flaggorna försvinner helt för Exit i grafen.
                    Är det så att det blir flagga på Exit endast då det finns ett innehav?

                    Går det att få exitflaggor att alltid synas i grafen? Då köp/sälj är baserade på slutkurs_igår vore det bra om exitflaggorna syntes i grafen för då "trenden" över/under slutkurs_igår vänder är exitflaggorna bra att ha som indukation för att handla manuellt utanför "trenden".

                    Ove
                    Enter och exit-scripten ovan är gjorda för att kunna köra skarpt med och då behövs det en massa säkerhetskolijox i scripten för att det ska bli bra.
                    Såsom det är skrivet nu kan exit inte ge någon flagga och det beror på innnehavskontrollen precis som du säger.

                    Om man vill ha flaggor när man testar kan man skriva:
                    {exitköp2=and(exitköp1,gt(portfolio(v),0))}
                    exitköp2=and(exitköp1,1)

                    och får då två varianter av exitköp2 där den klammrade varianten alltid är inaktiv. När man skall köra skarpt skriver man istället:
                    exitköp2=and(exitköp1,gt(portfolio(v),0))
                    {exitköp2=and(exitköp1,1)}

                    Comment

                    Working...
                    X