I have contributed the Java based Web Socket Streaming Quote framework for Zerodha Connect API. This is checked into open source GitHub and free. Link is: https://github.com/instruritesh/ZStreamingQuote
This can be used in two ways: 1) Integrated to any Java standalone application. 2) Web Service way. Mostly for non Java developers (rather non developers).
It is highly configurable. Major features include - Auto reconnection on failure, streaming quote parsing and storing in DataBase, Querying processed data like OHLCV within a time frame, querying raw stored streamed data etc.
Hope it will help you, this is for your algo applications. I wrote it for my purpose, i made it open source for your use. Ya, it works If you like, please vote it in GitHub project page by giving a Star.
@vivek , @Kailash - If your team has bandwidth, please review it once and let me know about issues/modifications. I will solve it.
kailash .. your server will bear the workload when thousands of people simultaneously stream more than 100 symbols with multi threaded application. kite in browser doesn't allow us to add more than 20 symbols. same restriction in API too?
20 symbols on Kite web is a design decision. We already stream data to tens of thousands of clients on a daily basis. As usage grows, we'll add more provisions to scale. With the API, you can subscribe to 100 tokens.
@instruritesh Thanks for the project.. I tried your code and its working for me.. But I tried running the code today (sunday) and I am getting the data .. hows that event possible?
@instruritesh 1) your library uses a single mode for the whole application, there is no flexibility to switch between modes when subscribing for instruments. 2) I don't understand why you use WSState in your library when you don't have a feature to send WSState as a public function. 3) But your library is a good one to start with.
@sekharrockz Sorry, I somehow missed your previous query. For full / quote modes, we've noticed that cached values are sent multiple times during off market hours. We'll be fixing this behaviour shortly.
I am using your library without the quote storage. I am getting an error - PKIX path validation failed: java.security.cert.CertPathValidatorException: timestamp check failed Please let me know how to resolve this
I ran this utility, and subscribed for 408065 (infy), full quote mode. I get only HeartBeat messages, and no quote messages. Any idea what could be wrong. thanks
@instruritesh & all My requirement is to get around 50 equities 1min OHLC to get update in MySQL. Is this Java library satisfy my requirement ? If yes, then any idea about performance (time taken to fetch & update 50 equities ) to MySQL? Anyone help on this ?
During Pre-Market timings, i thought only once the quotes will be fetched once. but it is fetching more than once. any reason ?
imp: This happens only for quote and full mode, but for ltp mode it works properly.
Waiting for your reply.
1) your library uses a single mode for the whole application, there is no flexibility to switch between modes when subscribing for instruments.
2) I don't understand why you use WSState in your library when you don't have a feature to send WSState as a public function.
3) But your library is a good one to start with.
I am using your library without the quote storage. I am getting an error - PKIX path validation failed: java.security.cert.CertPathValidatorException: timestamp check failed
Please let me know how to resolve this
Amazing guys........
Will now dig more into it. This is just amazing.........!!!!
You guys are going to change the way trading works in India........ and I will try to contibute to it...... :P
i want add NSE FNo and MCX market watch to my upcoming website. It is possible through kite api ?
the websocket call goes fine
wss://websocket.kite.trade/?api_key=My_Key&user_id=My_User&public_token=MyToken
I am too getting 1 Byte of HeartBeat Message only, I can't able to get this. Can anyone please tell ?
Do we have any option to get live 1min OHLC in Python or any platform should be fine for me?
My requirement is to get around 50 equities 1min OHLC to get update in MySQL.
Is this Java library satisfy my requirement ?
If yes, then any idea about performance (time taken to fetch & update 50 equities ) to MySQL?
Anyone help on this ?