When you run your system in cloud server, your chances of failure are greatly reduced.
But still, no software/cloud/Program are guaranteed to run 100% without fail.
Last month there is a network failure in AWS for 3mins, which lead to …
Our 50+ clients are using cloud server only and don't know what other users are using.
Server is not required during development of system, once you developed a full trading system without any error, then you should run it in cloud serv…
Download the latest sample KiteXL.xlsm from the below link
We have added a UDF to Cance/Exit/Close Regular/BO/CO positions and hooked this UDF to buttons in Dashboard sheet. You can use …
You can reduce your cost (AWS) by running the server during market hours only. i.e 0700AM to 0500PM (10hours daily and full shutdown on market holidays) This way it will cost $79 + GST for 4Core + 8Gb RAM.
Otherwise you can go for mon…
Yes, when you modify a LIMIT order to MARKET, price is irrelevant, your order will always executed at the best price available.
For the sake of clarity, just pass Ltp or your original price while sending modify request.
But make su…
If you mean real-time price data, Kite Server streams one second snapshot data. So ideally price will be updating every second (for liquid stocks).
If order latency, we are able to place a single order in ~30ms during normal network tra…
It's technically difficult to implement.
Since the stop orders are placed by OMS, KiteNet don't have any reference to hook it.
You may have multiple BO in a symbol
Each BO may have Multiple child orders
Each child orders may complete at…
Case 1: If the modify Qty is less than Filled Qty (for whatever reason), then the order will not be modified and last order status before modify request will hold good. Means
Order Status : OPEN
Order Qty : 100
Filled Qty : 61
Taking your example case
Stock : XYZ
Qty : 100
Filled : 60
There are two options to cancel the order, pls note you are just cancelling the unfilled qty, you have already open position for filled qty.
1. Normal Cancel of Order
You have to explicitly call ResetBOSignals before firing same signal.
Since the exit orders are handled by OMS, KiteNet can't monitor and reset automatically.
But we are testing reset of signals with ExitBOBridge
We are adding a additio…
The syntax is same GETRTD(Exch, TrdSym, Field)
For NSE Indices, the Exch is NSE_INDEX
For list of indices refer the below file
Trade Symbol is in the third column of the above file.
For partially filled order, GetOrderStatus will return "UPDATE" as status.
GetOrderStatus returns data from web-socket only.
You can also compare
GetOrderQty and GetOrderFilledQty
GetOrderQty : Total quantity you placed
It will not change automatically.
GetOrderStatus ("order Id") is a function (Not RTD), so you (Excel) have to call this function whenever you need value.
To make auto update:
You can make this function volatile or add a dummy dynamic param…
The GetSymbol returns very large string, so excel may throw error.
There is no practical use for this function in Excel.
Just ignore this function.
DOM returns 0, may be due to off-market hours.
Try during live market hours, and make su…
When we add a symbol to Market Watch sheet, the formula in Column 'AH' calls the SubscribeQuotes function of KiteNet and the symbol is added to the 'TickerListKiteNet.txt' file which is located in the app directory (in ca…
Yes, you can convert any existing UDF to dynamic by adding additional parameters.
But make sure that, the additional parameters is dynamic and updates automatically without any intervention. In other words, you should have at-least one c…
We added a extra parameter in the Excel UDF which wraps the GetMtmBridge funtion, to make it auto update in excel cell.(Dynamic dummy parameter, which will force excel to re-calculate the formula whenever Ltp changes)
GetAtp will not be recalculated automatically by Excel as the parameters are static.
You have to
make this GetAtp UDF as Volatile
or Add dynamic dummy parameter to UDF to force excel to re-calculate.
Right now, with Paper mode you will just get the Profit/Loss simulation.
So, GetOrder* functions will work only with real order id's.
Next week we will release,
1. Excel ORB
2. AmiBroker MA Crossover
Yes, VWAP == AVGPRICE
GetRTD(Exch,TrdSym,"AVGPRICE") and GetAtp(Exch,TrdSym) both returns same values.
This is a excel UDF which wraps the complex Excel RTD function as mentioned here https://howutrade.in/docs/kitenet/html/Intro…
#1 KiteNet RTD client-server is using Udp to send/receive data.
Udp can receive only certain number of packets in a second and it depends on the user physical hardware/infra. We found that the ideal capacity of Udp is 5000 pps.
If you se…
We checked the logs.
ModifyBOSl function checks for the order type of the passed OrderId, if it is other than SL, then this function will throw error 'Order is not BO stoploss order'
There are two possibilities in your case;
1. You are …
1. Make sure the downloaded file is not blocked.
2. Extract the contents of the downloaded zip file to some folder (Ex: Kite) in Desktop or MyDocuments
3. Make sure the extracted folder doesn't contain brackets '(' ')'
4. Run the reg…
This restriction is imposed at KiteNet level to prevent new users from misusing Excel/RTD.
Web-socket connection is automatically handled by KiteNet and at-present KiteNet supports only single web-socket connection.
So you can subscribe…
Can you try installing the test version?
This has been fixed in the test version.
You can download it from here
More info on this https://support.zerodha.com/category/trading-and-markets/margin-leverage-and-product-and-order-types/article…
Day and net positions affects only Futures and Options.
If you have any overnight positions, then day and net will differ else both will be same.
Last Trading you bought 75 Qty of NIFTY future
and today you sold 75 Qty of NIF…
Currently, Kite connect API does not stream/support this field.
This field is reserved for future use.
You can request Kite team to provide this data.
Fields reserved for future use:
We have included a UDF to exit BO/CO/Regular Order (All at once) etc in the sample workbook.
You can just modify the UDF according to your needs.
You can download the sample workbook from
Yes, you need to call ResetBOSignal..
But make sure, you are calling only once after exiting the BO order.
Instead of reset, you can also just assign another StgyCode.
StgyCode : A1
To exit a BO/CO order,
Just pass whatever returned from GetChildOrders to ExitBO/ExitCO/ExitBOBridge/ExitCOBridge functions. You no need to parse the child orders.
To Modify a BO Target/Stoploss order:
1. Call GetChildOrders, which wi…
We respect your privacy.
We don't store any hidden code or track you what you are doing.
But it will take time to trust someone..
We will write a detailed article on this, which not only take your fear and also will increase confidence…
GetOrder* , GetChildOrders etc takes order id of Live orders i.e. id of original orders placed to OMS.
If you pass the order id of paper trade(this id just allotted by application), then those functions will throw error as it is not a valid live ord…
'IsLive' is automatically changed to 'False' for the below function even if you set it to 'True'
Your clientId must be enabled from our end to use those functions.
Just you need to modify the PlaceOrder UDF to place order only once for a signal..
You can refer this link for example
This is very similar to GetPriceSide and GetPriceChange, except that it will return the previous value.
As you know excel cell will always display latest value, we don't have reference to what value it is changed from, in that case…
This is similar to GetPriceSide, except that it will return the difference between the latest value and previous value.
If the LTP is changed from 485.55 to 485.85, then this function will return 0.3 i.e. Latest value - Pr…
GetPreviousValue, GetPriceChange and GetPriceSide are utility functions purely meant to use with Excel and has no connection with Kite API.
Let explain with example:
As you know when a cell value is updated through formu…
This function is purely meant for Excel and it has no connection with Kite API.
Let illustrate with example.
Assume you bought 100 Qty of Stock 'AXISBANK'
and want to exit when your loss reaches -300 and also want to move your max-loss …
We are working on sample trading systems in Excel & AFL (around 5 each).
We will let you know once it is ready..
This samples will be a complete and full-fledged trading systems and developers can use those as start point.
Glad, you got the answer.
We totally forgot this thread...
Couple of points...
The historical data provided by Kite API is purely meant for offline back-testing/analysis.
You can easily import the data in to existing excel sheet …
KiteXL just returns whatever the data received from Kite API.
KiteXL will not modify or truncate the data.
As per NSE...
Day Open : 871.85
Day High : 876.75
Avoid comparing Chart High with Day high, most of the time it will never …
This is because, when you enter fixed time like '09:15:30' in a cell, it translates to 00-Jan-1990 09:15:30 and the system time translates to 13-Oct-2018 08:15:00.
You can clearly see, D1 is greater than E1 i.e. D1 is earlier date.
So we nee…
Hope, you installed the test version, if not pls install.
You can try couple of things;
Try refreshing RTD from settings window.
Try placing a another buy or sell order and see whether it updates or not (during market hours)
Basically, LimitPrice is forced to limit users risk.
If you want your order to be executed like MKT, then place your limit order with haircut.
But be ready to accept any risk.
For options, you can use 5 - 10% as haircut and for othe…