Allmänt meddelande

Collapse
No announcement yet.

ConnorsRSI

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

  • ConnorsRSI

    Har någon gjort script för ConnorsRSI i NAT?

  • #2
    Menar du RSI2?

    Comment


    • #3
      ConnorsRSI är 1/3 *(RSI(Close,3) +RSI(Streak,2) + PercentRank)

      Streak är dagens change/mv av tidigare change
      PercentRank är antalet lägre close av senaste 100 perioder

      Comment


      • #4
        Nedanstående länk visar hur ConnorsRSI beräknas.
        http://www.marketcalls.in/wp-content...-Guidebook.pdf

        Tyvärr går ConnorsRSI inte att beräknas i NAT för närvarande.

        Problemet är "Percent Rank" som beräknas genom att jämföra dagens prisrörelse med alla andra dagars prisrörelser dag för dag 100 dagar bakåt, samt räkna ut hur många dagsprisrörelser som är lägre än dagens inom nämda period.

        För detta krävs en loop-funktion och språket saknar för närvarande en sådan.

        Last edited by LillWicke; 2013-05-29, 01:46.

        Comment


        • #5
          Tack LillWicke för svaret.
          Jag ser fram mot att scriptspråket kan utvrcklas att klara PercentRank.

          Går det att göra ett första steg med de två första delarna i indikatorn?

          Comment


          • #6
            Ursprungligen postat av Brusander Visa inlägg
            Tack LillWicke för svaret.

            Går det att göra ett första steg med de två första delarna i indikatorn?
            Abrolut. Enligt ovanstående dokument är RSI(Streak,2)=RSI(c,2)
            Då skulle det enligt Connors bli i NAT:

            Stympad_connorsRSI=div(add(RSIW(3),RSIW(2)),2)

            Detta skall då köras i dagsupplösning.

            Last edited by LillWicke; 2013-05-29, 14:47.

            Comment


            • #7
              Jag har inte tittat närmare på villkoren, men skulle detta fungera för rank?

              today=div(sub(c,aref(c,1)),aref(c,1))
              SetGvarIf(today,500,1)
              rank=sum(lt(today,GetGvar(500)),100)

              Comment


              • #8
                Ursprungligen postat av Henric Visa inlägg
                Jag har inte tittat närmare på villkoren, men skulle detta fungera för rank?
                Ja, varför inte?
                Under förutsättning att sum()-funktionen inte hittar på något med det konstanta värdet i den globala variabeln, men det ska den nog inte göra.

                Brusander, då verkar det som om vi kan vi skriva en lösning för ConnorsRSI i NAT trots allt.
                (har lagt till en möjlighet att labba med andra perioder än 100 om man vill)



                { ConnorsRSI med variabel period, standard 100}
                period:=100
                today=div(sub(c,aref(c,1)),aref(c,1))
                SetGvarIf(today,500,1)
                antal=sum(lt(today,GetGvar(500)),period)

                {denna omskrivning enbart för pedagogikens skull om man vill laborera med en annan period än 100}
                percent_rank=mult(div(antal,period),100)

                ConnorsRSI=div(add(add(RSIW(3),RSIW(2)),percent_rank),3)

                draw(ConnorsRSI,2,bsa)

                Mult(1,0)

                EDIT: Detta är skrivet så att om diagrammet är aktivt och man klickar på Dagsstaplar kommer Connors-kurvan att beräknas på dagsstaplar, men om man klickar på 15min kommer kurvan att beräknas på 15min-staplar.

                Last edited by LillWicke; 2013-05-29, 14:53.

                Comment


                • #9
                  Hej Henrik och LilLWicke,

                  Spännande ! Har ni testat om det verkar fungera?

                  Jag som är ny i NAT skall försöka.

                  mvh
                  Återkommer

                  Comment


                  • #10
                    Ursprungligen postat av Brusander Visa inlägg
                    Hej Henrik och LilLWicke,

                    Spännande ! Har ni testat om det verkar fungera?
                    Ska man göra det också?

                    Jag ändrade lite i ursprungs koden ovan och lade till en draw()-funktion så att du kan se en kurva i analysområde 1.

                    Comment


                    • #11
                      Tack LillWicke och Henrik!

                      Jag börjar praktisera och testa användning och resultat.

                      Bästa hälsningar
                      Brusander

                      Comment


                      • #12
                        Den här borde väl fungera korrekt också? Så slipper man köra med global cell tänkte jag. Har lagt till parametrar också så att det går enkelt att lägga till indikatorn till en egen snabbknapp i Pro.



                        $par1:=2
                        $par2:=3
                        $par3:=100
                        { ConnorsRSI med variabel period, standard 100}
                        today=div(sub(c,aref(c,1)),aref(c,1))
                        retval(today,2)
                        antal=sum(lt(today,getval(2)),$par3)
                        percent_rank=mult(div(antal,$par3),$par3)
                        ConnorsRSI=div(add(add(RSIWS($par1),RSIWS($par2)),percent_rank),3)
                        add(connorsrsi,0)
                        Attached Files

                        Comment


                        • #13
                          Vore riktigt trevligt att ha den som en funktion med, så man kan ha mer slimmade script

                          Comment


                          • #14
                            Ingen omöjlighet att fixa, kolla så att den verkar stämma först bara.

                            Comment


                            • #15
                              Scripta delkomponent 2 - RSIWS(Streak,2) - i ConnorsRSI(3,2,100)

                              Jag kikade på Rikards ovan script avseende ConnorsRSI a k a ConnorsRSI(3,2,100) och ser att delkomponent 2 - RSIWS(Streak,2) är felaktigt i scriptet.
                              Se nedan text i rött som beskriver hur man räknar fram delkomponent 2 av ConnorsRSI(3,2,100) alltså RSIWS(Streak,2). När jag läser nedan text så ser jag inga beräkningar på
                              RSIWS(Streak,2) i Rikards ovan formel utan jag ser bara att han kör en vanlig RSIWS(2) på senaste kursen på 2 perioder - när det är tänkt att delkomponent nummer 2 i
                              ConnorsRSI(3,2,100) alltså RSIWS(Streak,2) skall appliceras på den så kallade ”Streak Duration” enligt nedan text och inte senaste kursen.
                              Är det någon scriptkung därute - Lill-Wicke, Henric eller någon annan som mäktar med att scripta RSIWS(Streak,2) delen enligt nedan beskriven logik -
                              detta inom ramen för totala ConnorsRSI(3,2,100) scriptet?

                              • RSIWS(Close,3)
                              • RSIWS(Streak,2)
                              • PercentRank(100)

                              “Duration of Up/Down Trend: When the closing price of a security is lower today than it was
                              yesterday, we say that it has “closed down”. If yesterday’s closing price was lower than the
                              previous day’s close, then we have a “streak” of two down close days. Our research has shown
                              that the longer the duration of a down streak, the more the stock price is likely to bounce when
                              it reverts to the mean. Likewise, longer duration up streaks result in larger moves down when
                              the stock mean reverts. In effect, the streak duration is another type of overbought/oversold
                              indicator.
                              The problem is, the number of days in a streak is theoretically unbounded, though we could
                              probably place some practical limits on it based on past experience. For example, we might
                              observe that there have been very few instances of either an up streak or a down streak lasting
                              for more than 20 days, but that still doesn’t get us to a typical oscillator‐type value that varies
                              between 0 and 100.
                              The solution is two‐fold. First, when we count the number of days in a streak, we will use
                              positive numbers for an up streak, and negative numbers for a down streak. A quick example
                              will help to illustrate this:
                              Day Closing Price Streak Duration
                              1 $20.00
                              2 $20.50 1
                              3 $20.75 2
                              4 $19.75 ‐1
                              5 $19.50 ‐2
                              6 $19.35 ‐3
                              7 $19.35 0
                              8 $19.40 1
                              The closing price on Day 2 is higher than on Day 1, so we have a one‐day up streak. On Day 3,
                              the price closes higher again, so we have a two‐day up streak, i.e. the Streak Duration value is 2.
                              On Day 4, the closing price falls, giving us a one‐day down streak. The Streak Duration value is
                              negative (‐1) because the price movement is down, not up. The downward trend continues on
                              Days 5 and 6, which our Streak Duration reflects with values of ‐2 and ‐3. On Day 7 the closing
                              price is unchanged, so the Streak Duration is set to 0 indicating neither an up close nor a down
                              close. Finally, on Day 8 the closing price rises again, bringing the Streak Duration value back to
                              1.
                              The second aspect of the solution is to apply the RSI calculation to the set of Streak Duration
                              values. By default, ConnorsRSI uses a 2‐period RSI for this part of the calculation, which we
                              denote as RSI(Streak,2). The result is that the longer an up streak continues, the closer the
                              RSI(Streak,2) value will be to 100. Conversely, the longer that a down streak continues, the
                              closer the RSI(Streak,2) value will be to 0.”


                              Tack på förhand//

                              Comment

                              Working...
                              X