Category Description
CME Session Statistics
Category Identification
| pNxCoreMessage->coreData.Category.pnxStringCategory->Atom | 58 |
| pNxCoreMessage->coreData.Category.pnxStringCategory->String | CME_STATISTICS |
Update Time and Frequency
| Approximate Time | Info |
|---|---|
| 00:00 AM | information from previous session |
| Occasional Updates | Occasional updates throughout the day |
Category Fields | 9
| Index | FieldName | FieldType | C Code | Info |
|---|---|---|---|---|
| 0 | ClearedVolume | NxCFT_32BIT | pnxFields[0].data.i32Bit | |
| 1 | Open | NxCFT_PRICE | pnxFields[1].data.nxPrice | Open price |
| 2 | IOP | NxCFT_PRICE | pnxFields[2].data.nxPrice | Indicative Opening Price |
| 3 | OpenTime | NxCFT_TIME | pnxFields[3].data.nxTime | Open Time |
| 4 | HighTrade | NxCFT_PRICE | pnxFields[4].data.nxPrice | High price |
| 5 | LowTrade | NxCFT_PRICE | pnxFields[5].data.nxPrice | Low price |
| 6 | HighBid | NxCFT_PRICE | pnxFields[6].data.nxPrice | High Bid price |
| 7 | LowAsk | NxCFT_PRICE | pnxFields[7].data.nxPrice | Low Ask price |
| 8 | Volume | NxCFT_32BIT | pnxFields[8].data.i32Bit | Volume |
Code Sample from CategoryDumper project:
void onNxCoreCategory_58(const NxCoreMessage *pNxCoreMsg)
{
NxCategoryField *pField;
// Print the category num and the Symbol
PrintSymbol(pNxCoreMsg);
pField=&pNxCoreMsg->coreData.Category.pnxFields[0];
if (pField->Set)
printf("Cleared Volume: %d \n",pField->data.i32Bit);
pField=&pNxCoreMsg->coreData.Category.pnxFields[1];
if (pField->Set)
printf("Open: %0.4f \n",
pfNxCorePriceToDouble(pField->data.nxPrice.Price,
pField->data.nxPrice.PriceType));
pField=&pNxCoreMsg->coreData.Category.pnxFields[2];
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[3];
if (pField->Set)
printf("Indicative Open: %0.4f \n",
pfNxCorePriceToDouble(pField->data.nxPrice.Price,
pField->data.nxPrice.PriceType));
pField=&pNxCoreMsg->coreData.Category.pnxFields[4];
if (pField->Set)
printf("High: %0.4f \n",
pfNxCorePriceToDouble(pField->data.nxPrice.Price,
pField->data.nxPrice.PriceType));
pField=&pNxCoreMsg->coreData.Category.pnxFields[5];
if (pField->Set)
printf("Low: %0.4f \n",
pfNxCorePriceToDouble(pField->data.nxPrice.Price,
pField->data.nxPrice.PriceType));
pField=&pNxCoreMsg->coreData.Category.pnxFields[6];
if (pField->Set)
printf("High Bid: %0.4f \n",
pfNxCorePriceToDouble(pField->data.nxPrice.Price,
pField->data.nxPrice.PriceType));
pField=&pNxCoreMsg->coreData.Category.pnxFields[7];
if (pField->Set)
printf("Low Ask: %0.4f \n",
pfNxCorePriceToDouble(pField->data.nxPrice.Price,
pField->data.nxPrice.PriceType));
pField=&pNxCoreMsg->coreData.Category.pnxFields[8];
if (pField->Set)
printf(" Electronic Volume: %u \n",pField->data.i32Bit);
}