API Documentation

Category Description

Summary of open, high, low, last, vol and ticks for symbol's time and sales including corrections.

Category Identification

pNxCoreMessage->coreData.Category.pnxStringCategory->Atom 20
pNxCoreMessage->coreData.Category.pnxStringCategory->String TradeReportSummary

Update Time and Frequency

Approximate Time Info
Constant Updates Constant updates throughout the day

Category Fields | 21

Index FieldName FieldType C Code Info
0 UpdateReason NxCFT_STRING_IDX pnxFields[0].data.stringTableItem Reason for this update, such as InitialRefresh, etc, from table table_NxST_TRADEREPORTREASON.html
1 PrevSyncTime NxCFT_TIME pnxFields[1].data.nxTime Refresh updates indicate time of last refresh
2 ReferenceExgSeq NxCFT_32BIT pnxFields[2].data.i32Bit Trade correction sequence number that triggered this update
3 Ticks NxCFT_32BIT pnxFields[3].data.i32Bit Count of session trade reports
4 Volume NxCFT_64BIT pnxFields[4].data.i64Bit Sum of trade sizes in trade reports counted in Ticks
5 First_Price NxCFT_PRICE pnxFields[5].data.nxPrice First Trade elgible to set Last
6 First_Exg NxCFT_STRING_IDX pnxFields[6].data.stringTableItem Exchange where first trade executed, from table table_NxST_EXCHANGE.html
7 First_ExgSeq NxCFT_32BIT pnxFields[7].data.i32Bit Exchange assigned sequence number
8 First_ExgTime NxCFT_TIME pnxFields[8].data.nxTime Exchange timestamp of first trade
9 High_Price NxCFT_PRICE pnxFields[9].data.nxPrice Price of highest trade elgible to set last
10 High_Exg NxCFT_STRING_IDX pnxFields[10].data.stringTableItem Exchange with highest price, from table table_NxST_EXCHANGE.html
11 High_ExgSeq NxCFT_32BIT pnxFields[11].data.i32Bit Exchange sequence number of highest price
12 High_ExgTime NxCFT_TIME pnxFields[12].data.nxTime Exchange time of highest price
13 Low_Price NxCFT_PRICE pnxFields[13].data.nxPrice Price of lowest trade elgible to set last
14 Low_Exg NxCFT_STRING_IDX pnxFields[14].data.stringTableItem Exchange with lowest price, from table table_NxST_EXCHANGE.html
15 Low_ExgSeq NxCFT_32BIT pnxFields[15].data.i32Bit Exchange sequence number of lowest price
16 Low_ExgTime NxCFT_TIME pnxFields[16].data.nxTime Exchange time of lowest price
17 Last_Price NxCFT_PRICE pnxFields[17].data.nxPrice Price of last trade elgible to set last (excludes FormT)
18 Last_Exg NxCFT_STRING_IDX pnxFields[18].data.stringTableItem Exchange of last price, from table table_NxST_EXCHANGE.html
19 Last_ExgSeq NxCFT_32BIT pnxFields[19].data.i32Bit Exchange sequence number of last price
20 Last_ExgTime NxCFT_TIME pnxFields[20].data.nxTime Exchange time of last price

Code Sample from CategoryDumper project:

