Allmänt meddelande

Collapse
No announcement yet.

Triggerlinjer ROC

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

  • Triggerlinjer ROC

    Försökt skapa två triggerlinjer för ROC men kunskapen är för begränsad. Finns det någon som känner för att göra en insats är jag tacksam.

    Tänkt är att byta nollinjen som triggerlinje för "R1" nedan mot en triggerlinje som ligger 2 enh under nollinjen som ger signal för nedgång.

    Och för uppgång byts nollinjen ut mot en triggerlinje som ligger 2 enh över nollinjen.

    R1=ROC(c,1,%)
    Signal1:=And(Cross(R1,0),Gt(R1,Aref(R1,1))) = Nuläget i scriptet. Crosslinjen 0 ersätts om möjligt med triggernivåer på 2 resp -2?

    mvh

    Ove

  • #2
    Har du provat att skriva:
    Signal1:=And(Cross(R1,2),Gt(R1,Aref(R1,1)))
    för köpsiganal
    och
    Signal1:=And(Cross(R1,-2),Lt(R1,Aref(R1,1)))
    för säljsignal.

    Comment


    • #3
      Triggerlinje ROC

      Tackar.

      Jag har efter förmåga testat flera alt även detta, men det fungerar inte.
      Jag antar att +2 och -2 måste ha någon typ av funktion?
      Hur göra?

      mvh

      Ove

      Comment


      • #4
        Nej, cross() behöver ingen funktion.
        Det jag undrar över är hur du skriver sjäva raderna. Ser att du i exemplet ovan har mixat = och := på ett otillåtet sätt.

        Comment


        • #5
          Triggerlinjer ROC

          Tackar.

          Nyttjat nybörjarscriptet skarpt en kort tid. Blandat resultat bla pga felsignaler. Måste då rätta till orderläget manuellt och om min bevakning sviktar så hinns många punkter förloras.
          Scriptet är sen ett par dagar sedan kompl med Retval och Getval som lär ta hand om sekundkorta signaler. Får se när börsen kommer igång efter nyår hur det fungerar och om det ges signal och motsignal så orderläget rättas till vid felsignal.
          Om man har triggerlinjerna på +2 för uppgång och -2 för nedgång föreställer jag mig att säkrare signaler erhålles. Om tex ROC får fel ordersignal vid cross +2 och kurvan vänder ner så bör det bli en motsignal då kurvan cross -2 och orderläget rättas till? Det fungerar inte då ROC-kurvan snuddar vid 0 och snabbt ändrar riktning för då ges ju ingen motsignal som rättar till en felorder. Hoppas nu att Retval och Getval är lösningen.

          Scriptet för köp.

          R1=ROC(c,1,%)

          i60(

          Köp1=And(Cross(R1,0),Gt(R1,Aref(R1,1)))
          Köp2=And(Köp1,Not(Aref(Köp1,1)))
          Retval(Köp2,0)
          Köp3=And(Getval(0),le(portfolio(v),0))

          Draw(R1,1,baa0)

          Mult(Köp3,10)
          )

          Gott Nytt År

          Ove

          Comment


          • #6
            Om du skriver som du gör vet Roc() inte vilken period du vill att den ska jobba med.

            Antingen skriver du
            R1:=ROC(c,1,%) och har kvar den på samma position.
            Eller så flyttar du ned den under intradayparentesen.
            så här:

            i60(
            R1=ROC(c,1,%)

            Om du vill att roc() skall ge signal precis då 2 korsas skriver du:
            Köp1=And(Cross(R1,2),Gt(R1,Aref(R1,1)))

            Angående Retval() lagrar funktionen ett värde i en cell så länge som innevarande stapel är aktuell, därefter nollas värdet. (i ditt fall 60min)

            Som du nu skrivit, kommer ditt script att ge samma resultat, med eller utan retval().
            Om du menar att du vill ta hand om sekundfladder blir scriptningen genast mer komplicerad.

            Comment


            • #7
              Triggerlinjer ROC

              Tackar igen.

              Möjligt att jag missförstått signalerna med crosslinjerna. Jag har testat R1 med både kolon och utan. Då jag ersätter i cross 0:an i båda fallen med +2 resp -2 så försvinner alla flaggor från grafen och då har jag tagit för givet att köp/sälj-signalerna inte heller fungerar.
              Är det då så att signalerna fungerar trots att inga flaggor uppstår i grafen och hur får jag i så fall in flaggorna? Retval och getval verkar då som jag fattar verkningslösa och kan då tas bort, eller?

              R1:=ROC(c1,1,%)

              i60(

              Köp1=And(Cross(R1,2),Gt(R1,Aref(R1,1)))
              Köp2=And(Köp1,Not(Aref(Köp1,1)))
              Retval(Köp2,0)
              Köp3=And(Getval(0),le(portfolio(v),0))

              Draw(R1,1,baa0)

              Mult(Köp2,10)
              )

              mvh

              Ove

              Comment


              • #8
                Hej Ove,

                Flaggorna försvinner därför att linjerna +2 samt -2 korsas aldrig.

                Max värde du kan ha är ca +-0.3.

                Nedan script ritar ut linjen som du vill korsa.

                r1:=roc(c,1,%)
                r0:=0 {värde mellan -0.3 - +0.3}

                i60(

                köp1=and(cross(r1,r0),gt(r1,aref(r1,1)))
                köp2=and(köp1,not(aref(köp1,1)))

                draw(r1,1,baa0)
                draw(r0,2,rpa0)

                mult(köp2,10)
                )

                Comment


                • #9
                  Ja, man kanske ska kommentera roc() lite närmare.

                  Roc() ger alltså skillnaden i procent eller faktiskt värde mellan startpunkten och nutid.
                  I ditt fall Ove har du alltså valt startpunkten en period bakåt (60min i ditt fall)
                  Du har alltså önskat att börsen skall stiga med över 2% på en timme för att scripten ska ge signal , vilket kanske är lite magstarkt?

                  Du kanske istället hade menat att börsen skall stiga med 2 punkter på en timme för att ge signal? Då skall du istället skriva:
                  "R1:=ROC(c,1,$)"

                  Last edited by LillWicke; 2013-01-01, 20:56.

                  Comment


                  • #10
                    Triggerlinjer ROC

                    Tackar för hjälpen Wicke.

                    Jag tänkte rätt men det blev riktigt fel. Jag började med ett fixa en ROC-indikator med skalningen+- 100 och testa med olika perioder på c och försökte identifiera utifrån indikatorn var triggerlinjerna lämpligen borde ligga. Utifrån indikatorn ansåg jag att linjerna borde ligga på +2 och -2. Att 2innebar en kursföränring på 2% på en timme gick inte in i mina få grå. Nu har jag gafflat in triggernivåerna och hoppas att det även löst felsignalerna.

                    Jag var egentligen ute efter att mäta en kurvas/linjes lutning. Testade med NAT:s ArcTang. Begriper inte hur den funktionen fungerar så vitt jag förstår så ger inte den någon vinkel enl ArcTangens. Valde därför ROC som vad jag uppfattat det också visar trenden.

                    v för ArcTang är så vitt jag minns motstående katet div med närliggande katet. Det bör ju bli att motstående katet är kursrörelsen under perioden
                    och närliggande katet blir då periodens tid. Jag inbillar mig vinkeln på trenden kan ha ett värde. Det kanske går att gaffla in en lönsam lutning?

                    Tack igen Wicke

                    Ove

                    Comment


                    • #11
                      Roligt om det klarnar lite.

                      NAT:s inbyggda "Atan()" är inte definierad som den "vanliga" arctan-funktionen varför den är olämplig till att mäta vinklar.

                      Vad du kan göra om du vill mäta lutningen är ju att mäta den i procent precis som man mäter lutningen av vägar på berg. Dvs. (skillnad i höjd)/(skillnad i sträcka)*100

                      Last edited by LillWicke; 2013-01-02, 13:33.

                      Comment


                      • #12
                        Triggerlinjer ROC

                        Försöker få bort falska signler.
                        Tänkt är att signalen skall utlösas till order först när signalen varit sann, tex efter som i det här fallet med 5 per, efter säg tre staplar. Försökt få till det men lyckas inte.
                        Bara orderflagggan skall synas i grafen.
                        Är det möjligt och kan någon hjälpa mig?

                        r1:=ROC(c,10,%)

                        r0:=0.2
                        r2:=-0.2

                        i5(
                        köp1=and(cross(r1,r0),gt(r1,aref(r1,1)))
                        köp2=and(köp1,sum(köp1,3)){funktionen som tänkt utlösa order efter 3 sanna staplar}????
                        köp3=and(and(köp2,not(aref(köp2,1))),le(portfolio(v),0))
                        flagga=and(and(köp2,not(aref(köp2,1))),le(portfolio(v),0))


                        draw(r1,1,bpa0)
                        draw(r0,2,bpa0)
                        draw(r2,3,rpa0)
                        draw(Mult(köp3,15),4,BSBF)
                        mult(köp3,10)
                        )

                        Comment


                        • #13
                          Hmm, cross() kan inte vara sann både i innevarande-, föregående-, och stapeln innan dess, samtidigt.

                          Du skulle kanske kunna skriva så här:
                          (Jag har tagit bort din flagga eftersom jag inte greppat vad den ska göra.
                          Jag har också tagit bort din sista draw() eftersom scriptet kommer att rita flaggor i alla fall när sista villkoret är sant.)


                          r1:=ROC(c,10,%)

                          r0:=0.2
                          r2:=-0.2

                          i5(
                          köp1=and(gt(r1,r0),gt(r1,aref(r1,1)))
                          köp2=and(and(köp1,aref(köp1,2),aref(köp1,3) {funktionen som tänkt utlösa order efter 3 sanna staplar}
                          köp3=and(köp2,le(portfolio(v),0)

                          draw(r1,1,bpa0)
                          draw(r0,2,bpa0)
                          draw(r2,3,rpa0)

                          mult(köp3,10)
                          )

                          Comment

                          Working...
                          X