Category Description
Price, exchange and time of first Bid and Ask for trading session.
Category Identification
pNxCoreMessage->coreData.Category.pnxStringCategory->Atom | 28 |
pNxCoreMessage->coreData.Category.pnxStringCategory->String | NxFirstQuote |
Update Time and Frequency
Approximate Time | Info |
---|---|
00:00 AM | Information from previous session |
05:15 AM | Current session information |
No Updates | No updates throughout the day |
Category Fields | 6
Index | FieldName | FieldType | C Code | Info |
---|---|---|---|---|
0 | Bid | NxCFT_PRICE | pnxFields[0].data.nxPrice | First Bid price of session |
1 | Ask | NxCFT_PRICE | pnxFields[1].data.nxPrice | First Ask price of session |
2 | QuoteTime | NxCFT_TIME | pnxFields[2].data.nxTime | Exchange timestamp of first 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_28(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); pField=&pNxCoreMsg->coreData.Category.pnxFields[4]; if (pField->Set) printf("Quote Exg: %d \n", pField->data.stringTableItem); pField=&pNxCoreMsg->coreData.Category.pnxFields[5]; if (pField->Set) printf("Ask Exg: %d \n", pField->data.stringTableItem); }