Holdings response will be usually BSE. It technically doesn't matter because it is held inside your demat account and not in a particular exchange. You can choose to exit it in any exchange while placing the sell order.
What exactly happens in on_order_ callback? If it is an expensive operation it might cause issues to ticker. Could you post the code snippet in that callback?
Could you enable debug logs and paste here the parts where the disconnect/reconnect happe…
I checked with the team and can confirm that there was no events during that period.
Are all accounts using the same internet connection or ISP? If yes then it can still be an internet stability issue. And your code will have to account for these d…
If you have enabled debug mode KiteConnect will automatically print logs to console. The way to see it depends on the IDE you are using and any help with that is out of scope of this forum. If you are using Visual Studio this link might help: https:…
If you are experiencing random websocket disconnections that means the internet connection is not stable.
Where did you see this 500 error? Please enable debug mode in the ticker class to see more logs. Post the error logs here.
Is this a GUI app? The logs you posted seem to be internal .net build logs. Is there something along the lines of "Console logs"? Library uses `Console.WriteLine` to write logs.
If it is an `InputException` that means the access token was set to e…
There will be a debug mode flag that you can set in the constructor of the Kite object. And it will print extra logs. Try enabling that to see the full error message.
You seem to be using APIs that are not part of the KiteConnect. Bear in mind that automating authentication is against exchange regulations and using unofficial APIs will lead to unforeseen disruptions.
Please follow the method to authenticate as d…
Ticks from websocket is a snapshot. It is not a complete tick by tick data, which is expensive and requires high bandwidth and you need to be colocated to exchanges.
You can read more about it here https://tradingqna.com/t/why-does-the-same-technic…
@pawan12 Yes they are part of other end points.
And like Sree mentioned using postback system is much efficient because you will get all order updates near instantly and you will reduce the stress on your systems by not making a request every seco…
Are you sure it is invalid token? Could you post the error response json?
If you are sending too many requests you might be getting rate limited. If you are getting status code 429 then it is for rate limits.
@Harsh1993 Your project seems to be targeting a really old version of .Net that is no longer supported by Microsoft. We recommend you to update it to latest to be on the safer side.
KiteConnect .net library you are using is also extremely old. v4…
Could you post a trimmed down version of your code that can reproduce this issue?
We can't provide much help without knowing what exactly is the logic. From your description "I want to unsubscribe only after user input" this seems to be very strai…
If you just want to unsubscribe, just `ticker.unsubscribe` call is enough. Also make sure to send an array to this. Docs here.
Rest of the code is not necessary.
@Saleem Could you try upgrading the package to latest v4.2.0?
If that didn't help try enabling debug logs while creating new Kite object like in this snippet. Paste logs here. Make sure to remove your credentials from the logs.
@jagbirsingh We tried this at our end and it seems to be fine. Could you post a sample code that can reproduce this issue?
Also try initializing the Kite object as kite = new Kite(MyAPIKey, Debug: true);
This will print extra logs, please paste it …
To obtain the request token for creating a user session using KiteConnect, you need to follow these steps:
1. Set up your KiteConnect API credentials: Before getting the request token, make sure you have obtained API credentials from KiteConnect. V…
.NET target of the library is now net6.0. Previous target netstandard2.0 has reached end-of-life as of Dec 2022. You can upgrade to 4.0.1 which is the last version targeting netstandard2.0 and your .NET framework version should support it.
We recom…
"Exception" is as the word describes something that is happening out of the ordinary. It is thrown when it happens. There is no way to catch it before it happens.
You can catch the exception, check if the error is SSL/TLS related, then retry the o…
Could you post a minimal example code that can reproduce your problem at our end?
Make sure to remove all account credentials from the code before posting.
There is no heart beat mechanism for APIs.
The "ideal time" is what your OS network stack/firewall/servers agree on how much time has been in idle state and decides to free up resources by disconnecting the connection. This is normal in every inter…
If postbacks never triggers this function then it means issue is in the way you attach URL to this handler. Try to do the testing as I mentioned before by manually make a POST request your handler.
From your code snippet let url="/api/PlaceGTT"; this API root is not part of Kite Connect. If there is an interface between above code and Kite Connect, check what is actually being sent to Kite Connect APIs.
squareoff is a parameter of bracket orders which are discontinued. If you don't use a param, instead of setting to None, you can simply not provide it in the function call.
Login to a Kite Connect application doesn't login the user to Kite web. Basket is a part of Kite web and thats why it is asking the user to login again.
User has to explicitly ask to login to Kite web while performing a Kite Connect login like belo…
Please do not post your credentials in the forum. I have deleted your attachment for now.
TokenException happens when you didn't use the request_token soon enough before it expires. You can read the actual error message by catching the exception.
Kite servers will send ticks as soon as they are available. They won't wait until all 43 tokens have ticks available and send as a single shot. Different kind of instruments and different type of subscription will have different payload sizes. More …
From your code snippet _IWebHookService.BotWebHooks it looks like this is some kind of a library. Kite Connect clients doesn't need to use any such library or doesn't adhere to specific standards.
Kite Connect postbacks are simple POST requests to …
print("Exception Occured while placing order as Put seller",e.message)
The error message from the title is probably from this line. Exception might not have message attribute. To get the actual exception message try str(e)
This API and the response are not part of Kite Connect. This is an external entity and you should connect with them.
If this is your server then could you post a minimal example code that can reproduce your problem at our end?
Make sure to remove …
Could you post a minimal example code that can reproduce your problem at our end?
Make sure to remove all account credentials from the code before posting.
Could you expand on "right now i have made bundle of 300 which gives delayed data" ? How is this fetched? Is the delay in fetching or in the processing of the data?
We don't have the APIs to create basket orders.
Alternatively you can simply place all the orders at client side back to back and use Basket Margins API to know the margin requirements.
You can run a single ticker instance and collect the data inside a Redis or Postgres instance. And all other scripts can use that data. In addition you could also use their PubSub mechanisms to signal the scripts that new data is available.
Could you post a minimal example code that can reproduce your problem at our end?
Make sure to remove all account credentials from the code before posting.
Could you post a minimal example code that can reproduce your problem at our end?
Make sure to remove all account credentials from the code before posting.
Read timeout means your application couldn't read the response data from the server on time. This can happen due to variety of reasons:
- May be your internet connection is not stable. Try a different ISP, wired LAN connection, Google DNS or Cloudf…
This is a standard practice and you can find the same system in any OAuth based authentication mechanism. Fixed redirect URL lets us enforce better safety mechanisms such as avoiding malicious actors overriding the redirect URL, oversight on where t…
In that case I'm out of ideas. Since this happened after a OS reset and your systems work fine in another machine this is clearly a device configuration issue. And that is out of scope of this forum.
You could try a different ISP, different network…
If there if firewall block then it should come for the every order , right ?
Depends on how firewall identifies a connection as malicious or not. If you have a firewall it is better to whitelist your application.
Recently i have formatted my machin…
I think this tradingqna thread answers your question. To quote, Varsity is showing a simple average, I assume to simplify the example calculations, and Charts/Excel takes smoothed average.
For reference ChartIQ documentation: https://documentation.…
You can't subscribe to receive one tick a second.
But at the client side you can apply your own logic, either discard the ticks you don't need or keep the last tick in a variable and check what is the value every second.
Access Token susceptible to being exposed to network analyzer tools like Wireshark
This is okay. Auth tokens of every application is visible to network analyzer tools. And that is the reason people use network analyzer tools, requests monitoring i…
That is a very old version. Latest is 3.2.1. You should regularly update library to be in sync with our backend changes.
IllegalStateException can happen due to a lot of different reasons. We can't help without getting more details.
We don't stream tick data for every trade in the exchange. To receive that much data there are regulatory issues, cost and a huge bandwidth requirement and often requires to be in the same data center as the exchanges. You can read more here:
http…
Can you mention the javakiteconnect version you are using and run in debug mode and paste the stacktrace here?
PS: Make sure to remove app and client-specific tokens.
@amit0 Our team is still working on the changes required. You can use a shortner that supports query parameter forwarding, eg: tinyurl.com https://tinyurl.com/tpxnvt2c?q=iron+man
If the sample code itself is throwing the error then I'm out of ideas.
May be you should try in a different machine while being in the same network. See if that works.
You seem to be adding KiteConnect package into actual KiteConnect project dotnetkiteconnect-master\KiteConnect\KiteConnect.csproj
You are suppose to do this inside your project directory
I meant they seem to trigger due to the same reasons. And they are hard to distinguish. Ref: https://stackoverflow.com/questions/35615638/any-way-to-differentiate-cancel-and-timeout
This seem like a network timeout. Program is unable to initiate a connection to Kite even after a long time.
I'm unsure if security updates can cause this. But if there was any changes to your network/firewall/internet/DNS settings then this can ha…
The above error message is not thrown by the library exceptions. It must be from the .Net framework or by the system.
Please post exception stack trace or a code snippet that can reproduce the issue at our end. It is difficult to pinpoint the issue…
You can do it like this: https://github.com/zerodha/dotnetkiteconnect/blob/master/KiteConnectSample/Program.cs#L476
Possible to send the log that is available right now?
Yes sure. I assume these are your application logs. Make sure to redact confidential data from them.
Try to collect the Ticker debug logs because that is the most useful one.
We had a change in 3.0.9 related to divisor logic to accommodate for BCD segment. It is highly unlikely that it was the reason. But always make sure you are on the latest version of the library.
@rishiajmera This seems difficult to debug. We checked our parsing logic and couldn't find any place where this could go wrong. As per this line the divisor will always be minimum 100 and we use that everywhere for LTP, which should give us two deci…
@Sandeep_Prakash How would you like to use the raw string information? Is there a special use case?
As per the last code section you posted there is a 1:1 relation between the known error_type and the exception type it produces. If you really want …
@jagbirsingh We are checking this. In meantime you can set a hard coded URL. Set the redirect URL in the dev console as something like http://127.0.0.1:12345 and change code to string redirectURL = string.Format("http://{0}:{1}/", IPAddress.Loopback…
@Ronit The format you expect is what comes in the JSON response. Client library parses it into DateTime object that you can work with. What you are looking at is the normal ToString() version of the DateTime object. If you want the time zone info in…
If that didn't work create Kite object with debug mode like this: new Kite("apikey", Debug: true); which will print logs of the responses from server. Paste position response here. It should be something like DEBUG: 200 {"status":"success","data":{"…
It looks like a dependency issue. How did you install library? If you did by adding DLL you have to install these additional packages yourself from Nuget. Could you try installing by Install-Package Tech.Zerodha.KiteConnect in the Nuget console?
Do you use a different browser for authenticating while generating access token? There is another regulation that doesn't allow client to have more than one simultaneous session.
If possible use the same browser for your regular use and authenticat…
NIFTY21APR12150CE = NIFTY, 2021 APRIL expiry, 12150 strike price, CE call option
You can verify it here: https://www.nseindia.com/option-chain?symbol=NIFTY&instrument=-&date=-