Contact Us   Site Map
myTrack SDK FX - Tools Services Partners
Visual Basic
General Info

  1. Pricing
  2. Compatibility
  3. myTrack™ accounts
  4. Support
  5. SDK examples/demos
  6. Data
  7. Features, Functions and Programming
  8. Trading Questions
  9. Error messages

Q: Where can I find information regarding charges associated with the SDK?
A: SDK pricing information can be found on the Pricing Information page.
Back to top

Q: Is the current version of the VB OCX is compatible with VB 6?
A: Yes.
Back to top

Q: Is the current version of the C/C++ SDK is compatible with Windows 98?
A: Yes.
Back to top

myTrack™ accounts
Q: Can I run the SDK as an individual user with the $5/mo basic myTrack™ service?
A: yes
Back to top

Q: Will the SDK provide all the data available in the myTrack™ program?
A: Yes.
Back to top

Q: I wrote an application that uses the myTrack™ SDK, but when I gave it to a user, he couldn't log in using his existing MyTrack™ Platinum account (he got a message that the SDK feature wasn't enabled on his account). What do my users have to do to be able to use the software?
A: You must run the "My Track" program, click on the "Chat" button. From the Chat window menu select "Entitlements/Features" and click on "SDK" to enable the SDK for your myTrack™ account.
Back to top

Q: Who provides technical support for the SDK?
A: Support for the SDK is provided by PACT Consulting. SDK related questions and bug reports can be sent to
Back to top

SDK examples / demos
Q: Does the SDK come with sample code and/or demo programs?
A: The SDK comes packaged with demo programs demonstrating all features of the SDK.
Back to top


Q: The data feed on FastTrack™ is very fast. Can I expect the same quality of data in the SDK as in the FastTrack™ program?
A: The quality of the data is equal to that of the FastTrack program. Since FastTrack data comes via a direct connection while the myTrack™ SDK comes via internet, the speed will depend on your internet connection.
Back to top

Q: What is the max number of symbols I can monitor via the SDK?
A: This is dependant on your myTrack™ Service Plan. For more information on available plans see
Back to top

Features, Functions and Programming
For more information on setting up the SDK see the Getting Started page.

Q: I would like to start up my development using the SDK without opening a trading account. Is this possible?
A: It is not necessary to open a trading account to use the SDK.
Back to top

Q: What are the minimum requirements to get real-time data via the SDK?
A: To get real-time data you must do the following:

From the myTrack program, go to Chat / Entitlements and:
  1. Sign up for the myTrack™ Silver Plan ($19.98 monthly) (Entitlements / Plans)
  2. Enable the SDK (Entitlements / Features)
  3. Select the exchanges for which you want to receive real-time data (Entitlements / Exchanges)
Back to top

Q: When I logoff, my application gets an “MT_ERR_DISCONNECT” message, but I do not receive the "MSG_LOGOFF_RESPONSE". Why do I miss this message?
A: The server sends a disconnection message followed directly by a logoff message. If you call deInit upon receiving the disconnect message, you will clear the logoff message from the queue. Call deInit after receiving the logoff message.
Back to top

Q: How does the Nasdaq Level II function work in the SDK?
A: You request 'x' number of rows (lines / packets) of best bids and asks.
For every MM that has one of the ‘x’ best bid OR ask, the server will return both it's bid AND ask (even if only the bid or only the ask makes the top ‘x’ best).
Therefore if ‘x’ = 8:
  1. The first transmission will send:
    • min of 8 lines (if each of the MM's have the best bid AND ask)
    • max of 16 lines (if each of the 8 MM's only have the best bid while another 8 MM's have the best ask).
    • The first 8 msg's will be in order of increasing bid.
    • The rest of this transmission (IF there will be anything else, as explained above) will be those MM's that have the best ask but did not have the best bid (and therefore were not included the first 8 msg's) in order of increasing ask.
    • The last message of a transmission has "flag" = 1

  2. subsequent transmissions will only send bid/asks for those MMs that you should update in your records (those that changed size or price)
  3. Occasionally you might receive records with "action" = 2, this indicates an invalid msg. These records should be deleted.
