Category Description
Close Range
Category Identification
| pNxCoreMessage->coreData.Category.pnxStringCategory->Atom | 82 |
| pNxCoreMessage->coreData.Category.pnxStringCategory->String | CloseRange |
Update Time and Frequency
| Approximate Time | Info |
|---|---|
| 00:00 AM | Information from previous session |
| 05:15 AM | Current session information |
| Constant Updates | Constant updates throughout the day |
Category Fields | 10
| 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 | MarketDirection | NxCFT_32BIT | pnxFields[5].data.i32Bit | Market Direction |
| 6 | MatchedTradeTime1 | NxCFT_TIME | pnxFields[6].data.nxTime | Matched trade time 1 |
| 7 | MatchedTradeSeq1 | NxCFT_32BIT | pnxFields[7].data.i32Bit | Matched trade sequence number 1 |
| 8 | MatchedTradeTime2 | NxCFT_TIME | pnxFields[8].data.nxTime | Matched trade time 2 |
| 9 | MatchedTradeSeq2 | NxCFT_32BIT | pnxFields[9].data.i32Bit | Matched trade sequence number 2 |
Code Sample from CategoryDumper project:
void onNxCoreCategory_82(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",
NCorePriceToDouble(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",
NCorePriceToDouble(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("Market Direction: %d \n",pField->data.i32Bit);
pField=&pNxCoreMsg->coreData.Category.pnxFields[6];
if (pField->Set)
printf("Market Trade Time1: %02d:%02d:%02d \n",
pField->data.nxTime.Hour,
pField->data.nxTime.Minute,
pField->data.nxTime.Second);
pField=&pNxCoreMsg->coreData.Category.pnxFields[7];
if (pField->Set)
printf("Matched Trade Seq1: %d \n",pField->data.i32Bit);
pField=&pNxCoreMsg->coreData.Category.pnxFields[8];
if (pField->Set)
printf("Market Trade Time2: %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("Matched Trade Seq2: %d \n",pField->data.i32Bit);
}