Table of Contents


This code is available for download


#pragma once

// sample NxCoreTableHelper.h file


struct nxST_PERMID //(2) - Permission IDs
{
    enum
    {
         NxNALL   = 0,
         OPRAQTE  = 1,
         OPRABBO  = 2,
         CMEQTE   = 3,
         CBOTQTE  = 4,
         CBOTQDP  = 5,
         NASDQTE  = 6,
         NASDIMQ  = 7,
         NASDLV2  = 8,
         NASDTRD  = 9,
         OPRATRD  = 10,
         CMETRD   = 11,
         CBOTTRD  = 12,
         NYSEQTE  = 13,
         AMEXQTE  = 14,
         NYSEIMQ  = 15,
         AMEXIMQ  = 16,
         NYSETRD  = 17,
         AMEXTRD  = 18,
         DOWALL   = 19,
         ONECQTE  = 20,
         ONECTRD  = 21,
         TSEQTE   = 22,
         CVEQTE   = 23,
         TSETRD   = 24,
         CVETRD   = 25,
         NYMEXALL = 26,
         NYBTALL  = 27,
         COMEXALL = 28,
         DTNALL   = 29,
         AMEXIDX  = 30,
         NYSEIDX  = 31,
         NASDIDX  = 32,
         NQMFALL  = 33,
         NADFIMQ  = 34,
         KCBTALL  = 35,
         MGEALL   = 36,
         WCEALL   = 37,
         MSEALL   = 38,
         NBTAALL  = 39,
         SGXALL   = 40,
         FTSEALL  = 41,
         CBIXIDX  = 42,
         RSVDALL  = 43,
         LIFEALL  = 44,
         LMEALL   = 45,
         IPEALL   = 46,
         WTBALL   = 47,
         TULLALL  = 48,
         BARKALL  = 49,
         HOTSALL  = 50,
         EUUSALL  = 51,
         EUEUALL  = 52,
         ENCMALL  = 53,
         ENIDALL  = 54,
         ENIRALL  = 55,
         PBOTIDX  = 56,
         CFEALL   = 57,
         KCBTQDP  = 58,
         MGEQDP   = 59,
         WCEQDP   = 60
    };
};


struct nxST_EXCHANGE //(3) - Exchange Codes
{
    enum
    {
         NQEX = 1,
         NQAD = 2,
         NYSE = 3,
         AMEX = 4,
         CBOE = 5,
         ISEX = 6,
         PACF = 7,
         CINC = 8,
         PHIL = 9,
         OPRA = 10,
         BOST = 11,
         NQNM = 12,
         NQSC = 13,
         NQBB = 14,
         NQPK = 15,
         NQAG = 16,
         CHIC = 17,
         TSE  = 18,
         CDNX = 19,
         CME  = 20,
         NYBT = 21,
         NYBA = 22,
         COMX = 23,
         CBOT = 24,
         NYMX = 25,
         KCBT = 26,
         MGEX = 27,
         WCE  = 28,
         ONEC = 29,
         DOWJ = 30,
         NNEX = 31,
         SIMX = 32,
         FTSE = 33,
         EURX = 34,
         ENXT = 35,
         DTN  = 36,
         LMT  = 37,
         LME  = 38,
         IPEX = 39,
         MX   = 40,
         WSE  = 41,
         C2   = 42,
         MDAM = 43,
         CLRP = 44,
         BARK = 45,
         TEN4 = 46,
         NQBX = 47,
         HOTS = 48,
         EUUS = 49,
         EUEU = 50,
         ENCM = 51,
         ENID = 52,
         ENIR = 53,
         CFE  = 54,
         PBOT = 55,
         HWTB = 56,
         NQNX = 57,
         BTRF = 58,
         NTRF = 59,
         BATS = 60,
         NYLF = 61,
         PINK = 62,
         BATY = 63,
         EDGE = 64,
         EDGX = 65,
         RUSL = 66,
         CMEX = 67,
         IEX = 68,
         PERL= 69,
         LSE = 70
    };
};


