Category Description
Price, time, size and exchange of opening trade reports.
Category Identification
| pNxCoreMessage->coreData.Category.pnxStringCategory->Atom | 22 |
| pNxCoreMessage->coreData.Category.pnxStringCategory->String | OpeningTradeReports |
Update Time and Frequency
| Approximate Time | Info |
|---|---|
| 00:00 AM | Information from previous session |
| Constant Updates | Constant updates throughout the day |
Category Fields | 8
| Index | FieldName | FieldType | C Code | Info |
|---|---|---|---|---|
| 0 | Price | NxCFT_PRICE | pnxFields[0].data.nxPrice | Opening trade price on first exchange |
| 1 | Size | NxCFT_32BIT | pnxFields[1].data.i32Bit | Opening trade size on first exchange |
| 2 | Time | NxCFT_TIME | pnxFields[2].data.nxTime | Opening trade time on first exchange |
| 3 | Exg | NxCFT_STRING_IDX | pnxFields[3].data.stringTableItem | First exchange, from table table_NxST_EXCHANGE.html |
| 4 | Price2 | NxCFT_PRICE | pnxFields[4].data.nxPrice | Opening trade price on second exchange |
| 5 | Size2 | NxCFT_32BIT | pnxFields[5].data.i32Bit | Opening trade size on second exchange |
| 6 | Time2 | NxCFT_TIME | pnxFields[6].data.nxTime | Opening trade time on second exchange |
| 7 | Exg2 | NxCFT_STRING_IDX | pnxFields[7].data.stringTableItem | Second exchange, from table table_NxST_EXCHANGE.html |
Code Sample from CategoryDumper project:
void onNxCoreCategory_22(const NxCoreMessage *pNxCoreMsg)
{
NxCategoryField *pField;
// Print the category num and the Symbol
PrintSymbol(pNxCoreMsg);
pField=&pNxCoreMsg->coreData.Category.pnxFields[0];
if (pField->Set)
printf("Price: %0.4f \n",
pfNxCorePriceToDouble(pField->data.nxPrice.Price,
pField->data.nxPrice.PriceType));
pField=&pNxCoreMsg->coreData.Category.pnxFields[1];
if (pField->Set)
printf("Size: %d \n",pField->data.i32Bit);
pField=&pNxCoreMsg->coreData.Category.pnxFields[2];
if (pField->Set)
printf("Time: %02d:%02d:%02d \n",
pField->data.nxTime.Hour,
pField->data.nxTime.Minute,
pField->data.nxTime.Second);
// See table_NxST_EXCHANGE.html for exchange codes
pField=&pNxCoreMsg->coreData.Category.pnxFields[3];
if (pField->Set)
printf("Exg: Table - %d Exchange - %d\n",
pField->data.stringTableItem.ixTable,
pField->data.stringTableItem.idString);
pField=&pNxCoreMsg->coreData.Category.pnxFields[4];
if (pField->Set)
printf("Price2: %0.4f \n",
pfNxCorePriceToDouble(pField->data.nxPrice.Price,
pField->data.nxPrice.PriceType));
pField=&pNxCoreMsg->coreData.Category.pnxFields[5];
if (pField->Set)
printf("Size2: %d \n",pField->data.i32Bit);
pField=&pNxCoreMsg->coreData.Category.pnxFields[6];
if (pField->Set)
printf("Time2: %02d:%02d:%02d \n",
pField->data.nxTime.Hour,
pField->data.nxTime.Minute,
pField->data.nxTime.Second);
// See table_NxST_EXCHANGE.html for exchange codes
pField=&pNxCoreMsg->coreData.Category.pnxFields[7];
if (pField->Set)
printf("Exg2: Table - %d Exchange - %d\n",
pField->data.stringTableItem.ixTable,
pField->data.stringTableItem.idString);
}