Category Description
Open/Resume price indications for stocks halted or delayed at open containing high/low price range.
Category Identification
| pNxCoreMessage->coreData.Category.pnxStringCategory->Atom | 64 |
| pNxCoreMessage->coreData.Category.pnxStringCategory->String | PriceIndication |
Update Time and Frequency
| Approximate Time | Info |
|---|---|
| Occasional Updates | Occasional updates throughout the day |
Category Fields | 4
| Index | FieldName | FieldType | C Code | Info |
|---|---|---|---|---|
| 0 | Type | NxCFT_STRING_IDX | pnxFields[0].data.stringTableItem | Flags such as Normal, Range, etc, from table table_NxST_OPENINDICATIONTYPE.html |
| 1 | High | NxCFT_PRICE | pnxFields[1].data.nxPrice | The high of the range of indicated prices |
| 2 | Low | NxCFT_PRICE | pnxFields[2].data.nxPrice | The low of the range of indicated prices |
| 3 | LastTrade | NxCFT_PRICE | pnxFields[3].data.nxPrice | Last trade, if known |
Code Sample from CategoryDumper project:
void onNxCoreCategory_64(const NxCoreMessage *pNxCoreMsg)
{
NxCategoryField *pField;
// Print the category num and the Symbol
PrintSymbol(pNxCoreMsg);
pField=&pNxCoreMsg->coreData.Category.pnxFields[0];
if (pField->Set)
{
printf("Type: Table - %d Reason - ",
pField->data.stringTableItem.ixTable);
// See table_NxST_OPENINDICATIONTYPE.html
switch(pField->data.stringTableItem.idString)
{
case 0:printf("Clear \n");break;
case 1:printf("Normal \n");break;
case 2:printf("New \n");break;
case 3:printf("Correcting \n");break;
case 4:printf("Cancel \n");break;
case 5:printf("Range \n");break;
}
}
pField=&pNxCoreMsg->coreData.Category.pnxFields[1];
if (pField->Set)
printf("High: %0.4f \n",
pfNxCorePriceToDouble(pField->data.nxPrice.Price,
p Field->data.nxPrice.PriceType));
pField=&pNxCoreMsg->coreData.Category.pnxFields[2];
if (pField->Set)
printf("Low: %0.4f \n",
pfNxCorePriceToDouble(pField->data.nxPrice.Price,
pField->data.nxPrice.PriceType));
pField=&pNxCoreMsg->coreData.Category.pnxFields[3];
if (pField->Set)
printf("Last Trade: %0.4f \n",
pfNxCorePriceToDouble(pField->data.nxPrice.Price,
pField->data.nxPrice.PriceType));
}