You must do your own sorting to find where to insert new MMs and which MMs should be pushed off your list.

Please Note:
Valid range for number of rows is 8 through 24. You will get an error for all other values.
Back to top

Q: What are the requirements to use the “Nasdaq Level 2” feature?
A: In order to use the Nasdaq Level II feature you must first:
  1. Enable dynamic Nasdaq Level II (included with Silver Plan and up).
  2. Enable Nasdaq exchange for real-time data.
  3. If you want multiple Nasdaq Level II windows, enable that feature (included with some plans).
Nasdaq Level II screens are either static or dynamically updating displays depending on your service level.
Nasdaq Level II for Microsoft (MSFT) is available as a free sample.
Back to top

Q: Can I sample the Nasdaq Level II function without subscribing to all the required upgrades?
A: Microsoft (MSFT) will work as a sample regardless of entitlements.
Back to top

Q: Where can I find the full documentation of the features of the SDK?
A: You can download or view the full documentation for each of the SDKs at the download page for the version you are interested in. From our SDK Home Page, select the platform you’re interested in. To download the documentation in MS Word format, click on the “downloads” link and select the appropriate download. To view the documentation online, click on the “Docs (html)” link.
Back to top

Q: How do I handle disconnections from the server?
A: To reconnect to myTrack™, do the following:
  • call mtDeInit
  • call mtInit to re-Init the SDK
  • Connect
  • Logon
  • Wait for logon response
  • Re-issue the tick request
Back to top

Q: How can I get a list of all the symbols available via the SDK?
A: Using symbol lookup:
  1. Set the "type" parameter = 1 (company name lookup), enter ! (exclamation) as the company name.
  2. When the results come back, make another request for more symbols by setting the "more/next" parameter = 1
  3. Keep on requesting "more" until the "eom" field = '2' which indicates that you ran through the entire list of symbols.
Back to top

Q: What is the “volatility” and how is it calculated?
A: The Volatility is the characteristic of an issue to rise or fall sharply within the short term. Calculated by the following formula:
  1. Get Price Relatives = price on day / price on day x-1
  2. Calculate log of each Price Relative and Sum all logs
    ? (Log (price on day x / price on day x-1))
  3. Calculate the mean of the range of price relatives
    ? (Log (price on day x / price on day x – 1)) / # price relatives
  4. Calculate the sum of the square of each price relative
    ? ((price on day x /price on day x-1)2)
  5. The volatility is:
    Square Root (253*(sum of the squares or price relatives (# of price relatives (mean of the logs of price relatives)2)) / # of price relatives)
Back to top

Trading Questions
Q: I didn’t receive an order acknowledgement from the broker. How do I know if I just missed the acknowledgment, or if myTrack™ never received the order?
A: You can view outstanding orders and account positions by calling one of the following:
  • mtBrokerRequestAcctPositions
  • mtBrokerRequestTransactionData
  • mtBrokerRequestOrder
Back to top

Q: I submitted an order, but I received no acknowledgment and the is no execution, and no open order indication. What happened to that order
A: The order was probably rejected by either myTrack™ or the broker. Make sure you check for an order rejection message in your processing of Brokerage messages.
If you have myTrack™ and your SDK based app running simultaneously, only one of them will receive the execution message. If no myTrack™ applications are running at the time of execution, no execution message will be sent.
Back to top

Q: The RQN is ‘0’ in my Broker acknowledgement messages, How do I know which function call these messages are for?
A: The ACK_BY_MYTRACK™ has an RQN, use this msg to map it’s order ID to the corresponding RQN, you can then identify the other messages by their order ID.
Back to top

Error messages

Q: What do all the error codes mean?
A: All the error codes and what they represent, are listed in the SDK documentation.
Back to top