struct nxST_TRADECONDITION //(4) - Trade Conditions
{
    enum
    {
         Regular             = 0,
         FormT               = 1,
         OutOfSeq            = 2,
         AvgPrc              = 3,
         AvgPrc_Nasdaq       = 4,
         OpenReportLate      = 5,
         OpenReportOutOfSeq  = 6,
         OpenReportInSeq     = 7,
         PriorReferencePrice = 8,
         NextDaySale         = 9,
         Bunched             = 10,
         CashSale            = 11,
         Seller              = 12,
         SoldLast            = 13,
         Rule127             = 14,
         BunchedSold         = 15,
         NonBoardLot         = 16,
         POSIT               = 17,
         AutoExecution       = 18,
         Halt                = 19,
         Delayed             = 20,
         Reopen              = 21,
         Acquisition         = 22,
         CashMarket          = 23,
         NextDayMarket       = 24,
         BurstBasket         = 25,
         OpenDetail          = 26,
         IntraDetail         = 27,
         BasketOnClose       = 28,
         Rule155             = 29,
         Distribution        = 30,
         Split               = 31,
         Reserved            = 32,
         CustomBasketCross   = 33,
         AdjTerms            = 34,
         Spread              = 35,
         Straddle            = 36,
         BuyWrite            = 37,
         Combo               = 38,
         STPD                = 39,
         CANC                = 40,
         CANCLAST            = 41,
         CANCOPEN            = 42,
         CANCONLY            = 43,
         CANCSTPD            = 44,
         MatchCross          = 45,
         FastMarket          = 46,
         Nominal             = 47,
         Cabinet             = 48,
         BlankPrice          = 49,
         NotSpecified        = 50,
         MCOfficialClose     = 51,
         SpecialTerms        = 52,
         ContingentOrder     = 53,
         InternalCross       = 54,
         StoppedRegular      = 55,
         StoppedSoldLast     = 56,
         StoppedOutOfSeq     = 57,
         Basis               = 58,
         VWAP                = 59,
         SpecialSession      = 60,
         NanexAdmin          = 61,
         OpenReport          = 62,
         MarketOnClose       = 63,
         NotDefined          = 64,
         OutOfSeqPreMkt      = 65,
         MCOfficialOpen      = 66,
         FuturesSpread       = 67,
         OpenRange           = 68,
         CloseRange          = 69,
         NominalCabinet      = 70,
         ChangingTrans       = 71,
         ChangingTransCab    = 72,
         NominalUpdate       = 73,
         PitSettlement       = 74,
         BlockTrade          = 75,
         ExgForPhysical      = 76,
         VolumeAdjustment    = 77,
         VolatilityTrade     = 78,
         YellowFlag          = 79,
         FloorPrice          = 80,
         OfficialPrice       = 81,
         UnofficialPrice     = 82,
         MidBidAskPrice      = 83,
         EndSessionHigh      = 84,
         EndSessionLow       = 85,
         Backwardation       = 86,
         Contango            = 87,
         Holiday             = 88,
         PreOpening          = 89,
         PostFull            = 90,
         PostRestricted      = 91,
         ClosingAuction      = 92,
         Batch               = 93,
         Trading             = 94,
         IntermarketSweep    = 95,
         Derivative          = 96,
         Reopening           = 97,
         Closing             = 98,
         CAPElection         = 99,
         SpotSettlement      = 100,
         BasisHigh           = 101,
         BasisLow            = 102,
         Yield               = 103,
         PriceVariation      = 104,
         StockOption         = 105,
         StoppedIM           = 106,
         Benchmark           = 107,
         TradeThruExempt     = 108,
         Implied             = 109,
         OTC                 = 110
    };
};


struct nxST_QUOTECONDITION //(5) - Quote Conditions
{
    enum
    {
         Regular            = 0,
         BidAskAutoExec     = 1,
         Rotation           = 2,
         SpecialistAsk      = 3,
         SpecialistBid      = 4,
         Locked             = 5,
         FastMarket         = 6,
         SpecialistBidAsk   = 7,
         OneSide            = 8,
         OpeningQuote       = 9,
         ClosingQuote       = 10,
         MarketMakerClosed  = 11,
         DepthOnAsk         = 12,
         DepthOnBid         = 13,
         DepthOnBidAsk      = 14,
         Tier3              = 15,
         Crossed            = 16,
         Halted             = 17,
         OperationalHalt    = 18,
         News               = 19,
         NewsPending        = 20,
         NonFirm            = 21,
         DueToRelated       = 22,
         Resume             = 23,
         NoMarketMakers     = 24,
         OrderImbalance     = 25,
         OrderInflux        = 26,
         Indicated          = 27,
         PreOpen            = 28,
         InViewOfCommon     = 29,
         RelatedNewsPending = 30,
         RelatedNewsOut     = 31,
         AdditionalInfo     = 32,
         RelatedAddlInfo    = 33,
         NoOpenResume       = 34,
         Deleted            = 35,
         RegulatoryHalt     = 36,
         SECSuspension      = 37,
         NonComliance       = 38,
         FilingsNotCurrent  = 39,
         CATSHalted         = 40,
         CATS               = 41,
         ExDivOrSplit       = 42,
         Unassigned         = 43,
         InsideOpen         = 44,
         InsideClosed       = 45,
         OfferWanted        = 46,
         BidWanted          = 47,
         Cash               = 48,
         Inactive           = 49,
         NationalBBO        = 50,
         Nominal            = 51,
         Cabinet            = 52,
         NominalCabinet     = 53,
         BlankPrice         = 54,
         SlowBidAsk         = 55,
         SlowList           = 56,
         SlowBid            = 57,
         SlowAsk            = 58,
         BidOfferWatned     = 59,
         Subpenny           = 60,
         NonBBO             = 61
    };
};


