API Documentation

Category Description

Price, exchange and time of last Bid and Ask for trading session.

Category Identification

pNxCoreMessage->coreData.Category.pnxStringCategory->Atom 29
pNxCoreMessage->coreData.Category.pnxStringCategory->String NxLastQuote

Update Time and Frequency

Approximate Time Info
00:00 AM Information from previous session
05:15 AM Current session information
16:36 PM OPRA information for current day

Category Fields | 6

Index FieldName FieldType C Code Info
0 Bid NxCFT_PRICE pnxFields[0].data.nxPrice Last Bid price of session
1 Ask NxCFT_PRICE pnxFields[1].data.nxPrice Last Ask price of session
2 QuoteTime NxCFT_TIME pnxFields[2].data.nxTime Exchange timestamp of last Quote of session
3 AskTime NxCFT_TIME pnxFields[3].data.nxTime Only set if Ask timestamp differs from Bid timestamp (rare)
4 QuoteExg NxCFT_STRING_IDX pnxFields[4].data.stringTableItem Exchange of Quote, from table table_NxST_EXCHANGE.html
5 AskExg NxCFT_STRING_IDX pnxFields[5].data.stringTableItem Only set if Ask exchange differs from Quote Exchange (rare), from table table_NxST_EXCHANGE.html

Code Sample from CategoryDumper project:

void onNxCoreCategory_29(const NxCoreMessage *pNxCoreMsg)
{
     NxCategoryField *pField;
			 
     // Print the category num and the Symbol
     PrintSymbol(pNxCoreMsg); 			 
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[0];
     if (pField->Set)
         printf("Bid: %0.4f \n",
                pfNxCorePriceToDouble(pField->data.nxPrice.Price,
                                      pField->data.nxPrice.PriceType)); 			 
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[1];
     if (pField->Set)
         printf("Ask: %0.4f \n",
                pfNxCorePriceToDouble(pField->data.nxPrice.Price,
                                      pField->data.nxPrice.PriceType)); 			 
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[2];		 
     if (pField->Set)
         printf("Quote Time: %02d:%02d:%02d \n",
                pField->data.nxTime.Hour,
                pField->data.nxTime.Minute,
                pField->data.nxTime.Second); 			 
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[3];		 
     if (pField->Set)
         printf("Ask Time: %02d:%02d:%02d \n",
                pField->data.nxTime.Hour,
                pField->data.nxTime.Minute,
                pField->data.nxTime.Second); 			 
 			 
     // See table_NxST_EXCHANGE.html for exchange codes
     pField=&pNxCoreMsg->coreData.Category.pnxFields[4];		 
     if (pField->Set)
         printf("Quote Exg:  Table - %d  Exchange - %d\n",
                pField->data.stringTableItem.ixTable,
                pField->data.stringTableItem.idString); 			 
 			 
     // See table_NxST_EXCHANGE.html for exchange codes
     pField=&pNxCoreMsg->coreData.Category.pnxFields[5];		 
     if (pField->Set)
         printf("Ask Exg:  Table - %d  Exchange - %d\n",
                pField->data.stringTableItem.ixTable,
                pField->data.stringTableItem.idString);     
}