Category Description
Prev Close (adj for ex-div), open, high, low, last, volume, last trade time and exchange traded on.
Category Identification
pNxCoreMessage->coreData.Category.pnxStringCategory->Atom | 16 |
pNxCoreMessage->coreData.Category.pnxStringCategory->String | OHLC |
Update Time and Frequency
Approximate Time | Info |
---|---|
00:00 AM | Information from previous session |
Constant Updates | Constant updates throughout the day |
Category Fields | 9
Index | FieldName | FieldType | C Code | Info |
---|---|---|---|---|
0 | PrevClose | NxCFT_PRICE | pnxFields[0].data.nxPrice | Last session close, adjusted for ex-dividend or splits |
1 | Open | NxCFT_PRICE | pnxFields[1].data.nxPrice | Opening price of session (uses session date) |
2 | High | NxCFT_PRICE | pnxFields[2].data.nxPrice | Highest traded price of session |
3 | Low | NxCFT_PRICE | pnxFields[3].data.nxPrice | Lowest traded price of session |
4 | Close | NxCFT_PRICE | pnxFields[4].data.nxPrice | Closing price of session |
5 | Volume | NxCFT_32BIT | pnxFields[5].data.i32Bit | Volume of shares or contract for session |
6 | LastTradeTime | NxCFT_TIME | pnxFields[6].data.nxTime | Time the last trade occurred (Exchange timestamp) |
7 | LastTradeExg | NxCFT_STRING_IDX | pnxFields[7].data.stringTableItem | Exchange that last traded for session (zero if only traded on one exchange), from table table_NxST_EXCHANGE.html |
8 | OHLCFlags | NxCFT_STRING_MAP | pnxFields[8].data.stringTableItem | Flags indicating last is settlement,vol is estimate,verification level, etc, from table table_NxST_OHLCFLAGS.html |
Code Sample from CategoryDumper project:
void onNxCoreCategory_16(const NxCoreMessage *pNxCoreMsg) { NxCategoryField *pField; // Print the category num and the Symbol PrintSymbol(pNxCoreMsg); pField=&pNxCoreMsg->coreData.Category.pnxFields[0]; if (pField->Set) printf("Prev Close: %0.4f \n", pfNxCorePriceToDouble(pField->data.nxPrice.Price, pField->data.nxPrice.PriceType)); 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("High: %0.4f \n", pfNxCorePriceToDouble(pField->data.nxPrice.Price, pField->data.nxPrice.PriceType)); pField=&pNxCoreMsg->coreData.Category.pnxFields[3]; if (pField->Set) printf("Low: %0.4f \n", pfNxCorePriceToDouble(pField->data.nxPrice.Price, pField->data.nxPrice.PriceType)); pField=&pNxCoreMsg->coreData.Category.pnxFields[4]; if (pField->Set) printf("Close: %0.4f \n", pfNxCorePriceToDouble(pField->data.nxPrice.Price, pField->data.nxPrice.PriceType)); pField=&pNxCoreMsg->coreData.Category.pnxFields[5]; if (pField->Set) printf("Volume: %d \n",pField->data.i32Bit); pField=&pNxCoreMsg->coreData.Category.pnxFields[6]; if (pField->Set) printf("Last Trade 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[7]; if (pField->Set) printf("Last Trade Exg: Table - %d Exchange - %d \n", pField->data.stringTableItem.ixTable, pField->data.stringTableItem.idString); // See table_NxST_OHLCFLAGS.html for OHLC flag values pField=&pNxCoreMsg->coreData.Category.pnxFields[8]; if (pField->Set) printf("OHLC Flags: Table - %d Flags - %d \n", pField->data.stringTableItem.ixTable, pField->data.stringTableItem.idString); }