QuoteTracker. Real-Time Intraday Charts, Quotes, Alerts, News Monitoring and Portfolio Management.

 

SCREENS
BETA SITE
DOWNLOAD
TESTIMONIALS
REGISTRATION
INVESTOR
RESOURCES

SALES



QUOTE SOURCES


SUBSCRIPTION Vendors


TRADING BROKERS


 TD AMERITRADE
 optionsXpress
 MB Trading
 Interactive Brokers
 OC Securities
 EFX Group
 Lowtrades
 RML Trading
 ChoiceTrade
 myTrack

QT HTTP SERVER API


QuoteTracker contains a Web server inside it that responds to a certain set of commands so that external programs can extract information from it. The server is bound to address 127.0.0.1 only – this way any information that is received from QuoteTracker does not fall under the "redistribution" heading – and we avoid legal troubles from data providers or from the exchanges.

You must first enable the HTTP Server in QuoteTracker. The setting is on the Preferences screen, MISC tab.

By default, QuoteTracker’s Web server monitors port 16239 – you can change that on the Preferences/Misc screen as well.

The calling format is:
http://127.0.0.1:PortNum/Req?FunctionName(Param1,Param2,Param2,etc)
(where PortNum is the port number (default 16239 – see above), and the function names and parameters are described below.
 
Each call will return a text file. The 1st line in the text file that is returned is the status line – it starts with either OK or Error and may contain the error message or additional information. The lines that follow the 1st one are described below for each one of the functions:


EnumVisiblePorts() Back to Top

Description: Returns all visible portfolios, Main QuoteTracker screen first. Will be useful once multiple portfolios will be able to be viewed in QT at the same time
Returns:
PortID,Port NamePortID,Port Name...

EnumPorts() Back to Top

Description: Returns all portfolios - ID and Name. The portfolio currently selected on the main QuoteTracker screen is always first in the list
Returns:
PortID,Port NamePortID,Port Name...

EnumPortSymbols(PortID) Back to Top

Description: Returns symbols in the portfolio that is specified. If CURRENT is specified for PortID, then the currently selected portfolio on the main QuoteTracker screen is used
Returns:
Ticker,Ticker,Ticker,Ticker,Ticker,...

EnumSymbols() Back to Top

Description: Returns all symbols for which QT has data. If ACTIVE is specified as a parameter, then the function returns the symbols from all portfolios + WatchList, but excluding any symbols that may have been removed
Returns:
Ticker,Ticker,Ticker,Ticker,Ticker,...

EnumIndices() Back to Top

Description: Returns all Index symbols for which QT has data
Returns:
Ticker,Ticker,Ticker,Ticker,Ticker,...

EnumEquities() Back to Top

Description: Returns all Equity symbols for which QT has data
Returns:
Ticker,Ticker,Ticker,Ticker,Ticker,...

GetHistory(Symbol,FromDate,ToDate,Frequency,RTH Flag) Back to Top

Description: Returns the Historical Intraday and End of day data in OHLC format for the specified symbol from FromDate to ToDate (if FromDate=0 - then from earliest, if ToDate=0 then to latest)
FREQUENCY: If just a number, then its in minutes, or xD for x Days (3D for example)or 1W, 1M, 1Y. The D, W, M, and Y frequency types are for END OF DAY data ONLY. Frequency specified in Days can be used for any number of days. For Week Month or Year, you can only use 1W, 1M, 1Y
YES/NO (Default NO) - Regular Trading hours (if NO, then ALL data). This is based on the default timeframe for the symbol. Have to use the GUI to change timeframe.

Comment: Added in 3.7.4 version. Does not request data. Only returns it if QT has retrieved Historical data on the symbol already

Returns:
Date,Time,Open,High,Low,Close,Volume
Date,Time,Open,High,Low,Close,Volume

NOTE: The DATE is in MM/DD/YYYY format

Example:
http://127.0.0.1:16239/req?GetHistory(QQQQ,0,1/12/2006,1D,YES)
Returns:
OK
03/10/1999,51.0625,51.15625,50.28125,51.0625,5232200
03/11/1999,51.4375,51.73435,50.3125,51.3125,9688600
03/12/1999,51.125,51.15625,49.65625,50.0625,8743600
03/15/1999,50.4375,51.5625,49.90625,51.50,6369000
03/16/1999,51.71875,52.15625,51.15625,51.9375,4905800
03/17/1999,51.9375,52.00,51.40625,51.5625,3965000
...
01/10/2006,42.64,42.92,42.55,42.88,84420400
01/11/2006,43.01,43.31,42.87,43.21,100777600
01/12/2006,43.15,43.29,42.85,43.00,82429100

GetLastQuote(Symbol,Symbol,Symbol....) Back to Top

Description: Returns "last quote" info for the specified tickers.
If * is specified, then it returns quotes on all stocks in the system
If ACTIVE is specified, then it returns the quotes on symbols from all portfolios
If CURRENT is specified, then it returns quotes on symbols from the currently selected portfolio on the main screen

Returns:
Ticker,Date,Time,Last,Bid,Ask,Change,Tick,Volume,High,Low,BidSize,AskSize,LastVolume,AvgTrade,NumTrades,Open,52w Low,52w High
Ticker,Date,Time,Last,Bid,Ask,Change,Tick,Volume,High,Low,BidSize,AskSize,LastVolume,AvgTrade,NumTrades,Open,52w Low,52w High
...

Example:
http://127.0.0.1:16239/req?getLastQuote(CMGI,DELL)
Returns:
OK
CMGI,10/21/2004,11:18:55,1.17,1.17,1.18,-0.01,U,510416,1.19,1.16,999,999,15,0,0,1.16,1.139,3.29,
DELL,10/21/2004,11:21:22,35.25,35.25,35.25,-0.12,D,5414608,35.66,35.21,2,9,1,0,0,35.57,31.14,37.18,
...

GetTimeSales(Symbol,FromTime,ToTime) Back to Top

Description: Returns "time and sales" info for the specified ticker from FromTime to ToTime (if FromTime=0 - then from earliest, if ToTime=0 then to latest)
Returns:
Date,Time,Last,Ask,Bid,Volume
Date,Time,Last,Ask,Bid,Volume

NOTE: The DATE is in MM/DD/YYYY format

Example:
http://127.0.0.1:16239/req?GetTimeSales(DELL,09:45:00,09:47:00)
Returns:
OK
04/14/2000,09:45:02,50,50.125,50.062,4300
04/14/2000,09:45:04,50,50.125,50,9300
04/14/2000,09:45:08,50.062,50.062,50.062,9200
04/14/2000,09:45:10,50,50.062,50.062,4600
04/14/2000,09:45:13,50,50.062,50.062,12000
04/14/2000,09:45:15,50.062,50.062,50,1500
04/14/2000,09:45:19,50.062,50.062,50,900
...

GetLinkedSymbol([color]) Back to Top

Description:Returns the currently lined symbol in the program

Comment: Added in 3.2.0 version. At least one window must be linked in the program for a symbol to be returned
Starting with Version 3.6.9I, you can specify the linked group for which you want the symbol. You would specify one of the following colors (GRAY is the default if none are specified):
GRAY,RED,GREEN,BLUE,CYAN or YELLOW

Example:
http://127.0.0.1:16239/req?GetLinkedSymbol(GRAY)
Returns:
OK
SYMBOL

or

NO

SetLinkedSymbol(Symbol[,color]) Back to Top

Description:Sets the linked symbol in the program to the one specified as the parameter

Comment: Added in 3.2.0 version. At least one window must be linked in the program for this command to work
Starting with Version 3.6.9I, you can specify the linked group for which you want to set the symbol. You would specify one of the following colors (GRAY is the default if none are specified):
GRAY,RED,GREEN,BLUE,CYAN or YELLOW

Example:
http://127.0.0.1:16239/req?SetLinkedSymbol(DELL,GRAY)
Returns:
OK

GetVersion() Back to Top

Description: Returns the current QT version. For example, 3.0.3D would return 3.034
Returns:
OK
3.034

GetAdData() Back to Top

Description: Returns The actual ad click percentage and the minimum ad click percentage needed for QTServer to operate. If the user is registered or other circumstances are present where this restriction is not relevant, zero will be returned for the minimum percentage
Returns:
Actual %,Minimum %

AddStocksToPort(PortID,Symbol,Symbol,...) Back to Top

Description: Adds specified symbols to the end of the specified portfolio. PortID is the ID of the portfolio, or CURRENT for currently shown portfolio, or NEW:Portfolio+Name for a new portfolio.
NOTE: QuoteTracker will NOT check for duplicates during this call. You must do that yourself

Example:
http://127.0.0.1:16239/req?AddStocksToPort(CURRENT,MSFT,INTC)
Returns:
OK portfolio updated
...

AddDetailedStocksToPort(PortID,Symbol,Num_Shares,Base_Price,Commission,Symbol,Num_Shares,Base_Price,Commission,...) Back to Top

Description: Adds specified symbols to the end of the specified portfolio with specified parameters. PortID is the ID of the portfolio, or CURRENT for currently shown portfolio, or NEW:Portfolio+Name for a new portfolio.
NOTE: QuoteTracker will NOT check for duplicates during this call. You must do that yourself

Example:
http://127.0.0.1:16239/req?AddDetailedStocksToPort(CURRENT,MSFT,100,10.5,9.95)
Returns:
OK portfolio updated
...

RemoveStocksFromPort(PortID,Symbol,Symbol,...) Back to Top

Description: Removes specified symbols from the specified portfolio. PortID is the ID of the portfolio, or CURRENT for currently shown portfolio.

Comment: Added in 3.9.5A version - ability to specify * for the symbol in order to delete all symbols in the portfolio

Example:
http://127.0.0.1:16239/req?RemoveStocksFromPort(CURRENT,MSFT,INTC)
Returns:
OK portfolio updated
...

GetTimeFrame(Symbol) Back to Top

Description: Returns the TimeFrame specification for the requested symbol in XML format
The XML tags that will be returned are:
 Field Name  Field Description 
 SYMBOL The symbol for which the timeframe is being requested 
 ID The ID of the timeframe 
 NAME The Name of the timeframe 
 TIMEFROM The START time for the time frame (local time of the timeframe) 
 TIMETO The END time for the time frame (local time of the timeframe) 
 ROLLOVER The time for the rollover of the timeframe (New day starts, volume gets reset, etc) 
 LUNCHFROM (If the timeframe has a lunch break, the START of the lunch break 
 LUNCHTO the END of the lunch break 
 LOCALTOEASTERN Amount of time to add to above time values to make them US Eastern time 
 SYSTEMTOEASTERN Amount of time to add to the system time to make it US Eastern time as QuoteTracker sees it. This might not be a round value since QuoteTracker syncronizes its time, so system time might be a little different 
 DAYOFWEEK Days of week that the timeframe is active. 7 charecters represending Sunday through Saturday respectively. Each one can be either X, meaning that day is Active, or - meaning that day is not active 

Example:
http://127.0.0.1:16239/req?GetTimeFrame(/ESU5)
Returns:
     <TIMEFRAME>
    <SYMBOL>/ESU5</SYMBOL>
    <ID>-USFUT</ID>
    <NAME>CME Globex</NAME>
    <TIMEFROM>15:30</TIMEFROM>
    <TIMETO>15:15</TIMETO>
    <ROLLOVER>15:30</ROLLOVER>
    <LUNCHFROM>16:30</LUNCHFROM>
    <LUNCHTO>17:00</LUNCHTO>
    <LOCALTOEASTERN>01:00</LOCALTOEASTERN>
    <SYSTEMTOEASTERN>01:00:08</SYSTEMTOEASTERN>
    <DAYOFWEEK>XXXXX--</DAYOFWEEK>
</TIMEFRAME>
The above timeframe indicates that it is active from 15:30 to 15:15 (next day) Sunday through Thursday, with a break from 16:30 to 17:00. Rollover is at 15:30. Times are in US Central, since LOCALTOEASTERN indicates you have to add 1 hour to get to US Eastern time