struct nxST_CATEGORY //(6) - NxCore Categories
{
    enum
    {
         NanexCategories_1          = 0,
         OptionContract             = 1,
         OptionSeries               = 2,
         SymbolClassification       = 3,
         EquitySymbolInfo           = 4,
         FuturesSymbolInfo          = 5,
         BondSymbolInfo             = 6,
         IndexSymbolInfo            = 7,
         FundSymbolInfo             = 8,
         EquityFundamental          = 9,
         DTNEquityFundamental       = 10,
         MutualFundFundamental      = 11,
         MoneyMarketFundamental     = 12,
         FiftyTwoWeekHiLo           = 13,
         YTDHiLo                    = 14,
         ContractHiLo               = 15,
         OHLC                       = 16,
         NxRefreshOverride          = 17,
         NxUncorrectedOHLCV         = 18,
         TradeReportSummary         = 20,
         FormTReportSummary         = 21,
         OpeningTradeReports        = 22,
         MCClosingTradeReports      = 23,
         TradeCorrection            = 24,
         BarCorrection              = 25,
         NxFirstTrade               = 26,
         NxLastTrade                = 27,
         NxFirstQuote               = 28,
         NxLastQuote                = 29,
         SymbolHistory              = 30,
         SymbolAlias                = 31,
         ActivityRank               = 33,
         FinancialStatus            = 34,
         NxNMsg                     = 39,
         OptionMultipleStrikeCodes  = 40,
         OptionMultipleStrikePrices = 41,
         TradingSessionHours        = 42,
         CTA_ClosingReport          = 50,
         OTCBB_ClosingReport        = 51,
         OTC_ClosingReport          = 52,
         Nasdaq_ClosingReport       = 54,
         Nasdaq_InsideClosingReport = 55,
         CCDF_ClosingReport         = 56,
         Split                      = 60,
         ExDividend                 = 61,
         DividendYield              = 62,
         Halt                       = 63,
         PriceIndication            = 64,
         OrderImbalance             = 65,
         ShortSaleRestricted        = 66,
         OpenInterest               = 67,
         VolOI                      = 68,
         MMakerStatus               = 69,
         RootSymbolInfo             = 70,
         FundPricing                = 71,
         FuturesContract            = 80,
         OpenRange                  = 81,
         CloseRange                 = 82,
         OtherRange                 = 83,
         Settlement                 = 84,
         FutureOptContract          = 86
    };
};


struct nxST_HALTSTATUS //(7) - Halt Codes
{
    enum
    {
         Resume         = 0,
         OpenDelay      = 1,
         Halted         = 2,
         NoOpenNoResume = 3
    };
};


struct nxST_HALTREASONTYPE //(8) - Halt Reasons
{
    enum
    {
         News                  = 1,
         NewsDisseminated      = 2,
         OrderImbalance        = 3,
         EquipmentChange       = 4,
         PendingAdditionalInfo = 5,
         Suspended             = 6,
         SEC                   = 7,
         NotSpecified          = 8
    };
};


struct nxST_OPENINDICATIONTYPE //(9) - Open Indications
{
    enum
    {
         Clear      = 0,
         Normal     = 1,
         New        = 2,
         Correcting = 3,
         Cancel     = 4,
         Range      = 5
    };
};


struct nxST_ORDERIMBALANCETYPE //(10) - Order Imbalance
{
    enum
    {
         Clear           = 0,
         BuySide         = 1,
         SellSide        = 2,
         ClearClosing    = 3,
         BuySideClosing  = 4,
         SellSideClosing = 5,
         FastMarket      = 6
    };
};


