API Documentation

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);
     }
}