API Documentation

Category Description

Same as TradeReportSummary, but for trades with condition FormT (before and after hours trades).

Category Identification

pNxCoreMessage->coreData.Category.pnxStringCategory->Atom 21
pNxCoreMessage->coreData.Category.pnxStringCategory->String FormTReportSummary

Update Time and Frequency

Approximate Time Info
00:00 AM Information from previous session
05:15 AM Current session information
Very Rare Updates Very rare updates throughout the day
Market close Updates after market close

Category Fields | 18

Index FieldName FieldType C Code Info
0 Ticks NxCFT_32BIT pnxFields[0].data.i32Bit Count of Form-T trades this day
1 Volume NxCFT_32BIT pnxFields[1].data.i32Bit Volume of Form-T trades this day
2 First_Price NxCFT_PRICE pnxFields[2].data.nxPrice Price of first Form T trade this day
3 First_Exg NxCFT_STRING_IDX pnxFields[3].data.stringTableItem Exchange where first Form T trade executed, from table table_NxST_EXCHANGE.html
4 First_ExgSeq NxCFT_32BIT pnxFields[4].data.i32Bit Exchange assigned sequence number
5 First_ExgTime NxCFT_TIME pnxFields[5].data.nxTime Exchange timestamp of first Form T trade of day
6 High_Price NxCFT_PRICE pnxFields[6].data.nxPrice Price of highest Form T trade this day
7 High_Exg NxCFT_STRING_IDX pnxFields[7].data.stringTableItem Exchange of highest Form T trade this day, from table table_NxST_EXCHANGE.html
8 High_ExgSeq NxCFT_32BIT pnxFields[8].data.i32Bit Exchange sequence number of highest Form T trade this day
9 High_ExgTime NxCFT_TIME pnxFields[9].data.nxTime Exchange time of highest Form T trade this day
10 Low_Price NxCFT_PRICE pnxFields[10].data.nxPrice Price of lowest Form T trade this day
11 Low_Exg NxCFT_STRING_IDX pnxFields[11].data.stringTableItem Exchange of lowest Form T trade this day, from table table_NxST_EXCHANGE.html
12 Low_ExgSeq NxCFT_32BIT pnxFields[12].data.i32Bit Exchange sequence number of lowest Form T trade this day
13 Low_ExgTime NxCFT_TIME pnxFields[13].data.nxTime Exchange time of lowest Form T trade this day
14 Last_Price NxCFT_PRICE pnxFields[14].data.nxPrice Price of last Form T trade this day
15 Last_Exg NxCFT_STRING_IDX pnxFields[15].data.stringTableItem Exchange of last Form T trade this day, from table table_NxST_EXCHANGE.html
16 Last_ExgSeq NxCFT_32BIT pnxFields[16].data.i32Bit Exchange sequence number of last Form T trade this day
17 Last_ExgTime NxCFT_TIME pnxFields[17].data.nxTime Exchange time of last Form T trade this day

Code Sample from CategoryDumper project:

void onNxCoreCategory_21(const NxCoreMessage *pNxCoreMsg)
{
     NxCategoryField *pField;
			 
     // Print the category num and the Symbol
     PrintSymbol(pNxCoreMsg); 			 
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[0];
     if (pField->Set)			 
         printf("FormT Ticks: %d \n",pField->data.i32Bit); 			 
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[1];
     if (pField->Set)			 
         printf("FormT Volume: %d \n",pField->data.i32Bit); 			 
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[2];
     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[3];		 
     if (pField->Set)
         printf("First Exg:  Table - %d  Exchange - %d\n",
                pField->data.stringTableItem.ixTable,
                pField->data.stringTableItem.idString); 			 
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[4];
     if (pField->Set)			 
         printf("First Exg Seq: %d \n",pField->data.i32Bit); 			 
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[5];		 
     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[6];
     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[7];		 
     if (pField->Set)
         printf("High Exg:  Table - %d  Exchange - %d\n",
                pField->data.stringTableItem.ixTable,
                pField->data.stringTableItem.idString); 			 
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[8];
     if (pField->Set)			 
         printf("High Exg Seq: %d \n",pField->data.i32Bit); 			 
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[9];		 
     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[10];
     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[11];		 
     if (pField->Set)
         printf("Low Exg:  Table - %d  Exchange - %d\n",
                pField->data.stringTableItem.ixTable,
                pField->data.stringTableItem.idString); 			 
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[12];
     if (pField->Set)			 
         printf("Low Exg Seq: %d \n",pField->data.i32Bit); 			 
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[13];		 
     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[14];
     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[15];		 
     if (pField->Set)
         printf("Last Exg:  Table - %d  Exchange - %d\n",
                pField->data.stringTableItem.ixTable,
                pField->data.stringTableItem.idString); 			 
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[16];
     if (pField->Set)			 
         printf("Last Exg Seq: %d \n",pField->data.i32Bit); 			 
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[17];		 
     if (pField->Set)
         printf("Last Exg Time: %02d:%02d:%02d \n",
                pField->data.nxTime.Hour,
                pField->data.nxTime.Minute,
                pField->data.nxTime.Second);
}