Not getting proper data using WebSocket2


  • Hello Team,

    I am getting LTP data but not getting proper OPEN, HIGH, LOW and CLOSE data using WebSocket2. I am trying to fetch NIFTY spot (token:26000) data.
    Capture.JPG
    Please find the code.
    Please help me on this

    from smartapi import SmartConnect
    import threading
    import pyotp, time
    from config import *
    from datetime import datetime
    from SQL_DB import *

    obj = SmartConnect(api_key=apikey)
    data = obj.generateSession(username, pwd, pyotp.TOTP(token).now())
    print(data)
    AUTH_TOKEN = data['data']['jwtToken']
    refreshToken = data['data']['refreshToken']
    FEED_TOKEN = obj.getfeedToken()
    res = obj.getProfile(refreshToken)

    from SmartWebsocketv2 import SmartWebSocketV2

    correlation_id = "dft_test1"
    action = 1
    mode = 2

    token_list = [{"exchangeType": 1, "tokens": ["26000"]}]
    sws = SmartWebSocketV2(AUTH_TOKEN, apikey, username, FEED_TOKEN)

    def on_data(wsapp, msg):
    try:
    print("Ticks: {}".format(msg))

    except Exception as e:
        print(e)
    

    def on_open(wsapp):
    print("on open")
    sws.subscribe(correlation_id, mode, token_list)

    def on_error(wsapp, error):
    print(error)

    def on_close(wsapp):
    print("Close")

    sws.on_open = on_open
    sws.on_data = on_data
    sws.on_error = on_error
    sws.on_close = on_close

    threading.Thread(target=sws.connect).start()

    time.sleep(10)
    sws.close_connection()
    print(f'Closed')