|
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:
 |
EnumPorts() |
 |
EnumVisiblePorts() |
 |
EnumPortSymbols(PortID) |
 |
EnumSymbols() |
 |
EnumIndices() |
 |
EnumEquities() |
 |
GetHistory(Symbol,FromDate,ToDate,Frequency,RTH Flag) |
 |
GetLastQuote(Symbol,Symbol,Symbol....) |
 |
GetTimeSales(Symbol,FromTime,ToTime) |
 |
GetLinkedSymbol([color]) |
 |
SetLinkedSymbol(Symbol[,color]) |
 |
GetVersion() |
 |
GetAdData() |
 |
AddStocksToPort(PortID,Symbol,Symbol,...) |
 |
AddDetailedStocksToPort(PortID,Symbol,Num_Shares,Base_Price,Commission,Symbol,Num_Shares,Base_Price,Commission,...) |
 |
RemoveStocksFromPort(PortID,Symbol,Symbol,...) |
 |
GetTimeFrame(Symbol) |
 |
EnumVisiblePorts() |
 |
|
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() |
 |
|
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) |
 |
|
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() |
 |
|
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() |
 |
|
Description: Returns all Index symbols for which QT has data
Returns:
Ticker,Ticker,Ticker,Ticker,Ticker,...
|
 |
EnumEquities() |
 |
|
Description: Returns all Equity symbols for which QT has data
Returns:
Ticker,Ticker,Ticker,Ticker,Ticker,...
|
 |
GetHistory(Symbol,FromDate,ToDate,Frequency,RTH Flag) |
 |
|
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....) |
 |
|
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) |
 |
|
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]) |
 |
|
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]) |
 |
|
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() |
 |
|
Description: Returns the current QT version. For example, 3.0.3D would return 3.034
Returns:
OK
3.034
|
 |
GetAdData() |
 |
|
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,...) |
 |
|
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,...) |
 |
|
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,...) |
 |
|
Description: Removes specified symbols from the specified portfolio. PortID is the ID of the portfolio, or CURRENT for
currently shown portfolio.
Example:
http://127.0.0.1:16239/req?RemoveStocksFromPort(CURRENT,MSFT,INTC)
Returns:
OK portfolio updated
...
|
 |
GetTimeFrame(Symbol) |
 |
|
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
|
|