Category Description
Price, sequence, and time for each market center that sends a trade report with official closing price condition.
Category Identification
| pNxCoreMessage->coreData.Category.pnxStringCategory->Atom | 23 |
| pNxCoreMessage->coreData.Category.pnxStringCategory->String | MCClosingTradeReports |
Update Time and Frequency
| Approximate Time | Info |
|---|---|
| 00:00 AM | Information from previous session |
| Market close | Updates after market close |
Category Fields | 24
| Index | FieldName | FieldType | C Code | Info |
|---|---|---|---|---|
| 0 | Price | NxCFT_PRICE | pnxFields[0].data.nxPrice | Closing trade price on this exchange |
| 1 | Exchange | NxCFT_STRING_IDX | pnxFields[1].data.stringTableItem | Exchange for this closing price, from table table_NxST_EXCHANGE.html |
| 2 | ExgSeq | NxCFT_32BIT | pnxFields[2].data.i32Bit | Seq # of closing trade on this exchange |
| 3 | ExgTime | NxCFT_TIME | pnxFields[3].data.nxTime | Exchange time of closing trade on this exchange |
| 4 | Price | NxCFT_PRICE | pnxFields[4].data.nxPrice | Closing trade price on this exchange |
| 5 | Exchange | NxCFT_STRING_IDX | pnxFields[5].data.stringTableItem | Exchange for this closing price, from table table_NxST_EXCHANGE.html |
| 6 | ExgSeq | NxCFT_32BIT | pnxFields[6].data.i32Bit | Seq # of closing trade on this exchange |
| 7 | ExgTime | NxCFT_TIME | pnxFields[7].data.nxTime | Exchange time of closing trade on this exchange |
| 8 | Price | NxCFT_PRICE | pnxFields[8].data.nxPrice | Closing trade price on this exchange |
| 9 | Exchange | NxCFT_STRING_IDX | pnxFields[9].data.stringTableItem | Exchange for this closing price, from table table_NxST_EXCHANGE.html |
| 10 | ExgSeq | NxCFT_32BIT | pnxFields[10].data.i32Bit | Seq # of closing trade on this exchange |
| 11 | ExgTime | NxCFT_TIME | pnxFields[11].data.nxTime | Exchange time of closing trade on this exchange |
| 12 | Price | NxCFT_PRICE | pnxFields[12].data.nxPrice | Closing trade price on this exchange |
| 13 | Exchange | NxCFT_STRING_IDX | pnxFields[13].data.stringTableItem | Exchange for this closing price, from table table_NxST_EXCHANGE.html |
| 14 | ExgSeq | NxCFT_32BIT | pnxFields[14].data.i32Bit | Seq # of closing trade on this exchange |
| 15 | ExgTime | NxCFT_TIME | pnxFields[15].data.nxTime | Exchange time of closing trade on this exchange |
| 16 | Price | NxCFT_PRICE | pnxFields[16].data.nxPrice | Closing trade price on this exchange |
| 17 | Exchange | NxCFT_STRING_IDX | pnxFields[17].data.stringTableItem | Exchange for this closing price, from table table_NxST_EXCHANGE.html |
| 18 | ExgSeq | NxCFT_32BIT | pnxFields[18].data.i32Bit | Seq # of closing trade on this exchange |
| 19 | ExgTime | NxCFT_TIME | pnxFields[19].data.nxTime | Exchange time of closing trade on this exchange |
| 20 | Price | NxCFT_PRICE | pnxFields[20].data.nxPrice | Closing trade price on this exchange |
| 21 | Exchange | NxCFT_STRING_IDX | pnxFields[21].data.stringTableItem | Exchange for this closing price, from table table_NxST_EXCHANGE.html |
| 22 | ExgSeq | NxCFT_32BIT | pnxFields[22].data.i32Bit | Seq # of closing trade on this exchange |
| 23 | ExgTime | NxCFT_TIME | pnxFields[23].data.nxTime | Exchange time of closing trade on this exchange |
Code Sample from CategoryDumper project:
void onNxCoreCategory_23(const NxCoreMessage *pNxCoreMsg)
{
NxCategoryField *pField;
// Print the category num and the Symbol
PrintSymbol(pNxCoreMsg);
// Category 23 may contain up to 6 unique data points.
// Each individual data point may contain 4 unique data elements.
for (int i=0;i<=20;i+=4)
{
pField=&pNxCoreMsg->coreData.Category.pnxFields[i];
if (pField->Set)
printf("Price: %0.4f \n",
NCorePriceToDouble(pField->data.nxPrice.Price,
pField->data.nxPrice.PriceType));
// See table_NxST_EXCHANGE.html for exchange codes
pField=&pNxCoreMsg->coreData.Category.pnxFields[i+1];
if (pField->Set)
printf("Exg: Table - %d Exchange - %d\n",
pField->data.stringTableItem.ixTable,
pField->data.stringTableItem.idString);
pField=&pNxCoreMsg->coreData.Category.pnxFields[i+2];
if (pField->Set)
printf("ExgSeq: %d \n",pField->data.i32Bit);
pField=&pNxCoreMsg->coreData.Category.pnxFields[i+3];
if (pField->Set)
printf("ExgTime: %02d:%02d:%02d \n",
pField->data.nxTime.Hour,
pField->data.nxTime.Minute,
pField->data.nxTime.Second);
}
}