Iceberg order error

sraju
I want to place 1000 BankNifty Options Buy.

From nodejs client, tried executing order with these params , however it failed

orderService {
exchange: 'NFO',
tradingsymbol: 'BANKNIFTY2341341600PE',
transaction_type: 'BUY',
quantity: 1000,
product: 'MIS',
order_type: 'MARKET',
tag: '8snc9yn11n',
variety: 'iceberg',
iceberg_legs: 2,
iceberg_quantity: 500
}

response:
{
status: 'error',
message: 'The order quantity 1000 (40 lots) is higher than the maximum quantity of 900 (36 lots) allowed by the exchanges. Please reduce the order quantity or use iceberg orders. [Read more.](https://support.zerodha.com/category/trading-and-markets/margin-leverage-and-product-and-order-types/articles/what-does-the-error-rms-rule-check-freeze-quantity-for-fo-including-square-off-order-mean)',
data: null,
error_type: 'InputException'
}

I see parameters to be correct. Can you validate please. Thanks
  • rakeshr
    message: 'The order quantity 1000 (40 lots) is higher than the maximum quantity of 900 (36 lots) allowed by the exchanges. Please reduce the order quantity or use iceberg orders.
    quantity: 1000,
    You need to place lesser than the freeze quantity, set by the exchange.
  • kishorsandage
    @rakeshr
    The "iceberg_quantity:" should be less than the freeze quantity and the "quantity: 1000" can be higher. which is true in above case so the order should pass. if the total order qty is lesser tnas qty freeze then this function has limited use.
    Ideally The total quantity can be anything and "iceberg_quantity:" to be specified by user and "iceberg_legs:" can be optional.
    Example say I want to place order for 10000 BANKNIFTY option and the freeze qty by exchange is 900 then if i mention it in order. then number of legs will be 12. 11 legs of 900 qty and last leg will be 100.
    Pl improve the logic of iceberg order
Sign In or Register to comment.