Category Description
Up to last 4 stock splits, each split contains split date, old share count, new share count, and source of split information.
Category Identification
| pNxCoreMessage->coreData.Category.pnxStringCategory->Atom | 60 |
| pNxCoreMessage->coreData.Category.pnxStringCategory->String | Split |
Update Time and Frequency
| Approximate Time | Info |
|---|---|
| 00:00 AM | Information from previous session |
| 05:15 AM | Current session information |
Category Fields | 16
| Index | FieldName | FieldType | C Code | Info |
|---|---|---|---|---|
| 0 | SplitDate | NxCFT_DATE | pnxFields[0].data.nxDate | Effective date of the split |
| 1 | OldShares | NxCFT_32BIT | pnxFields[1].data.i32Bit | Before split # of shares |
| 2 | NewShares | NxCFT_32BIT | pnxFields[2].data.i32Bit | After split becomes # of shares |
| 3 | SourceFlags | NxCFT_32BIT | pnxFields[3].data.i32Bit | Origin of the category message: Nanex if 1, and DTN if 0, blank or any other value |
| 4 | SplitDate | NxCFT_DATE | pnxFields[4].data.nxDate | (Next oldest 1) Effective date of the split |
| 5 | OldShares | NxCFT_32BIT | pnxFields[5].data.i32Bit | (Next oldest 1) Before split # of shares |
| 6 | NewShares | NxCFT_32BIT | pnxFields[6].data.i32Bit | (Next oldest 1) After split becomes # of shares |
| 7 | SourceFlags | NxCFT_32BIT | pnxFields[7].data.i32Bit | (Next oldest 1) Origin of the category message: Nanex if 1, and DTN if 0, blank or any other value |
| 8 | SplitDate | NxCFT_DATE | pnxFields[8].data.nxDate | (Next oldest 2) Effective date of the split |
| 9 | OldShares | NxCFT_32BIT | pnxFields[9].data.i32Bit | (Next oldest 2) Before split # of shares |
| 10 | NewShares | NxCFT_32BIT | pnxFields[10].data.i32Bit | (Next oldest 2) After split becomes # of shares |
| 11 | SourceFlags | NxCFT_32BIT | pnxFields[11].data.i32Bit | (Next oldest 2) Origin of the category message: Nanex if 1, and DTN if 0, blank or any other value |
| 12 | SplitDate | NxCFT_DATE | pnxFields[12].data.nxDate | (Next oldest 3) Effective date of the split |
| 13 | OldShares | NxCFT_32BIT | pnxFields[13].data.i32Bit | (Next oldest 3) Before split # of shares |
| 14 | NewShares | NxCFT_32BIT | pnxFields[14].data.i32Bit | (Next oldest 3) After split becomes # of shares |
| 15 | SourceFlags | NxCFT_32BIT | pnxFields[15].data.i32Bit | (Next oldest 3) Origin of the category message: Nanex if 1, and DTN if 0, blank or any other value |
Code Sample from CategoryDumper project:
void onNxCoreCategory_60(const NxCoreMessage *pNxCoreMsg)
{
NxCategoryField *pField;
// Print the category num and the Symbol
PrintSymbol(pNxCoreMsg);
// Category 60 may contain up to 4 unique data points.
// Each individual data point may contain 4 unique data elements.
for (int i=0;i<=12;i+=4)
{
pField=&pNxCoreMsg->coreData.Category.pnxFields[i];
if (pField->Set)
printf("Split Date: %02d/%02d/%d \n",
pField->data.nxDate.Month,
pField->data.nxDate.Day,
pField->data.nxDate.Year);
pField=&pNxCoreMsg->coreData.Category.pnxFields[i+1];
if (pField->Set)
printf("Old Shares: %d \n",pField->data.i32Bit);
pField=&pNxCoreMsg->coreData.Category.pnxFields[i+2];
if (pField->Set)
printf("New Shares: %d \n",pField->data.i32Bit);
pField=&pNxCoreMsg->coreData.Category.pnxFields[i+3];
if (pField->Set)
printf("Source Flags: %d \n",pField->data.i32Bit);
}
}