API Documentation

Category Description

Other Range

Category Identification

pNxCoreMessage->coreData.Category.pnxStringCategory->Atom 83
pNxCoreMessage->coreData.Category.pnxStringCategory->String OtherRange

Update Time and Frequency

Approximate Time Info
Market open Rare updates after market open

Category Fields | 6

Index FieldName FieldType C Code Info
0 ReportExgSeq NxCFT_32BIT pnxFields[0].data.i32Bit Exchange sequence number
1 Price1 NxCFT_PRICE pnxFields[1].data.nxPrice
2 Bate1 NxCFT_32BIT pnxFields[2].data.i32Bit
3 Price2 NxCFT_PRICE pnxFields[3].data.nxPrice
4 Bate2 NxCFT_32BIT pnxFields[4].data.i32Bit
5 RangeIndc NxCFT_32BIT pnxFields[5].data.i32Bit Range index

Code Sample from CategoryDumper project:

void onNxCoreCategory_83(const NxCoreMessage *pNxCoreMsg)
{
     NxCategoryField *pField;
 			 
     // Print the category num and the Symbol
     PrintSymbol(pNxCoreMsg);
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[0];
     if (pField->Set)
         printf("Report Exg Seq: %d \n",pField->data.i32Bit);
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[1];
     if (pField->Set)
         printf("Price1: %0.4f \n",
                pfNxCorePriceToDouble(pField->data.nxPrice.Price,
                                      pField->data.nxPrice.PriceType));
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[2];
     if (pField->Set)
         printf("Bate1: %d \n",pField->data.i32Bit);
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[3];
     if (pField->Set)
         printf("Price2: %0.4f \n",
                pfNxCorePriceToDouble(pField->data.nxPrice.Price,
                                      pField->data.nxPrice.PriceType));
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[4];
     if (pField->Set)
         printf("Bate2: %d \n",pField->data.i32Bit);
 			 
     pField=&pNxCoreMsg->coreData.Category.pnxFields[5];
     if (pField->Set)
         printf("Range Indc: %d \n",pField->data.i32Bit);     
}