Category Description
Open Range
Category Identification
pNxCoreMessage->coreData.Category.pnxStringCategory->Atom | 81 |
pNxCoreMessage->coreData.Category.pnxStringCategory->String | OpenRange |
Update Time and Frequency
Approximate Time | Info |
---|---|
00:00 AM | Information from previous session |
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_81(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); }