struct nxST_TRADEREPORTREASON //(11) - Trade Report Reasons
{
    enum
    {
         InitialRefresh = 0,
         PostInsert     = 1,
         PostCancel     = 2,
         PostCorrection = 3,
         SyncRefresh    = 4,
         Final          = 5,
         CorrectedFinal = 6
    };
};


struct nxST_EXGCORRECTIONMAP //(12) - Exchange Correction Flags
{
    enum
    {
         Correction = 0x00000001,
         Cancel     = 0x00000002,
         Busted     = 0x00000004,
         EntryError = 0x00000008,
         CancelBid  = 0x00000010,
         CancelAsk  = 0x00000020
    };
};


struct nxST_SYMBOLCHANGETYPE //(13) - Symbol Change Types
{
    enum
    {
         Add    = 0,
         Delete = 1,
         Modify = 2
    };
};


struct nxST_OHLCFLAGS //(14) - OHLC Flags
{
    enum
    {
         CloseIsSettle  = 0x00000001,
         CloseInClsRng  = 0x00000002,
         CloseSetByBid  = 0x00000004,
         CloseSetByAsk  = 0x00000008,
         HighBeforeLow  = 0x00000010,
         HighInserted   = 0x00000020,
         LowInserted    = 0x00000040,
         OpenInserted   = 0x00000080,
         HighSetByBid   = 0x00000100,
         LowSetByAsk    = 0x00000200,
         HighEqLow      = 0x00000400,
         LowAboveHigh   = 0x00000800,
         VolEstimated   = 0x00001000,
         OpenInOpnRng   = 0x00002000,
         OpenSetByBid   = 0x00004000,
         OpenSetByAsk   = 0x00008000,
         OpenEqLast     = 0x00010000,
         OpenEqHigh     = 0x00020000,
         OpenEqLow      = 0x00040000,
         OpenOutsideHL  = 0x00080000,
         Corrections    = 0x00100000,
         CloseEqHigh    = 0x00200000,
         CloseEqLow     = 0x00400000,
         CloseOutsideHL = 0x00800000,
         PrClIsSettle   = 0x01000000,
         PrClInClsRng   = 0x02000000,
         PrClSetByBid   = 0x04000000,
         PrClSetByAsk   = 0x08000000,
         VolumeX100     = 0x10000000
    };
};


struct nxST_EXDIVIDENDATTRIB //(15) - Ex Dividend Attribute Flags
{
    enum
    {
         Canadian              = 0x00000001,
         Special               = 0x00000002,
         Extra                 = 0x00000004,
         ExtraOrdinary         = 0x00000008,
         Increase              = 0x00000010,
         Initial               = 0x00000020,
         SaleOfRights          = 0x00000040,
         Approximate           = 0x00000080,
         OrdinaryIncome        = 0x00000100,
         ExRights              = 0x00000200,
         PercentDistribution   = 0x00000400,
         ToBeAnnounced         = 0x00000800,
         Final                 = 0x00001000,
         Decrease              = 0x00002000,
         PaymentInStock        = 0x00004000,
         SemiAnnual            = 0x00008000,
         Annual                = 0x00010000,
         PaymentInKind         = 0x00020000,
         ShortTermCapitalGains = 0x00040000,
         CapitalGains          = 0x00080000,
         Equivalence           = 0x00100000,
         GrossAmount           = 0x00200000,
         LiquidityDistribution = 0x00400000,
         PaymentInCashOrStock  = 0x00800000,
         CorrectedAmount       = 0x01000000,
         Monthly               = 0x02000000,
         Multiple              = 0x04000000,
         Estimating            = 0x08000000,
         ReturnOfCapital       = 0x10000000
    };
};


struct nxST_OPRAEXCHANGELIST //(16) - OPRA Exchange Flags
{
    enum
    {
         NQEX  = 0x00000001,
         CBOE  = 0x00000002,
         ISEX  = 0x00000004,
         AMEX  = 0x00000008,
         PACF  = 0x00000010,
         PHIL  = 0x00000020,
         BOST  = 0x00000040,
         NQEX2 = 0x00000080,
         OEx8  = 0x00000100,
         OEx9  = 0x00000200,
         OExA  = 0x00000400,
         OExB  = 0x00000800,
         OExC  = 0x00001000,
         OExD  = 0x00002000,
         OExE  = 0x00004000,
         OExF  = 0x00008000
    };
};


struct nxST_NASDBIDTICK //(17) - Nasdaq Bid Tick
{
    enum
    {
         Up           = 1,
         Down         = 2,
         NotAvailable = 3
    };
};


