I have written many Tampermonkey based browsers scripts in the past to work efficiently with Zerodha Kite. I am sharing some of them with the community today, hoping they help others too

First of all, I would like to warn everyone about the risk involved. Unless you trust me or can read and verify the code yourself, you shouldn’t blindly install them as these scripts can be very dangerous. Second, the code is provided without any guarantee. I am not responsible for any problem that might arise because of it.

Current functionalities of the scripts:

  1. Auto-fill order quantity by clicking on the amount you want for the order. i.e. 50K worth of share.

  2. Hide squared off position in Positions tab and Holdings tab. Also, hide rejected orders.

  3. Multiple zoom levels for the market watch for people.

  4. Ctrl+Shift+Click on market watch instrument name to copy it.

  5. Shortcut for GTT page in top navigation.

How to install the scripts.

  1. Install Tampermoney from Chrome web store or firefox store.

  2. Visit this page in your web browser. TamperMonkey will ask you to install it.

Source code: https://github.com/VarunAgw/ZerodhaKiteEnhancement/blob/master/kite.user.js

I have many more snippets I will publish if there is enough interest. Enjoy!

3 Likes

Nice additons to kite. Though I do not need these specific things … I do understand the urge behind this work. I too am not comfortable with the way trading software & tools inconveniences me by their canned workflow and one-size-fits-all approach.

I too have written some user scripts. I am using violentmonkey extension. Here is a list of what I do now.

  1. Change the title of the tab such that it shows the price first and symbol name second. Stock kite puts the price deep down and I want to see LTP and I do like my heikin-ashi charts. With this addition, I can just look at taskbar and know the LTP.

  2. Getting rid of the price markers for the moving averages. I like MAs but dont like price markers confusing me with LTP marker. stxx.preferences.labels = false;

  3. Stop kite from saving the chart settings automatically. With this change, the default chart view remains same as the view explicitly saved last time. So any quick, looking around changes are not thrown on my face.

  4. Change the way the zooming works. Zooming in kite zooms to the latest candle. The original style was to keep the candle under mouse on focuse while zooming. Zerodha changed this to keep the left most candle to be in focus. I may not be explaining well here. But the zooming behaviour after I did stxx.preferences.zoomAtCurrentMousePosition = true; is what I like.

  5. Automatically clicks on the chart refresh button periodically, so that the 1min candle data is fetched fresh. This one may not be good. But to my defense, the period is longer and I either close the chart quickly or do the refresh manually anyway, so I am not doing something Zerodha does not wants me to do.

And … on top of all these, I have stylus extention which allows me to inject custom css. I did quite a few things with it; like maximizing the screen space as much as possible for the chart. With these two extentions … kite is almost acceptable software to me.

It is almost acceptable … because kite has too many issues… even if it is superioer to all the competing products.

If I keep kite windows/tab open over a long time, it goes unresponsive. I tested and it seems the app leaks memory. I do not know if this behaviour is new after last trade-from-chart feature update. May be it was there even before. I tested on plain vanilla chrome with all extentions disabled. My conclusion is … atleast every hour I have to close and reopen my kite. If kite is a desktop app, this would be a big embrassment. But now there are too many things to blame.

While I can fix or may be try to customize the application to my needs, there are still too many things to hate about kite (for me atleast). The use of screen estate, the so light fonts … the things go on.

May be, when one uses those high quality and high resolution displays like the ones with Apple laptops, kite is awesome. But to me, I use normal laptops and I do like to have few different models around. So I just cannot accept the ivory tower approach on pushing the UX on me.

To be honest, I do not like to do all these tinkerings. I would prefer a trading software which helps my workflow. But no one can develop software which fits to everyones taste. So the only way to that is to make the software fully customizable.

I understand the limitations a company like zerodha have to work with, but … the result is so mixed that I feel kite is kind of a bastard; good backend but worse presentation.

Zerodha is still to be praised; because we are here like just complaining… If we are serious, we have kite api to develop our own apps…

Given all that and then some …

  1. Zerodha can still do better with kite app.
    a. immediatley with the look and feel.
    b. may be with custom workflows.
  2. They can still do better in encouraging alternate platforms. Entry barrier here is too high for individuals like us to even try.

Ofcourse, things have improved a lot in the last decade. But I am still not happy.

1 Like

One more thing I forgot is the date format in chart X axis. Month/Date is changed to date/month as I am used to do. CIQ.I18N.setLocale(stxx, "en-GB");

I just want to add that while kite API maybe better than competitors, but they are crap too for a brokerage company. They are so unreliable and buggy.

I’ve been using them a lot and everyday I find interesting bugs. I have even tried reporting them but nobody cares. If you go to github, most of the SDK’s were last updated at least an year ago and abandoned since.

bugs in the sdks? or in the api backend?

Majority of bugs are in SDK. REST API have issues too like timeouts, gateway error. There are also some endpoint which doesn’t HTTP verbs correctly.

How is the performance, specifically latency and reliability of kite api?

I am thinking about a custom trading terminal. The app will be focusing on scalping style trading (or primarily a execution tool). Speed and responsiveness are the main goals. It will have watchlist, chart and usual order/position/fund reportin but not any fancy features like chart drawing or trading from chart or multitude of indicators (except may be moving averages, possibly custom ones).

Is this doable with kite api? Or, are the problems in kite api you mention serious enough that this will be a waste of time?

PS: It will be a desktop app not a web based one.

— Thanks

sharing pics on how kite looks after the crude changes I made.

@VarunAgw

I went through your changes and code again.I would like to use 2 of your additions … with some behaviour change. Would you please put your copyright on github?

Thanks,

Not sure why I got the notification for your comment, and not earlier.

Anyway, you can use it. Just prepare for random timeouts and make sure to repeat the action if failed if it’s critical.

I don’t care. Just add it yourself if you like.

1 Like

Please use this in the future instead