Navigation

    SmartAPI Forum
    • Register
    • Login
    • Search
    • Categories
    • Popular
    • Groups
    • FAQs
    • API Docs

    Understanding WebSocket tick data

    General Discussion
    6
    18
    388
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      admin @sakshi_97 last edited by

      Hi @krishna , it's still under review. We will update you once we start the development activity on this.

      1 Reply Last reply Reply Quote 0
      • S
        softice last edited by

        Any updates on this? I am also having same confusion.

        S 1 Reply Last reply Reply Quote 0
        • S
          Surya 1 @softice last edited by

          @softice @krishna

          One need to search the keys of the dictionary. there is a sample code for old SDK here. modify it for new SDK.

          https://smartapi.angelbroking.com/topic/329/working-websocket-sample-code-to-retrieve-ltp-python?_=1617430271269

          HTH

          S 1 Reply Last reply Reply Quote 0
          • S
            softice @Surya 1 last edited by

            @rajanprabu Thanks I didn't find what I was looking for. But then I realized that I never asked for it explicitly. So here it is.

            I am just looking for OHLC + Volume data. The following section of response seems to have a few of this:

            {"tbq":"67425","lo":"442.00","c":"484.50","e":"nse_fo","ltq":"25","ltp":"622.75","ltt":"30/03/2021 15:04:04","bp":"621.80","bq":"25","ap":"606.55","bs":"50","tsq":"54600","nc":"28.53","v":"5737850","tk":"58737","name":"sf","to":"3480292917.50","sp":"624.80","cng":"138.25"}

            but the high and open price seems to be missing here.

            So suppose if I want to build OHLC + Volume data from a tick,

            Open - missing
            High - missing
            Low - "lo":"<number of double type from this tick data>"
            Close - "c":"<number of double type from PREVIOUS tick data>"
            Volume - "v":"<long number from this tick data>"

            How do I get Open and High?

            The API documentation shows "h" and "op" for High and Open Price respectively but I am not seeing both these in the response.

            S 1 Reply Last reply Reply Quote 0
            • S
              Surya 1 @softice last edited by

              @softice

              you get LTP from the websokcets. one need to aggregate it for the time desired to get high and low. first entry in that time period is open and last entry is close.

              for example :

              time       ltp
              10:01:01 100
              10.01:02 110
              .
              .
              .
              
              10:01:30 120
              10:01:31  90
              .
              .
              .
              10:01:59 101
              

              open 100
              high 120
              low. 90
              close 101

              I hope its clear now.. this is how candles are made..
              https://smartapi.angelbroking.com/docs/WebSocket

              S 2 Replies Last reply Reply Quote 0
              • S
                softice @Surya 1 last edited by

                @rajanprabu Thanks a ton man. You made my day. This turned out to be very simple than all the hacks I was trying.

                Thanks once again.

                1 Reply Last reply Reply Quote 0
                • S
                  softice @Surya 1 last edited by

                  @rajanprabu one more question. How to build the volume for a 1 min candle from this tick data?

                  S 1 Reply Last reply Reply Quote 0
                  • S
                    Surya 1 @softice last edited by

                    @softice

                    pandas has resample function which can do this automatically for you.. I wrote it just for theoretical explanation.

                    for volume you can use delta volumes ( tick V now - tick V previous )

                    S 2 Replies Last reply Reply Quote 0
                    • S
                      softice @Surya 1 last edited by softice

                      @rajanprabu thanks for the reply on volume. Regarding using Pandas, well call me old school but I am on Java.

                      1 Reply Last reply Reply Quote 0
                      • S
                        softice @Surya 1 last edited by

                        @rajanprabu I am back with my query. My WebSocket API call stopped working today while it was working earlier.

                        Today whole day, I just got below messages:

                        [{"msg":"connected","task":"cn","ak":"ok"}]
                        [{"msg":"mw","task":"mw","ak":"ok"}]
                        [{"msg":"mw","task":"mw","ak":"ok"}]
                        []
                        [{"msg":"heartbeat","task":"hb","ak":"ok"}]

                        Even though I got ack for task "mw", didn't get any data at all. Any pointers would be helpful.

                        Thanks in advance.

                        S 1 Reply Last reply Reply Quote 0
                        • S
                          Surya 1 @softice last edited by

                          @softice You are using Java which I have no idea.. maybe a fellow Java trader can help.

                          S 1 Reply Last reply Reply Quote 0
                          • S
                            softice @Surya 1 last edited by

                            @rajanprabu Thanks. I figured out the problem. It was an error that I introduced while refactoring the code. After fixing it, its working fine now.

                            1 Reply Last reply Reply Quote 0
                            • A
                              Ankita @sakshi_97 last edited by

                              @krishna
                              you have to check the length of every tick, iterate through each part of tick,then use try/except to extract ltp if any portion of tick is having that

                              L 1 Reply Last reply Reply Quote 0
                              • S
                                Surya 1 @Guest last edited by

                                @MNAGESH

                                ltp in websocket stream is last traded price..

                                1 Reply Last reply Reply Quote 0
                                • L
                                  lakshya_2410 @Ankita last edited by

                                  @Ankita could you please provide a sample script to get tick by tick data , I tried every method but unable to get the tick data ?

                                  1 Reply Last reply Reply Quote 0
                                  • First post
                                    Last post