API Documentation

Category Description

Sent if an exchange correction changes a 15 second, 1 minute, and/or 5 minute open/high/low/close/volume bar.

Category Identification

pNxCoreMessage->coreData.Category.pnxStringCategory->Atom 25
pNxCoreMessage->coreData.Category.pnxStringCategory->String BarCorrection

Update Time and Frequency

Approximate Time Info
Constant Updates Constant updates throughout the day

Category Fields | 28

Index FieldName FieldType C Code Info
0 BarInterval NxCFT_TIME pnxFields[0].data.nxTime Bar interval, like 15 seconds, 1 minute, 5 minutes
1 BarTimeBegin NxCFT_TIME pnxFields[1].data.nxTime Beginning time of the Bar interval
2 BarTimeEnd NxCFT_TIME pnxFields[2].data.nxTime End time of the Bar interval
3 ReferenceExgSeq NxCFT_32BIT pnxFields[3].data.i32Bit Exchange sequence number
4 First_Price NxCFT_PRICE pnxFields[4].data.nxPrice First, or open, trade of the bar
5 First_Exg NxCFT_STRING_IDX pnxFields[5].data.stringTableItem Exchange of the first, or open, trade of the bar, from table table_NxST_EXCHANGE.html
6 First_ExgSeq NxCFT_32BIT pnxFields[6].data.i32Bit Exchange sequence number of first, or open, trade of the bar
7 First_ExgTime NxCFT_TIME pnxFields[7].data.nxTime Exchange time of first, or open, trade of the bar
8 High_Price NxCFT_PRICE pnxFields[8].data.nxPrice High trade of the bar
9 High_Exg NxCFT_STRING_IDX pnxFields[9].data.stringTableItem Exchange of the high trade of the bar, from table table_NxST_EXCHANGE.html
10 High_ExgSeq NxCFT_32BIT pnxFields[10].data.i32Bit Exchange sequence number of the high trade of the bar
11 High_ExgTime NxCFT_TIME pnxFields[11].data.nxTime Exchange time of the high trade of the bar
12 Low_Price NxCFT_PRICE pnxFields[12].data.nxPrice Low trade of the bar
13 Low_Exg NxCFT_STRING_IDX pnxFields[13].data.stringTableItem Exchange of the low trade of the bar, from table table_NxST_EXCHANGE.html
14 Low_ExgSeq NxCFT_32BIT pnxFields[14].data.i32Bit Exchange sequence number of the low trade of the bar
15 Low_ExgTime NxCFT_TIME pnxFields[15].data.nxTime Exchange time of the low trade of the bar
16 Last_Price NxCFT_PRICE pnxFields[16].data.nxPrice Last trade of the bar
17 Last_Exg NxCFT_STRING_IDX pnxFields[17].data.stringTableItem Exchange of the last trade of the bar, from table table_NxST_EXCHANGE.html
18 Last_ExgSeq NxCFT_32BIT pnxFields[18].data.i32Bit Exchange sequence number of the last trade of the bar
19 Last_ExgTime NxCFT_TIME pnxFields[19].data.nxTime Exchange time of the high trade of the bar
20 FilterHigh_Price NxCFT_PRICE pnxFields[20].data.nxPrice Filter high price of the bar, after being filtered by NxCore (have Trade.NxAnalysis.Filtered set)
21 FilterHigh_Exg NxCFT_STRING_IDX pnxFields[21].data.stringTableItem Exchange of the filter high trade of the bar, from table table_NxST_EXCHANGE.html
22 FilterHigh_ExgSeq NxCFT_32BIT pnxFields[22].data.i32Bit Exchange sequence number of the filter high trade of the bar
23 FilterHigh_ExgTime NxCFT_TIME pnxFields[23].data.nxTime Exchange time of the filter high trade of the bar
24 FilterLow_Price NxCFT_PRICE pnxFields[24].data.nxPrice Filter low price of the bar, after being filtered by NxCore (have Trade.NxAnalysis.Filtered set)
25 FilterLow_Exg NxCFT_STRING_IDX pnxFields[25].data.stringTableItem Exchange of the filter low trade of the bar, from table table_NxST_EXCHANGE.html
26 FilterLow_ExgSeq NxCFT_32BIT pnxFields[26].data.i32Bit Exchange sequence number of the filter low trade of the bar
27 FilterLow_ExgTime NxCFT_TIME pnxFields[27].data.nxTime Exchange time of the filter low trade of the bar

