Table of Contents


Category Description

Prev Close (adj for ex-div), open, high, low, last, volume, last trade time and exchange traded on.

Category Identification

pNxCoreMessage->coreData.Category.pnxStringCategory->Atom 16
pNxCoreMessage->coreData.Category.pnxStringCategory->String OHLC

Update Time and Frequency

Approximate Time Info
00:00 AM Information from previous session
Constant Updates Constant updates throughout the day

Category Fields | 9

Index FieldName FieldType C Code Info
0 PrevClose NxCFT_PRICE pnxFields[0].data.nxPrice Last session close, adjusted for ex-dividend or splits
1 Open NxCFT_PRICE pnxFields[1].data.nxPrice Opening price of session (uses session date)
2 High NxCFT_PRICE pnxFields[2].data.nxPrice Highest traded price of session
3 Low NxCFT_PRICE pnxFields[3].data.nxPrice Lowest traded price of session
4 Close NxCFT_PRICE pnxFields[4].data.nxPrice Closing price of session
5 Volume NxCFT_32BIT pnxFields[5].data.i32Bit Volume of shares or contract for session
6 LastTradeTime NxCFT_TIME pnxFields[6].data.nxTime Time the last trade occurred (Exchange timestamp)
7 LastTradeExg NxCFT_STRING_IDX pnxFields[7].data.stringTableItem Exchange that last traded for session (zero if only traded on one exchange), from table table_NxST_EXCHANGE.html
8 OHLCFlags NxCFT_STRING_MAP pnxFields[8].data.stringTableItem Flags indicating last is settlement,vol is estimate,verification level, etc, from table table_NxST_OHLCFLAGS.html

Code Sample from CategoryDumper project:

void onNxCoreCategory_16(const NxCoreMessage *pNxCoreMsg)
{
     NxCategoryField *pField;
			 
     // Print the category num and the Symbol
     PrintSymbol(pNxCoreMsg); 			 
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[0];
     if (pField->Set)
         printf("Prev Close: %0.4f \n",
                pfNxCorePriceToDouble(pField->data.nxPrice.Price,
                                      pField->data.nxPrice.PriceType)); 			 
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[1];
     if (pField->Set)
         printf("Open: %0.4f \n",
                pfNxCorePriceToDouble(pField->data.nxPrice.Price,
                                      pField->data.nxPrice.PriceType)); 			 
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[2];
     if (pField->Set)
         printf("High: %0.4f \n",
                pfNxCorePriceToDouble(pField->data.nxPrice.Price,
                                      pField->data.nxPrice.PriceType)); 			 
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[3];
     if (pField->Set)
         printf("Low: %0.4f \n",
                pfNxCorePriceToDouble(pField->data.nxPrice.Price,
                                      pField->data.nxPrice.PriceType)); 			 
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[4];
     if (pField->Set)
         printf("Close: %0.4f \n",
                pfNxCorePriceToDouble(pField->data.nxPrice.Price,
                                      pField->data.nxPrice.PriceType)); 			 
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[5];
     if (pField->Set)			 
         printf("Volume: %d \n",pField->data.i32Bit); 			 
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[6];		 
     if (pField->Set)
         printf("Last Trade Time: %02d:%02d:%02d \n",
                pField->data.nxTime.Hour,
                pField->data.nxTime.Minute,
                pField->data.nxTime.Second); 			 
 			 
     // See table_NxST_EXCHANGE.html for exchange codes
 			
     pField=&pNxCoreMsg->coreData.Category.pnxFields[7];		 
     if (pField->Set)
         printf("Last Trade Exg: Table - %d  Exchange - %d \n",
                pField->data.stringTableItem.ixTable,
                pField->data.stringTableItem.idString); 			 
 			 
     // See table_NxST_OHLCFLAGS.html for OHLC flag values 			 
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[8];		 
     if (pField->Set)
         printf("OHLC Flags:  Table - %d  Flags - %d \n",
                pField->data.stringTableItem.ixTable,
                pField->data.stringTableItem.idString);
}