It looks like you're new here. If you want to get involved, click one of these buttons!
$order = $kite->placeOrder("regular", [
"tradingsymbol" => "INFY",
"exchange" => "NSE",
"quantity" => 1,
"transaction_type" => "BUY",
"order_type" => "LIMIT",
"product" => "CNC",
"price"=> 1840
But when i use same code to place a stock option order i.e as follows:-
$order = $kite->placeOrder("regular", [
"tradingsymbol" => "INFY252271840CE", //Stock Name +Year of Expiry(numerical) +Month of expiry(numerical) + Day of expiry(numerical) + Strike and Option type(or FUT for futures)
"exchange" => "NSE",
"quantity" => 400,
"transaction_type" => "BUY",
"order_type" => "LIMIT",
"product" => "CNC",
"price"=> 58
]);
it returns Uncaught KiteConnect\Exception\InputException (400) 'The instrument you are placing an order for has either expired or does not exist.' thrown in C:\xampp\htdocs\vendor\zerodha\phpkiteconnect\src\KiteConnect.php on line 1697error
Stock Name +Year of Expiry(numerical) +Month of expiry(numerical) + Day of expiry(numerical) + Strike and Option type(or FUT for futures)this format.
This value, i am putting in by hand. Will you please tell me that when i put "tradingsymbole" value automatically from database . what checks i need to perform, that it takes the 'ATM' "tradingsymbol" from all that data of 'instrument.cvs' dump.
The instruments master only contains what are the instruments that are trading for the day. It won't have information about OTM or ATM or ITM instruments.