struct nxST_MARKETMAKERTYPE //(18) - Market Maker Types
{
    enum
    {
         Regular = 1,
         Primary = 2,
         Passive = 3
    };
};


struct nxST_MMQUOTETYPE //(19) - Market Maker Quote Types
{
    enum
    {
         Regular         = 1,
         Passive         = 2,
         SyndicateBid    = 3,
         PreSyndicateBid = 4,
         PenaltyBid      = 5,
         DeletePosition  = 6
    };
};


struct nxST_REFRESHTYPE //(20) - Refresh Quote Types
{
    enum
    {
         NotRefresh    = 0,
         ExgSourced    = 1,
         Mismatch      = 2,
         Synchronizing = 3
    };
};


struct nxST_EXPIRATIONCYCLE //(21) - Option Expiration Cycles
{
    enum
    {
         Jan = 1,
         Feb = 2,
         Mar = 3,
         Wk1 = 4,
         Wk2 = 5,
         Wk3 = 6,
         Wk4 = 7,
         Wk5 = 8,
         Qtr = 9
    };
};


struct nxST_VOLUMETYPE //(22) - Volume Update Types
{
    enum
    {
         Incremental     = 0,
         NonIncremental  = 1,
         TotalVolume     = 2,
         TotalVolumeX100 = 3
    };
};


struct nxST_QTEMATCHTYPE //(23) - Quote Match Types
{
    enum
    {
         NoMatch  = 0,
         AtBid    = 1,
         AtAsk    = 2,
         Inside   = 3,
         BelowBid = 4,
         AboveAsk = 5
    };
};


struct nxST_QTEMATCHFLAGS //(24) - Quote Match Flags
{
    enum
    {
         OlderMatch = 0x00000001,
         Crossed    = 0x00000002
    };
};


struct nxST_SIGHIGHLOWTYPE //(25) - Significant High Low Types
{
    enum
    {
         Even    = 0,
         NewLow  = 1,
         Low     = 2,
         High    = 3,
         NewHigh = 4
    };
};


struct nxST_BBOCHANGEFLAGS //(26) - BBO Change Flags
{
    enum
    {
         BidExg   = 0x00000001,
         BidPrice = 0x00000002,
         BidSize  = 0x00000004,
         AskExg   = 0x00000010,
         AskPrice = 0x00000020,
         AskSize  = 0x00000040
    };
};


struct nxST_TRADECONDFLAGS //(27) - Trade Condition Flags
{
    enum
    {
         NoLast = 0x00000001,
         NoHigh = 0x00000002,
         NoLow  = 0x00000004
    };
};


struct nxST_PRICEFLAGS //(28) - Trade Price Flags
{
    enum
    {
         SetLast      = 0x00000001,
         SetHigh      = 0x00000002,
         SetLow       = 0x00000004,
         SetOpen      = 0x00000008,
         InsertRecord = 0x00000010,
         CancelRecord = 0x00000020,
         Settlement   = 0x00000040
    };
};


struct nxST_SETTLEFLAGMAP //(29) - Settlement Flags
{
    enum
    {
         OneSession  = 0x00000001,
         AllSessions = 0x00000002,
         Corrected   = 0x00000004,
         SettleOnly  = 0x00000008
    };
};


struct nxST_SYMBOLFNCLSTATUSMAP //(30) - Financial Status Flags
{
    enum
    {
         RestoredGood = 0x00000001,
         Bankrupt     = 0x00000002,
         Deficient    = 0x00000004,
         Delinquent   = 0x00000008,
         Suspended    = 0x00000010
    };
};


struct nxST_EQUITYCLASSIFICATIONS //(31) - Equity Classification Flags
{
    enum
    {
         ETF            = 0x00000001,
         NQGlobalSelect = 0x00000002,
         HasOptions     = 0x00000010,
         HasSSFutures   = 0x00000020,
         Dividend       = 0x00000100,
         Split          = 0x00000200,
         SymHist        = 0x00000400,
         NewSymbol      = 0x00000800,
         ClosedEndFund  = 0x00001000,
         ADR            = 0x00002000
    };
};


struct nxST_SYMBOLTYPES //(32) - Symbol Types
{
    enum
    {
         Bond                 = 1,
         Currency             = 2,
         Equity               = 4,
         Futures              = 5,
         Index                = 8,
         MutualFund           = 12,
         Option               = 14,
         FuturesOption        = 15,
         FuturesRoot          = 17,
         SingleStockFutures   = 18,
         Spread               = 25
    };
};