KiteTicker WebSocket: clarification about execution timing

sanuzz
Hi,

I am building a live paper-trading engine using KiteTicker WebSocket and need clarification about execution timing.

My entry logic is:

1️⃣ FUT (NIFTY futures) runs on 3-minute candles.
2️⃣ After a FUT candle closes:

* If close > EMA20 and bullish candle → CE signal
* If close < EMA20 and bearish candle → PE signal
3️⃣ Entry should happen on the NEXT 3-minute candle open.
4️⃣ At that time I:
* Select ITM option strike
* Subscribe to option token via WebSocket
* Execute trade on the first available option tick (or cached latest tick).

Problem observed:

* FUT signal is confirmed correctly.
* Engine waits for option tick.
* Sometimes no option tick arrives immediately after subscription.
* Result: trade does not execute even though market is active.

Questions:

1️⃣ After subscribing to an option token during market hours, is it guaranteed that a tick will arrive immediately?

2️⃣ Can subscription succeed but no tick be sent until price changes?

3️⃣ Is it recommended to:

* wait for first tick after subscription, OR
* rely on latest cached tick from websocket stream for execution?

4️⃣ Is exchange_timestamp reliable for candle boundary timing, or can there be delays vs system time?

I am trying to make live execution behavior consistent with backtest (next-candle entry).

Please advise best practice for live execution logic using KiteTicker.

Thanks.
Sanu
  • salim_chisty
    1️⃣ After subscribing to an option token during market hours, is it guaranteed that a tick will arrive immediately?
    Subscribing to an option token during market hours does not guarantee that a tick will arrive immediately. The exchange sends a tick only when there is a change, such as a new trade or an order book update.
    2️⃣ Can subscription succeed but no tick be sent until price changes?
    For the first response post WebSocket connection, you will receive ticks for all trading instruments, but post that you will receive ticks only for instruments with a change in any WebSocket field.
    3️⃣ Is it recommended to:
    * wait for first tick after subscription, OR
    * rely on latest cached tick from the websocket stream for execution?
    Depending upon your use case, you can either wait for the first tick after subscription or you can use the latest tick.​
    4️⃣ Is exchange_timestamp reliable for candle boundary timing, or can there be delays vs system time?
    The `exchange_timestamp` in KiteTicker is generally reliable for candle boundary timing. It represents the time when the exchange generated the tick, not when your system received it.​​
Sign In or Register to comment.