What other response do you want??
This is a community driven forum,not a support forum.
We are all developers who take out some time to help other developers on this forum.
KiteConnect APIs just display the data on Kite web/app.
We don…
Yes 2. is better .
However,you can only modify an order a maximum of 25 times.
This has been mentioned in the official documentation and the FAQs on this forum.
https://kite.trade/docs/connect/v3/exceptions/
https://kite.trade/forum/…
There is no mismatch.
The oi/volume on NSE are displayed in lots whereas the same is displayed in total quantity on Kite.
Multiply the numbers on NSE by lot size ,and you will get the same number as displayed on Kite.
All the data dis…
This is NIFTY2281119050PE.
It's extremely ITM option,so very illiquid.
The last trade time is correct.
And the timestamp is the epoch start time,you can observe this in the ticks for all instruments today.
I don't the reason exactly,b…
Yes,you can compare the volumes of the latest tick and the tick just before that.
If both the volumes are equal,it means the latest tick is due to a change in market depth,and not a trade.
Exchange timestamp is the timestamp when the tick was sent by the exchange.
Last traded timestamp,as the name suggests,is the timestamp when the last trade happened.
There can be new ticks without any trades happening,due to change in mark…
You can enable debug logs here during initialisation of KiteConnect object.
https://github.com/zerodha/phpkiteconnect/blob/c5eaa092dbc7898c5894d0438d1c7ac24fa1102e/src/KiteConnect.php#L230
You can also get the error code directly from t…
@raja1sttarde ,
Sujith Sir asked if the response for your modify order request was 200 or non-200.
200 means the request was successfully placed with the OMS. In this the data field in the response is order_id.
https://kite.trade/docs…
Yes,if you use sleep ,you wouldn't encounter this issue.
Actually,it takes around a second to connect to websocket,but this subscribe call is getting executed before the connection,that is before the 'ws' is initialised as told by Rakesh Sir.
…
It's not non-blocking.
I mean not exactly,as it has to execute something!
But it's pretty lightweight inside on_ticks,so I don't think you will get connection errors.
I have used the same approach in the past,and I personally didn't have …
@rakeshr Sir,
It was accepted initially.
But then I edited something in my comment,then it showed:
'Your comment will be displayed after it is approved '.
However,the draft was saved.
So,I commented the same thing I wanted to la…
No,you don't have to pay more,but by default the API is restricted to a single Zerodha user_id.
For multi-user access,you can check with the compliance team . Write to kiteconnect(at)zerodha.com. Make sure you include complete information about…
Tags are sent with orders. The trades don't have tags.
It's not possible that filled quantity equals ordered quantity and status won't be 'COMPLETE'.
You can use filled quantity or status , whatever you like,not that anyone is better, stat…
I don't know why , the site is not letting me add the GitHub link in the comment,but you can go to line number 573 of ticker.py on the official Python Client documentation on GitHub.
@sujith Sir, @rakeshr Sir,
Why is this happening??
@Guhan ,
The subscribe method uses 'ws' object which is the current initialised websocket object.
You can't directly call subscribe/unsubscribe.
You have to call it under on_ticks if you want to change subscriptions dynamically.
…
Looks fine.
Just one thing,if filled quantity is less than the quantity requested,i.e order is partially filled,the status will still be 'OPEN'.
Only after the order is completely filled, status will change to 'COMPLETE'.
Regarding order id not being returned,I have personally never faced this issue.
Still,if you want to use tags to overcome this issue if it occurs,you need to send a unique tag with every order as told by Sujith Sir in your mentioned thread.
Tags are not used to know status of an order.
https://kite.trade/docs/connect/v3/orders/#tagging-orders
Tags are used to filter orders.
For example, let's say you run 3 different strategies,and then all of them place orders in the sa…
a. Yes,FINNIFTY format is same as NIFTY.
b. https://kite.trade/forum/discussion/8019/faqs-on-pykiteconnect-specific-to-python-client#latest
https://kite.trade/forum/discussion/4732/frequently-asked-questions-faqs#latest
And ,here i…
In your case,till the expiry part ,all characters are same for all items.
So,it was sorted according to the characters after the expiry .
Like ,37500 PE first,then 37900(CE before PE as C comes before P),and lastly 38300 CE.
No, it's not random. The items in your given iterable are sorted by each character in the items present.
Numerically and alphabetically(numbers before alphabets).
Like-
'NFO:NIFTY2281117700CE'
'NFO:NIFTY2281117700PE'
'NFO:NIFTY…
We don't provide coding support on this forum.
You have to debug your code yourself.
This forum is purely dedicated to technical queries related to KiteConnect APIs.
Please, don't post about queries not related to KiteConnect APIs.
You should read the terms and conditions of
KiteConnect APIs before speaking ill of the business team.
https://kite.trade/terms/
Any charges once paid are non-refundable.
You can only request the team,not force them.
Their dec…
If you are sure that all your credentials/tokens are correct and you are still getting token exception,then request Sujith Sir or Rakesh Sir,only they can help you .
What do you mean by 'running within the same code'?
Are you automating the login process??
If so,then it's against the exchange regulations. Every user has to manually login atleast once a day.
Try manual login and check.
A request token is valid only for a couple of minutes, after that it expires.
Make sure to use request token immediately after loggin in to your KiteConnect app .
No,you have to tag each order separately.
Like you can send 'STRATEGY 1' tag for the entry/exit orders generated from your first strategy.
When you fetch orderbook later,filter according to this tag to get all orders generated from the …
By default,an API_key is provided for personal use only,i.e restricted to a single Zerodha user_id.
You should get approval by the compliance team before going ahead to develop an app for mass use.
For multi-user access(and your query),you c…
You can write to kiteconnect(at)zerodha.com for payment related queries.
Also, don't post screenshots containing your private details like phone number,email etc. publicly on the forum.
Please remove it immediately.
A request token is valid only for a couple of minutes,after that it expires.
You won't get this error unless you are using incorrect request token.
Also, make sure to pass api_key/api_secret/request token/access token as strings.
The websocket just relays whatever Zerodha receives from the exchange to the users,every tick received by Zerodha is sent to everyone.
However,ticks can be missed at the client side due to blocking of main ticker thread or latency issues.
…
a).If you are placing a stoploss sell order,then it means that the price is already above 100.
So,order status will be 'TRIGGER PENDING' still.
I guess you mean a stoploss buy order.
In that case if the price jumps directly to 110,your stop…
Examples have been given in the official documentation.
https://github.com/zerodha/javakiteconnect/blob/836822ba12a43fe695d9b6e7ce36c437c09f3e42/sample/src/Examples.java#L83
Just remember,NFO is the exchange for equity derivatives.
Then why you didn't mention that your query is for order placing initially?
Do you understand anything at once?
None of the KiteConnect APIs are exclusive to any segment.
All the APIs like market quotes, websocket, historical data,pla…
Positions API is working fine for me.
As told by Rakesh Sir, you need to inspect your local setup.
Also, Kite web/app and KiteConnect APIs use different routes .
However,the backend database is same for both.
This error is from place order API and not positions API as clearly stated in the exception message.
This means you are placing order for an invalid instrument.
You can get the list of all the instruments available for trading from the ins…
Yes. You can place MIS GTTs through API.
GTTs are the only thing which have more options in API than Kite app. There are some things which you can do through API but not on Kite. I don't understand how and why!
You are using BSE instrument token of CHOLAFIN when fetching historical data ,and trying to match with NSE chart of CHOLAFIN.
How will they both match??
@kiri,
You can't know this with KiteConnect data as this is only level 2 snapshot data.
You will need tick by tick data to know whether trade occured at best bid or best ask.
You can enable debug logs when initializing KiteConnect instance.
https://github.com/zerodha/pykiteconnect/blob/e1c2776dcecf630a7fe2a04209a3ef273d4070c8/kiteconnect/connect.py#L184
I don't see any problem in your code.
This is normal latency.
Limit orders provide desired price,but there are chances of limit orders not being completed.
You can try market orders if they suit your strategy.
Anyways,if 100ms latenc…
Kite Connect APIs are for retail users only. It is not a suitable product for time based or latency based strategies.
You can go for colocation setup at the exchange. Zerodha can help you setup lease lines. It costs upwards 18 lakhs/annum. You …
Check if you are using set_access_token method .
Also,check if one of your api_key and access token or both is/are having null value.
The instruments file link is public. It doesn't need your api_key/access token.
It will work even if you p…
First of all, this is a community driven forum.
Not a support forum.
Anyone can respond to a query or participate in a discussion if he/she wants to.
I understand that information doesn't reach instantly. It's just that there is no fixed i…
2 things I would like to say.
First,I am not actually a programmer ,I am a trader.
I just learnt some programming for algorithmic trading.
And I am just member of this forum like you,not officially related to Zerodha.
Second, you are …
You can try this python library:
https://github.com/yassinemaaroufi/MibianLib
Or search on the internet,you will find some articles with python code to calculate greeks.
It's just random. Actually the data you get from
KiteConnect is just level 2 snapshot data,not TBT data.
You can read here for more information:
https://tradingqna.com/t/why-does-the-same-technical-charts-for-the-same-stock-from-nse-tam…
Its not necessary that there will a fixed interval between 2 ticks. You receive a tick when there is a change in any of the fields present in the mode subscribed by you.
If nothing changes,you won't receive any tick.
Variety is by default the first parameter in the cancel _order function.
https://github.com/zerodha/pykiteconnect/blob/e1c2776dcecf630a7fe2a04209a3ef273d4070c8/kiteconnect/connect.py#L386
If you don't specify the name,python considers the …
Is this error occuring in the place_order API or the cancel order API?? It seems the error is in your custom order function.
Exchange,order_type etc. fields are missing in your custom order placing function. That might be the cause of the error…
23 YEARS of experience couldn't teach you how to read a documentation??
Fine,I will tell you what I understood after reading the documentation for 23 SECONDS.
To get indices data,pass 'NSE:(NIFTY 50'/'NIFTY BANK'/NIFTY AUTO') in the quot…
The orders are placed as shown on the Kite app.
The order placement requests were made as per your sequence.
But sometimes there could be a very small delay between receiving the order id and the order being placed.
To avoid this,you ca…
Orders response returns all the orders that were placed , and went through the mini RMS.
https://kite.trade/docs/connect/v3/orders/#retrieving-orders
GTT orders are just like an alert for Kite to place orders when one of the given triggers…
There is no API to place basket orders directly.
You can use basket margins API to check the margin and then place orders sequentially.
https://kite.trade/docs/connect/v3/margins/#basket-margins
If quantity is positive, it's a long position,if negative, it's a short position,and if zero,it means the position has been closed.
1. You can know the meaning of all the response attributes of positions here:
https://kite.trade/docs/conn…
It's recommended to generate access token after 7:30 AM as told by Sujith Sir above in this thread.
Some more information has been given in this thread by Rakesh Sir:
https://kite.trade/forum/discussion/comment/27340/#Comment_27340
First of all,we are not support guys.
This is a community driven forum.
We are all developers who work on our projects and take out some time to help out fellow developers on this forum .
Second,I used your code,replaced 16200 wit…
You can know this by checking the quantity.
If quantity is positive, it's a long position,if negative, it's a short position,and if zero,it means the position has been closed.
Every position has a tradingsymbol field .
You can fetch all positions and look for a particular tradingsymbol in the response.
https://kite.trade/docs/connect/v3/portfolio/#positions