User Feedback - WebSocket 2.0 Beta Rollout – Python Language


  • HI @Ankita @J88913 @azkhan @zubuco The ping pong issue is resolved by one of the early adopter and a loyal SmartAPI client @rajanprabu here - https://smartapi.angelbroking.com/topic/2570/websocket-2-0?_=1667760289934. Thank you @rajanprabu


  • @admin
    still not working


  • @admin
    still not wroking


  • @zubuco Still struck ?


  • @Ashok now wroking


  • Hi @admin,
    I am running websocket V2.0. for every 30 sec's its landing in pong function. I have subscribed only one token while running the below.

    its consistent even with other token. Please look into this.

    27d823f6-c769-4662-a45a-9057695a97b1-image.png


  • @vrkhyd It looks like heartbeat message. you can ignore it.


  • @Ashok ok Thank you.

    Sometimes its printing the same message. multiple times. does it mean no response from server.



  • @vrkhyd You will get one in every 30 seconds.
    Are you getting tick data ?

    [2022/11/24 09:14:02] on open
    [2022/11/24 09:14:32] In on pong function==> b'\x00'
    [2022/11/24 09:15:02] In on pong function==> b'\x00'
    [2022/11/24 09:15:32] In on pong function==> b'\x00'
    [2022/11/24 09:16:02] In on pong function==> b'\x00'
    [2022/11/24 09:16:32] In on pong function==> b'\x00'
    [2022/11/24 09:17:02] In on pong function==> b'\x00'
    [2022/11/24 09:17:32] In on pong function==> b'\x00'
    [2022/11/24 09:18:02] In on pong function==> b'\x00'
    [2022/11/24 09:18:32] In on pong function==> b'\x00'
    [2022/11/24 09:19:02] In on pong function==> b'\x00'


  • @Ashok I am printing data only for 1 min.

    Today.. Am getting data.


  • Great working fine. Thanks...


  • @admin
    There are 2 issues in your new websocket 2.0, we have been raising this question but no one is responding.

    1. we are getting "Socket object has no attribute pending when requesting the data at the line self.wsapp.send(json.dumps(request_data)). All my authenication is successful, why I am getting this error.

    2. fetching order_book is dead slow in angel, so I tried to implement fetch from websocket order_feed, but I think this order_feed is not implmented yet in your websocket2.0 and your websocket1.0, the order_feed is not at all fetching the order details data.
      Resolve these errors, I think you guys need to have solid testing team. you cannot roll a beta version directly to prodution (live market) targetting clients and withdrawing the earlier versions. Make the product stable. Dont experiment... If this continues. soon Angel will loose lot of customer base.


  • Hi @vrkhyd,

    I am getting data in below format:

    {'subscription_mode': 3, 'exchange_type': 5, 'token': '246083', 'sequence_number': 2414112, 'exchange_timestamp': 1674818721000, 'last_traded_price': 672400, 'subscription_mode_val': 'SNAP_QUOTE', 'last_traded_quantity': 1, 'average_traded_price': 667360, 'volume_trade_for_the_day': 8589, 'total_buy_quantity': 644.0, 'total_sell_quantity': 384.0, 'open_price_of_the_day': 661700, 'high_price_of_the_day': 672700, 'low_price_of_the_day': 661700, 'closed_price': 653300, 'last_traded_timestamp': 1674818717, 'open_interest': 535600, 'open_interest_change_percentage': -4627489742054556454, 'upper_circuit_limit': 679400, 'lower_circuit_limit': 627200, '52_week_high_price': 678100, '52_week_low_price': 599400, 'best_5_buy_data': [{'flag': 0, 'quantity': 7, 'price': 672600, 'no of orders': 6}, {'flag': 0, 'quantity': 14, 'price': 672700, 'no of orders': 12}, {'flag': 0, 'quantity': 10, 'price': 672800, 'no of orders': 10}, {'flag': 0, 'quantity': 7, 'price': 672900, 'no of orders': 6}, {'flag': 0, 'quantity': 29, 'price': 673000, 'no of orders': 21}], 'best_5_sell_data': [{'flag': 1, 'quantity': 35, 'price': 672400, 'no of orders': 11}, {'flag': 1, 'quantity': 23, 'price': 672300, 'no of orders': 3}, {'flag': 1, 'quantity': 1, 'price': 672200, 'no of orders': 1}, {'flag': 1, 'quantity': 2, 'price': 672100, 'no of orders': 2}, {'flag': 1, 'quantity': 12, 'price': 672000, 'no of orders': 4}]}

    Please could explain how you are converting this data in to get 1 min candlestick data? If you could share your code that will be of great help. Thanks.


  • Hi @asho and @vrkhyd if anyone of you can provide any help on this? Thanks.


  • @vrkhyd https://github.com/markov404/AngelOneOptionChainSmartApi
    You can user this script it is getting data about OPTIDX every 3 min then saving and updating. You can change the way of saving , it describes in readme.


  • @admin, the instructions for websocket2.0 seems to be too lengthy, Kindly consider to simplify & add sample like we have it in https://github.com/angel-one/smartapi-python🙏


  • Is websocket 2.0 working? As i am getting only ping data(subscribing to Options). @admin @rajanprabu @StocksDeveloper @rjbanna


  • @admin and team and forum members

    Request you to post a final working working Websocket 2.0 code as i am still not able to get any ticks even after doing all the changes discussed above.

    Thank you.


  • How to handle ws disconnection?
    Do we need to Initialize ws again or it handles reconnection?
    I am getting the following error sometimes

    ERROR - Handshake status 429 Too Many Requests - goodbye
    ERROR - error from callback <bound method SmartWebSocketV2._on_close of <SmartWebsocketv2.SmartWebSocketV2 object at 0x000001D5D1637750>>: SmartWebSocketV2._on_close() takes 2 positional arguments but 4 were given
    ERROR - [WinError 10054] An existing connection was forcibly closed by the remote host - goodbye
    ERROR - error from callback <bound method SmartWebSocketV2._on_close of <SmartWebsocketv2.SmartWebSocketV2 object at 0x000001D5D1637750>>: SmartWebSocketV2._on_close() takes 2 positional arguments but 4 were given