Category Description
Root Symbol Information
Category Identification
pNxCoreMessage->coreData.Category.pnxStringCategory->Atom | 70 |
pNxCoreMessage->coreData.Category.pnxStringCategory->String | RootSymbolInfo |
Update Time and Frequency
Approximate Time | Info |
---|---|
00:00 AM | Information from previous session |
Category Fields | 11
Index | FieldName | FieldType | C Code | Info |
---|---|---|---|---|
0 | Description | NxCFT_STRINGZ | pnxFields[0].data.StringZ | Description |
1 | OpenTime | NxCFT_TIME | pnxFields[1].data.nxTime | Time when contract starts to trade |
2 | CloseTime | NxCFT_TIME | pnxFields[2].data.nxTime | Time when contract ends trading |
3 | RootSymbol | NxCFT_STRINGZ | pnxFields[3].data.StringZ | Root symbol (* if same symbol as the root symbol without the 'r') |
4 | CallSymbol | NxCFT_STRINGZ | pnxFields[4].data.StringZ | Call symbol (* if same symbol as the root symbol without the 'r') |
5 | PutSymbol | NxCFT_STRINGZ | pnxFields[5].data.StringZ | Put symbol (* if same symbol as the root symbol without the 'r') |
6 | FuturesSecSubtype | NxCFT_32BIT | pnxFields[6].data.i32Bit | Futures security subtype. (No mappings currently 2014) |
7 | FutOptsSecSubtype | NxCFT_32BIT | pnxFields[7].data.i32Bit | Futures options security subtype. (No mappings currently 2014) |
8 | ContractSize | NxCFT_STRINGZ | pnxFields[8].data.StringZ | Contract size |
9 | QuotedUnit | NxCFT_STRINGZ | pnxFields[9].data.StringZ | Quoted units (eg. ton, troy oz, points, $/currency, currency/$, etc) |
10 | TickValue | NxCFT_STRINGZ | pnxFields[10].data.StringZ | Tick value (eg. $6.25, $1, $10, etc) |
Specific code sample is also available in our OptionsOnFutures sample
Code Sample from CategoryDumper project:
void onNxCoreCategory_70(const NxCoreMessage *pNxCoreMsg) { NxCategoryField *pField; // Print the category num and the Symbol PrintSymbol(pNxCoreMsg); pField=&pNxCoreMsg->coreData.Category.pnxFields[0]; if (pField->Set) printf("Description: %s \n",pField->data.StringZ); pField=&pNxCoreMsg->coreData.Category.pnxFields[1]; if (pField->Set) printf("Open Time: %02d:%02d:%02d \n", pField->data.nxTime.Hour, pField->data.nxTime.Minute, pField->data.nxTime.Second); pField=&pNxCoreMsg->coreData.Category.pnxFields[2]; if (pField->Set) printf("Close Time: %02d:%02d:%02d \n", pField->data.nxTime.Hour, pField->data.nxTime.Minute, pField->data.nxTime.Second); pField=&pNxCoreMsg->coreData.Category.pnxFields[3]; if (pField->Set) printf("Root Symbol: %s \n",pField->data.StringZ); pField=&pNxCoreMsg->coreData.Category.pnxFields[4]; if (pField->Set) printf("Call Symbol: %s \n",pField->data.StringZ); pField=&pNxCoreMsg->coreData.Category.pnxFields[5]; if (pField->Set) printf("Put Symbol: %s \n",pField->data.StringZ); pField=&pNxCoreMsg->coreData.Category.pnxFields[6]; if (pField->Set) printf("Futures Sec Subtype: %d \n",pField->data.i32Bit); pField=&pNxCoreMsg->coreData.Category.pnxFields[7]; if (pField->Set) printf("Futures OptsSec Subtype: %d \n",pField->data.i32Bit); pField=&pNxCoreMsg->coreData.Category.pnxFields[8]; if (pField->Set) printf("Contract Size: %s \n",pField->data.StringZ); pField=&pNxCoreMsg->coreData.Category.pnxFields[9]; if (pField->Set) printf("Quoted Unit: %s \n",pField->data.StringZ); pField=&pNxCoreMsg->coreData.Category.pnxFields[10]; if (pField->Set) printf("Tick Value: %s \n",pField->data.StringZ); }