Code Sample from CategoryDumper project:

void onNxCoreCategory_25(const NxCoreMessage *pNxCoreMsg)
{
     NxCategoryField *pField;
			 
     // Print the category num and the Symbol
     PrintSymbol(pNxCoreMsg); 			 
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[0];		 
     if (pField->Set)
         printf("Bar Interval: %02d:%02d:%02d \n",
                pField->data.nxTime.Hour,
                pField->data.nxTime.Minute,
                pField->data.nxTime.Second); 			 
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[1];		 
     if (pField->Set)
         printf("Bar Time Begin: %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("Bar Time End: %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("Ref Exg Seq: %d \n",pField->data.i32Bit); 			 
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[4];
     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[5];		 
     if (pField->Set)
         printf("First Exg:  Table - %d  Exchange - %d\n",
                pField->data.stringTableItem.ixTable,
                pField->data.stringTableItem.idString); 			 
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[6];
     if (pField->Set)			 
         printf("First Exg Seq: %d \n",pField->data.i32Bit); 			 
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[7];		 
     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[8];
     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[9];		 
     if (pField->Set)
         printf("High Exg:  Table - %d  Exchange - %d\n",
                pField->data.stringTableItem.ixTable,
                pField->data.stringTableItem.idString); 			 
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[10];
     if (pField->Set)			 
         printf("High Exg Seq: %d \n",pField->data.i32Bit); 			 
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[11];		 
     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[12];
     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[13];		 
     if (pField->Set)
         printf("Low Exg:  Table - %d  Exchange - %d\n",
                pField->data.stringTableItem.ixTable,
                pField->data.stringTableItem.idString); 			 
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[14];
     if (pField->Set)			 
         printf("Low Exg Seq: %d \n",pField->data.i32Bit); 			 
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[15];		 
     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[16];
     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[17];		 
     if (pField->Set)
         printf("Last Exg:  Table - %d  Exchange - %d\n",
                pField->data.stringTableItem.ixTable,
                pField->data.stringTableItem.idString); 			 
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[18];
     if (pField->Set)			 
         printf("Last Exg Seq: %d \n",pField->data.i32Bit); 			 
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[19];		 
     if (pField->Set)
         printf("Last Exg Time: %02d:%02d:%02d \n",
                pField->data.nxTime.Hour,
                pField->data.nxTime.Minute,
                pField->data.nxTime.Second); 			 
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[20];
     if (pField->Set)
         printf("FilterHigh 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[21];		 
     if (pField->Set)
         printf("FilterHigh Exg:  Table - %d  Exchange - %d\n",
                pField->data.stringTableItem.ixTable,
                pField->data.stringTableItem.idString); 			 
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[22];
     if (pField->Set)			 
         printf("FilterHigh Exg Seq: %d \n",pField->data.i32Bit); 			 
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[23];		 
     if (pField->Set)
         printf("FilterHigh Exg Time: %02d:%02d:%02d \n",
                pField->data.nxTime.Hour,
                pField->data.nxTime.Minute,
                pField->data.nxTime.Second); 			 
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[24];
     if (pField->Set)
         printf("FilterLow 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[25];		 
     if (pField->Set)
         printf("FilterLow Exg:  Table - %d  Exchange - %d\n",
                pField->data.stringTableItem.ixTable,
                pField->data.stringTableItem.idString); 			 
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[26];
     if (pField->Set)			 
         printf("FilterLow Exg Seq: %d \n",pField->data.i32Bit); 			 
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[27];		 
     if (pField->Set)
         printf("FilterLow Exg Time: %02d:%02d:%02d \n",
                pField->data.nxTime.Hour,
                pField->data.nxTime.Minute,
                pField->data.nxTime.Second);
}