API Documentation


How do I ensure that I always use the correct DLLs and header files

You can use the header files from \Program Files\Nanex\NxCoreAPI, but you MUST copy the NxCoreAPI.dll to another location and always run it from there. This is for two reasons:

  1. to prevent the update from failing because the DLL is in use by your program
  2. to ensure that you have time to test the new DLL with your program.

Got a message about a "install failed" for new nxcoreapi version

You are running the NxCoreAPI.dll from \Program Files\Nanex\NxCoreAPI, and thus it cannot be changed. Read the above FAQ question as to how to change it. It is not imperative that you use the new one immediately -- you could wait until close, and the install will retry.

What hosts/ports does NxCore use?

Please contact nanex support (support@nanex.net) for host and port information.

How do I slow down the processing and/or simulate real-time speed like it is done in NxCoreAPI Viewer?

A very simple and close approximation during active trading is to sleep 25 milliseconds on every NxCore Clock change. During inactive periods of time, processing will be faster than real-time, but in many cases this is a desired feature. The following code illustrates how to accomplish this:

int __stdcall nxCoreAPICallback(const NxCoreSystem* pNxCoreSys, const NxCoreMessage* pNxCoreMsg)
    switch( pNxCoreMsg->MessageType ) {
        case NxMSG_STATUS:
            if( pNxCoreSys->ClockUpdateInterval )

NxCoreAccess stopped seeing my network drives as archive drives?

If NxCoreAccess is started at boot time or by the NxCoreAccessService, it has a different permission level --- which doesn't have access to network drives.
Just start NxCoreAccess again (while it's running) and it will replace the current running one and (since started by you) will now have elevated privileges.


Q. If I'm looking at a symbol in a tape, occassionally I see 2 NxLastQuote category messages, one with a reasonable price and one with an unreasonable price .. why do I see both?

A. When looking at categories, always check the Session Date which the category applies to: pNxCoreMessage->coreHeader.nxSessionDate. For some categories in some contexts, we may send out more than one of the same category for the same symbol. Those are always sent with most recent SessionDate first.