void onNxCoreCategory_20(const NxCoreMessage *pNxCoreMsg)
{
     NxCategoryField *pField;
			 
     // Print the category num and the Symbol
     PrintSymbol(pNxCoreMsg); 			 
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[0];		 
     if (pField->Set)
     {
         printf("Update Reason: Table - %d  Reason - ",
                pField->data.stringTableItem.ixTable); 			 
 			 
         // See table_NxST_TRADEREPORTREASON.html 			  			 
         switch(pField->data.stringTableItem.idString)
         {
             case 0:printf("Initial Refresh \n");break;
             case 1:printf("Post Insert \n");break;
             case 2:printf("Post Cancel \n");break;
             case 3:printf("Post Correction \n");break;
             case 4:printf("Synch Refresh \n");break;
             case 5:printf("Final \n");break;
             case 6:printf("Corrected Final \n");break;
         }
     } 			 
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[1];		 
     if (pField->Set)
         printf("Prev Synch Time: %02d:%02d:%02d \n",
                pField->data.nxTime.Hour,
                pField->data.nxTime.Minute,
                pField->data.nxTime.Second); 			 
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[2];
     if (pField->Set)			 
         printf("Ref Exg Sequence: %d \n",pField->data.i32Bit); 			 
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[3];
     if (pField->Set)			 
         printf("Ticks: %d \n",pField->data.i32Bit); 			 
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[4];
     if (pField->Set)			 
         printf("Volume: %I64d \n",pField->data.i64Bit); 			 
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[5];
     if (pField->Set)
         printf("First Price: %0.4f \n",
                pfNxCorePriceToDouble(pField->data.nxPrice.Price,
                                      pField->data.nxPrice.PriceType)); 			 
    
     // See table_NxST_EXCHANGE.html for exchange codes 			 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[6];		 
     if (pField->Set)
         printf("First Exg: Table - %d  Exchange - %d \n",
                pField->data.stringTableItem.ixTable,
                pField->data.stringTableItem.idString); 			 
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[7];
     if (pField->Set)			 
         printf("First Exg Seq: %d \n",pField->data.i32Bit); 			 
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[8];		 
     if (pField->Set)
         printf("First Exg Time: %02d:%02d:%02d \n",
                pField->data.nxTime.Hour,
                pField->data.nxTime.Minute,
                pField->data.nxTime.Second); 			 
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[9];
     if (pField->Set)
         printf("High Price: %0.4f \n",
                pfNxCorePriceToDouble(pField->data.nxPrice.Price,
                                      pField->data.nxPrice.PriceType));
 			 
     // See table_NxST_EXCHANGE.html for exchange codes 			  			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[10];		 
     if (pField->Set)
         printf("High Exg: Table - %d  Exchange - %d \n",
                pField->data.stringTableItem.ixTable,
                pField->data.stringTableItem.idString); 			 
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[11];
     if (pField->Set)			 
         printf("High Exg Seq: %d \n",pField->data.i32Bit); 			 
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[12];		 
     if (pField->Set)
         printf("High Exg Time: %02d:%02d:%02d \n",
                pField->data.nxTime.Hour,
                pField->data.nxTime.Minute,
                pField->data.nxTime.Second); 			 
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[13];
     if (pField->Set)
         printf("Low Price: %0.4f \n",
                pfNxCorePriceToDouble(pField->data.nxPrice.Price,
                                      pField->data.nxPrice.PriceType)); 		
	 
     // See table_NxST_EXCHANGE.html for exchange codes 			  			  			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[14];		 
     if (pField->Set)
         printf("Low Exg: Table - %d  Exchange - %d \n",
                pField->data.stringTableItem.ixTable,
                pField->data.stringTableItem.idString); 			 
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[15];
     if (pField->Set)			 
         printf("Low Exg Seq: %d \n",pField->data.i32Bit); 			 
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[16];		 
     if (pField->Set)
         printf("Low Exg Time: %02d:%02d:%02d \n",
                pField->data.nxTime.Hour,
                pField->data.nxTime.Minute,
                pField->data.nxTime.Second); 			 
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[17];
     if (pField->Set)
         printf("Last Price: %0.4f \n",
                pfNxCorePriceToDouble(pField->data.nxPrice.Price,
                                      pField->data.nxPrice.PriceType));
 			 
     // See table_NxST_EXCHANGE.html for exchange codes 			  			  			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[18];		 
     if (pField->Set)
         printf("Last Exg: Table - %d  Exchange - %d \n",
                pField->data.stringTableItem.ixTable,
                pField->data.stringTableItem.idString); 			 
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[19];
     if (pField->Set)			 
         printf("Last Exg Seq: %d \n",pField->data.i32Bit); 			 
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[20];		 
     if (pField->Set)
         printf("Last Exg Time: %02d:%02d:%02d \n",
                pField->data.nxTime.Hour,
                pField->data.nxTime.Minute,
                pField->data.nxTime.Second);
}