Category Description
Price, size, time and exchange of last trade reports that occur at the prevailing bid or ask price.
Category Identification
pNxCoreMessage->coreData.Category.pnxStringCategory->Atom | 27 |
pNxCoreMessage->coreData.Category.pnxStringCategory->String | NxLastTrade |
Update Time and Frequency
Approximate Time | Info |
---|---|
00:00 AM | Information from previous session |
05:15 AM | Current session information |
Category Fields | 8
Index | FieldName | FieldType | C Code | Info |
---|---|---|---|---|
0 | AtBidTradePrice | NxCFT_PRICE | pnxFields[0].data.nxPrice | Price of last trade occurring at the Bid Price |
1 | AtAskTradePrice | NxCFT_PRICE | pnxFields[1].data.nxPrice | Price of last trade occurring at the Ask Price |
2 | AtBidTradeSize | NxCFT_32BIT | pnxFields[2].data.i32Bit | Size of trade |
3 | AtAskTradeSize | NxCFT_32BIT | pnxFields[3].data.i32Bit | Size of trade |
4 | AtBidTradeTime | NxCFT_TIME | pnxFields[4].data.nxTime | Exchange timestamp of trade |
5 | AtAskTradeTime | NxCFT_TIME | pnxFields[5].data.nxTime | Exchange timestamp of trade |
6 | AtBidTradeExg | NxCFT_STRING_IDX | pnxFields[6].data.stringTableItem | Exchange where trade executed, from table table_NxST_EXCHANGE.html |
7 | AtAskTradeExg | NxCFT_STRING_IDX | pnxFields[7].data.stringTableItem | Exchange where trade executed, from table table_NxST_EXCHANGE.html |
Code Sample from CategoryDumper project:
void onNxCoreCategory_27(const NxCoreMessage *pNxCoreMsg) { NxCategoryField *pField; // Print the category num and the Symbol PrintSymbol(pNxCoreMsg); pField=&pNxCoreMsg->coreData.Category.pnxFields[0]; if (pField->Set) printf("AtBidTradePrice: %0.4f \n", pfNxCorePriceToDouble(pField->data.nxPrice.Price, pField->data.nxPrice.PriceType)); pField=&pNxCoreMsg->coreData.Category.pnxFields[1]; if (pField->Set) printf("AtAskTradePrice: %0.4f \n", pfNxCorePriceToDouble(pField->data.nxPrice.Price, pField->data.nxPrice.PriceType)); pField=&pNxCoreMsg->coreData.Category.pnxFields[2]; if (pField->Set) printf("AtBidTradeSize: %d \n",pField->data.i32Bit); pField=&pNxCoreMsg->coreData.Category.pnxFields[3]; if (pField->Set) printf("AtAskTradeSize: %d \n",pField->data.i32Bit); pField=&pNxCoreMsg->coreData.Category.pnxFields[4]; if (pField->Set) printf("AtBidTradeTime: %02d:%02d:%02d \n", pField->data.nxTime.Hour, pField->data.nxTime.Minute, pField->data.nxTime.Second); pField=&pNxCoreMsg->coreData.Category.pnxFields[5]; if (pField->Set) printf("AtAskTradeTime: %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[6]; if (pField->Set) printf("AtBidTradeExg: 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[7]; if (pField->Set) printf("AtAskTradeExg: Table - %d Exchange - %d\n", pField->data.stringTableItem.ixTable, pField->data.stringTableItem.idString); }