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);
}