Release Notes (print this page out
for your reference)
1.18a/b
- Fixed bug in Cancel Open Entry button, and the Stop Limit button in Breakout Order section.
- Added a local time display on the status bar.
- Removed the requirement to enter your Account Number in the Preferences dialog. AutoTrader still needs the Account Number in order to perform critical tasks such as failure recovery and transaction matching in Reports, but it will automatically determine your Account Number based on the Execution record TWS provides.
- The Position Entry and Position Exit Panel can be separated by selecting the menu View / Entry Exit Panel / Separate. If it is combined, I made the program to automatically switch to Position Exit if an entry order is filled.
- I am introducing the AutoTrader to TWS Http Interface in this version. This is new and will be refined as needed. Open the AT2TWS_Demo.htm file in a browser to read more about this feature and test it out.
- New features in version 1.18a. Program preferences now stored in AT.xml file in XML format. This is a text file and will allow users to modify certain values if necessary. Using XML format isolates AutoTrader program from future changes in TWS API code. TWS API changed "public" names between version 6.x and 7.x. Standard software development practice normally do not rename published class, methods and variable names.
- Look and Feel is now user selectable. There are currently 4 options to choose from if you use the Metal Look and Feel. The option to use the System Look and Feel (same style as the native operating system) is still available. You can switch this in the AT Preferences dialog. Switching between Metal L&F and System L&F requires a program restart.
- AutoTrader packaging change. There will be 2 packages available, a full install package that contains all the files needed to run the AutoTrader program, and the AutoTrader.jar file only package. For first time users, get the full install package. For upgrading between versions, you can just download the AutoTrader.jar and replace the one you have in your system. I provided a DOS batch file called AT.cmd that you can double click to start the AutoTrader program. The only prerequisite to run AutoTrader is you must have Java 1.4 runtime software installed.
- Stop Orders can now be submitted as Stop Market or Stop Limit Orders. So for Globex traders who wants to have Globex native stop orders, submit your stops as Stop Limit orders. For ACE traders, submit stops as Stop Market to have native ACE stop orders.
- Time in Force can be set to DAY or GTC.
- A new Position Exit option is added. You can now Offer Out to exit a position.
- Modify Stop and Target orders by Price instead of by Offset. Once a position is opened, you now have the option of modifying stop and target orders by price or by offset. The offset and price display box are synchronized, so changing one will change the other correspondingly.
- Updated the exchanges supported. Now all exchanges current as of today is supported by AutoTrader, this includes new exchanges recently added such as Toronto Stock Exchange, FTA in Netherlands, Tokyo and Osaka exchanges in Japan.
- Improved fractions support. Bond traders now have the option of displaying quotes in fractions or in '320 format.
- Trading performance report. There is a new Report tab in the Info Panel. Import your monthly statements (in Excel format) for the previous months and the daily statements for the current month, and it will t
Friday, October 10, 2003 1:18 AM
Profit calculation includes commissions. This section currently only works with Stocks and Futures. This also assumes you are trading in a single currency.
- Hotkeys! Now you can configure all your Fkeys and assign actions you previously would do by changing values and clicking buttons. You have a total of 48 assignable Fkeys plus 16 combinations of the Arrow keys for a total of 64 assignable hotkeys.
An example setup you can make for hotkeys is as follows:
F1 subtract 4 ticks from stop offset ___________ Shit F1 substract 4 ticks from target offset
F2 subtract 3 ticks from stop offset ___________ Shitf F2 subtract 3 ticks from target offset
F3 subtract 2 ticks from stop offset ___________ Shift F3 subtract 2 ticks from target offset
F4 subtract 1 tick from stop offset ____________ Shift F4 subtract 1 tick from target offset
F5 add 1 tick to stop offset __________________ Shift F5 add 1 tick to target offset
F6 add 2 ticks to stop offset _________________ Shift F6 add 2 ticks to target offset
F7 add 3 ticks to stop offset _________________ Shift F7 add 3 ticks to target offset
F8 add 4 ticks to stop offset _________________ Shift F8 add 4 ticks to target offset
The possibilities are only limited by your imagination.
- Program state is now persisted into a SQL database. AutoTrader now comes with HSQLDB database and it stores all the order status and execution details into the database, so the state of the program is remembered between program starts. This means you can resume trade management if the program crash, your computer reboots, etc. This makes AutoTrader a truly fault tolerant TWS API client program. Banking and financial institutions' mission critical software are all fault tolerant, why should your trading software not have this feature ?
- Database can be switched to MySQL (download and install first from http://www.mysql.com). I may add more database support in the future such as Oracle, SQLServer, Pointbase, etc (any database that has a JDBC driver), if there is enough demand for it. If you plan on running multiple instances of AutoTrader to trade multiple accounts, then it is highly recommended you use MySQL or any commercially available database software. There are many free tools available that you can use to connect to the database used by AutoTrader and do maintenance and generate reports out of the data stored by the program.
- Link to QuoteTracker symbols. If you are using QuoeTracker for viewing charts, if you select the Link QT Symbols option, whenever you change the symbol in AutoTrader, the chart displayed in QuoteTracker will automatically switch to your selected symbol. This way, traders using QuoteTracker charting program will not make the mistake of viewing the wrong chart when making a trade.
- I have updated the TWS API client to version 7.3. Due to the change in TWS API from 6.x to 7.x, the old format of AutoTrader collected data will not be compatible with this new version. IB modified "public" class variable names between API version 6.x and 7.x, as such, the old file format will not be compatible with the new file format. Other playback data source will continue to work as before.
- Internalization support is now complete. AutoTrader is written to take advantage of Java's internalization feature. If you like to see the display strings and messages on the AutoTrader windows displayed in your native language, all you need to do is modify the ATResources.properties file, and translate the strings on the right hand side of the"=" sign, save the file (use UTF-8 byte stream if you are using a Double Byte Character set such as Japanese or Chinese) to the same location as AutoTrader.jar, and next time you start up the program, all the display strings and messages will be in your native language. Note that the ATResources.properties filename needs to be in the format ATResources_XX.properties, where XX is your Country Locale code, such as de for Germany, ja for Japan. Information about supported locales can be found here http://java.sun.com/j2se/1.3/docs/guide/intl/locale.doc.html
- Bugs fixed in version 1.18a. Partial fill logic now works properly again.
- Breakout Order entry section now has two buttons, one for placing Stop market breakout orders, and one for placing Stop Limit breakout orders. Previously, once a value was entered into the Limit price, it is not possible to submit Stop Market breakout orders anymore.
1.17a/b/c/d/e/f/g
- New features in version
1.17g. Added support for CME Globex Time and Sales data for playback and QuoteTracker
data for playback.
- Changed in 1.17g. Filtered
out single stock futures list from showing up in Bulletins.
- New features in version
1.17f. Added support for Currency trading. The program will now detect tick
size if 4 or 2 decimal places are needed, so Currency symbols which uses 4
decimal places will automatically display and use 4 decimal places .
- Bug fixed in version
1.17f. Simulation trading runtime error using Ensign playback data fixed.
- New feature added in
version 1.17e. Added Ensign Playback Data as a new playback source. Now you
do not have to collect data everyday (unless you want full details when you
playback, including market depth data) for index futures symbols. You can
playback Ensign Playback data files for ES, NQ and YM using AutoTrader. These
files only contain last price data, bid and ask price data is simulated, size
info is fixed at 100. Playback timing is accurate to the minute based on the
info from the playback file. The tick rate is spaced as 60000/number of ticks
for that minute in milliseconds. The typical rate I see during the first hour
is about 4 ticks per second.
- New feature added in
version 1.17d. Added Random Data as a new playback source. Don't have playback
data to use for simulation ? No problem, AutoTrader can now generate playback
data using a random number generator. This source generates bid, ask and last
data. Size is currently fixed at 100, and the tick rate is about 110 ticks
per minute.
- Bug fixed for version
1.17d. Position order entry quantity modification before order is completely
filled now correctly adjust the values for Qty Open, filled and remaining.
Position entry order quantity value cannot be modified to a value lower than
the quantity already partially filled..
- Enhancementss added to
version 1.17c. Full support for symbols using fractional tick size. The program
now works with symbols using the following tick size: 1/2, 1/4, 1/8, 1/16,
1/32, 1/64, and 1/128. The program has been tested with ZT, ZF, ZN and ZB
U.S. Treasury Bonds symbols. Prices are displayed in fractions, so 21/64 is
displayed as 21/64, not '105. Fractions are also displayed without reducing
tolowest denominator. So 16/32 is displayed as 16/32, not 1/2.
- Problems fixed in 1.17b.
The second order status report for orders placed on ACE is now used and updates
the value of the first order status report.
- Qty used for placing
exit orders is now correct if you updated the Qty for the entry order before
it was filled.
- Fixed a problem in simulation
mode that can cause a rare multithreaded race condition in the java program.
- Added uptick/downtick
indicator. The uptick/downtick bar shows the last 8 to 10 uptick or downtick,
if the tick price is the same, then there is no new tick bar displayed, only
tick changes are shown.
- Added a price thermometer
indicator (color indicator inside the last price box). The price thermometer
shows the relative position of the current last price to the high of day and
low of day.
- The connection status
box in the status line of the main window now displays the Account name when
you have a trade executed for the day. You can toggle between the connection
information and the Account name by clicking on the box.
- In Classic mode, I changed
the layout to a Buy and Sell button instead of a Buy and a Sell radio button
and a Submit button.
1.17
- Upgraded the program
to use TWS API client version 7.2. And
as always, everything is self contained, so you don't have to go through the
hassle of upgrading your TWS API client software
- The program now displays
TWS Bulletins in the Info Panel, . Whenever a new bulletin arrives, the color
of the word "Bulletins" will change to red, until you click it to
read the bulletin. This way, you know if you have unread bulletins since you
started the AutoTrader program.
- If you are using AutoTrader
for the first time (no AT.prefs file), the 3 default symbols it creates now
contains the multiplier value for profit calculation.
- A new status line is
added at the bottom of the main window to display the last message logged
and connection information. You can show or hide the status line from the
View menu. The purpose of showing the connection information on the status
line is if you have multiple copies of AutoTrader running and you use each
one to connect to a different account, it is a way to identify which account
you are connected to.
- Log files are now created
and stored in a subdirectory called logs at the location where you started
the AutoTrader program. I did this to organize the log files better and not
to clutter the AutoTrader directory with tons of log files.
- Stop and Target order
OCA string is now set as "ATX"+<stop order id>. This change
is needed in order to allow running multiple copies of AutoTrader all connected
to the same TWS for trading different symbols (so the OCA orders will not
interfere with each other). Read the FAQ for
more details.
- Added futures contract
expiration warning message. During contract expiration month, from one week
before expiration, if you trade futures, a warning message will pop up to
remind you to switch to the new front month contract.
1.16a/b/c/d/e/f/g/h/i/j
- Version 1.16j. Trailing
stop when Stop Trigger on Bid/Ask option is selected now works properly.
- Fixed problem in submitting
of stop and target orders on partial fill for large volume entry order.
- Fixed updating of Qty
in sumulation mode for partial fills.
- Symbol ticksize is now
checked to have a non-zero value.
- There is no restriction
to the limit price when submitting a stop limit entry order.
- Version 1.16i. AutoSend
Exit is now permanently on, so the checkbox for this option is now removed.
- Bugs fixed in version
1.16h. Fixed market order in simulation mode. When I added the partial fill
feature to simulation mode, I missed updating part of market order handling,
this is now fixed.
- I noticed recently that
I have been getting" Error 201 COULD NOT VALUE THIS CONTRACT AT THIS
TIME" quite often. Some users have reported this as well. I added code
to resubmit rejected Stop and Target orders that have been cancelled by TWS.
- Fixed ESTX50 handling
to ignore fill status with bad price info (usually fill price of 0 or sometimes
some small negative number), and wait for the amended fill status with the
correct fill price before placing the exit order.
- Bug fixed in 1.16g, partial
fill are now handled properly. Previously, if you placed an entry order for
say 3 contracts, then get a fill of 2 contracts and then the third, the program
will incorrectly add 3 to the open qty instead of 1 on the last fill, so you
end up with exit orders for 5 contracts instead of 3. You probably will never
see this problem during live trading except for slow midday hours. This problem
is now fixed. As a bonus for fixing this problem, the simulator now simulates
partial fills.
- I also fixed the calculation
of trade rate. Previously I only get the total qty reported in last size every
ten seconds. This was not an accurate number as TWS updates only the last
size value if it is different. So if there were 10 trades of 100 contracts,
TWS would only report last size of 100 once. Now, I take the difference of
the total volume every ten seconds, and this truly reflects the actual volume
traded. Now you can see when institutions trade when those thousands of contracts
show up on the trade rate.
- Program will now automatically
resubscribe Market Depth Data when TWS reconnects.
- Bug fixed in 1.16f, use
market order to close option restored to modify the target limit order to
a market order to close a position. The workaround to a TWS bug that submits
a new market order to close a position introduced a bug that causes the quantity
calculation for exit orders to not be reset after a position is closed.
- The Cancel Open Orders
button has been restored as Cancel Open Entry Orders, and now only cancels
entry orders.
- Removed the Cancel Open
Order button in version 1.16e.
- Added support for FOP
(option on futures) and new exchanges for trading Single Stock Futures.
- Fixed in 1.16d. Problem
with Reverse, Close Position and Cancel Open Orders button not working is
now fixed.
- Fixed the Preferences
to remember the default Contract to display setting.
- Target order limit price
is now recalculated from the last entry price + target offset. Previously,
this was set to the initial entry price + target offset. So now when you scale
in, the target price will be based on the last scale in order that filled.
- If you select Stop Trigger
on Last, simulation fill for both Target and Stop will now be based on Last
price match. If you select Stop Trigger on Bid/Ask, both Target and Stop will
be based on Bid/Ask price match. Previously, price match was always based
on Bid/Ask only.
- Fixed in 1.16c. Profit
calculation in simulation mode when a position is closed now displays the
correct value.
- Bugs fixed in 1.16b.
Total profit value is updated after a position is closed.
- Fixed duplicate ticker
id bug.
- Bugs fixed in 1.16a.
Market orders receiving a fill price of 0 will now assume a fill price equal
to the last price from the quotes in order to submit the exit orders, as the
exit order prices are calculated as offsets from the fill price.
- Duplicate order status
reports from TWS are now ignored. This was causing a problem where the Qty
Open is doubled everytime a duplicate order status is received.
- Added a routine to catch
any runtime errors that occur to prevent TWS from disconnecting. This will
allow you to close any open position you have before closing the program.
Please email me the AT.log file as soon as you encounter a runtime error.
1.16
- Bugs fixed for 1.16.
The disconnection problem is fixed. This problem only occured if you were
using live market data in simulation mode.
- Fixed use market to close
option to submit a new market order to close instead of modifying the target
order from a limit order to a market order, which is causing a rejected order
error.
- Fixed keyboard entry
of values and right click selection of values bug. These mode of number entry
now works again.
- New features in 1.16.
Added a "Time in Trade" display. This shows you how long the current
position has been open.
New
mode of data entry using Keypad. When you click the mouse wheel while pointer
is inside a numeric box, a keypad will pop up below the price box (Did you
know the mouse wheel also functions as the middle mouse button?). While the
keypad is up, if you left click a number, it will add the corresponding number
of ticks to the price box, or Qty increment if it is a Qty box. If you right
click or middle click the mouse, it will subtract the corresponding number
of ticks from the price box, or decrement the Qty if it is a Qty box. For
example, if the price right now is 800, and you want to move your target up
25 points (100 ticks), all you need to do is middle click on your mouse, click
50 twice (each click will add 50 ticks to the price), then click Ok. Clicking
Cxl (cancel) will revert the original value, and clicking Clr will set the
value to Zero.
1.15a/b/c/d/e/f
- Bug fix for 1.15f. At
startup, if after connection, the prgram receives an error 503 (TWS is out
of date), the program will now quit.
- Bug fixes for 1.15e.
Order ids now continue from the next id from your order status list or the
one returned by TWS.
- Simulated orders now
do not wait for the next tick price before checking if the order can be filled.
- Bug fixes for 1.15d.
Stop limit orders are now submitted correctly as "STP LMT".
- Safety ticks choice now
goes up to 5 ticks for limit order for position exit.
- Bug fixes for 1.15c.
The values on the main window does not get reset anymore when you switch to
another window and then back.
- When you close a position,
all unfilled additional entry orders are now cancelled.
- Fixed duplicate order
id error when connected to TWS Demo System.
- Both legs of a breakout
order are now checked if valid before submitting the two stop orders.
- Bug fixes for 1.15b.Fixed
divide by 0 bug for contract symbols with whole number tick size.
- You can now edit the
breakout orders before they fill. If breakout order fills, the One Click tab
will be selected.
- Fixed problem in simulation
mode where the status of the last entry order that is filled is changed to
cancelled, resulting in wrong calculation of total profit.
- Fixed the limit price
and stop price problem in Classic order entry. The default values are now
back to the last price again instead of 0.
- A known problem is if
in Simulation mode, if you submit a breakout order at current bid and current
ask price, both orders will be filled. This scenario will not happen in live
mode, and it is unlikely anyone would want to submit a breakout order at bid/ask.
1.15
- New feature for 1.15.
Attention Bond traders, AutoTrader now supports fractions. You can specify
in your contracts setup section in Preferences, to display contract values
in fractions.. If a symbol is specified to use fractions, internally, all
price values are stored to 5 decimal places to support price down to 1/32.
Also the fraction display is always reduced to the lowest fraction, so 16/32
is displayed as 1/2. You can even use fractions on ES if you want to.
- Bug fixes for 1.15. Fixed
order id sequencing bug. Version 1.14f has a bug in which the order id is
adjusted even if the order originated from AutoTrader, that problem is now
fixed. Also previously, if a new order was placed directly on TWS and the
order id sequence is adjusted in AutoTrader, the succeeding display of Order
Status may have skipped rows, this is now fixed.
1.14a/b/c/d/e/f
- One more bug fix for
1.14f, fixed problem if used with Demo System. Program was disconnecting if
used on demo system.
- Bug fixes for 1.14e.
Scale out quantity was accepting a value of 0, and hence causing a problem
when the exit order is submitted. If scale out quantity is set to 0, it will
now reset to the default quantity of the contract.
- More market depth bug
fix, it now works on both simulated or live data.
- Bug fixes for 1.14d.
Fixed bug to stop sending the request for open orders to TWS after it is disconnected.
- Fixed market depth bar
bug that causes disconnection when you switch symbols.
- Fixed scale out quantity
bug. You can now change the value for scale out quantity at any time.
- New features for 1.14c.
Added a Cancel Selected Order button at the bottom of the Order Status Panel.
Previously, if you entered multiple orders, you are not able to cancel individual
orders, now you can select the Open Entry order you want to cancel, then click
the Cancel Selected Order button.
- Total profit is now calculated.
Total profit for all closed trades are calculated and displayed at the bottom
of the Order Status Panel.
- Bug fixes for 1.14c.
When you click the reverse button, the entry price is reset to the fill price
of the reverse order, so the profit is calculated from that price from there
on.
- Fixed problem in order
reversal causing invalid order id = 0.
- Fixed simulator to cancel
OCA orders properly.
- Fixed email button. It
now works in Windows 2000 running Outlook.
- Clear the limit and aux
price box values when you switch to a different symbol.
- Bug fixes for 1.14b.
If you previously had open positions or open orders on TWS and then start
AutoTrader, you may get invalid OrderId=0 error messages. This is now handled
properly.
- Stop trigger on bid/ask
now uses native TWS stop order with stop trigger method = double bid/ask.
This will avoid the problem of having unprotected position in case the program
or the computer hangs.
- AutoTrader now checks
TWS every 30 seconds for new open orders entered directly on TWS.
- Fixed order id number
sequencing. Previously, if you placed orders directly on TWS, it will increment
the order id without notifying the TWS API client.
- Added a new toolbar button
for submitting bug reports. Please click this button as soon as you see a
problem to send an email with the last 20 or so lines of your message log.
- Bug fixes for 1.14a.
Fixed an order updating bug when you add to an existing position.
- Fixed Reverse button
bug.
- Fixed button enable/disable
logic.
1.14 beta
- New features. Ability
to add to existing position using One Click or Classic mode. Note that Profit
is calculated based on the Average fill price of all entry orders, while Target
price is calculated as an offset from the Initial entry price.
- Classic Order entry mode
now supports stop limit orders. You can also specify the order to be OCA. The OCA label used is ATE (for AutoTrader
Entry). The target and stop orders are always an OCA pair with an OCA label
of ATX (for AutoTrader Exit).
- Breakout Entry. Specify
the buy and sell price (and a limit price if you want), and a stop buy and
stop sell order are placed. Once a breakout order is submitted, you cannot
add new orders until the order is filled or you cancel the orders.
- If you move the mouse
cursor to the Trade Rate box, it now displays the last 10 values.
- Some cosmetic changes
to the toolbar buttons.
- The order status now
displays all your orders with the latest status and timestamp. The lines are
color coded, blue = order is filled, red = order is cancelled, yellow = order
is presubmitted, and green = order is submitted and currently active. What
you want to look for are green and yellow lines for current active orders.
- Bug fixes. Switching
symbols while data collection is on will now prompt if you wish to continue
or not, if you continue to switch to a new symbol, the data collection is
terminated and the file is closed.
- Force AutoTrail increment
value minimum to be the tick size. This will prevent newly opened position
to close immediately because of invalid value in trail increment
- Adding or Modifying Contract
data before required a connection to TWS. This is not needed anymore. If AutoTrader
is not connected to TWS, then the tick size value is not validated against
the exchange if AutoTrader is not connected to TWS.
1.13a/b/c
- Version 1.13c. Fixed
the disconnection problem when you switch from a stock symbol to a futures
symbol in the Quotes Panel. Made the Toolbar fixed to the top of the window
when you undock the Info Panel. Fixed cause runtime error when you stop the simulator
playback from the Preferences dialog.
- Version 1.13b is out
with minor bug fixes. Mainly to close the zip file on program exit so the
collected data will not get corrupted. Also added a safety feature for the
data playback, data is now played back only if the requested symbol is ATPB,
MSFT or IBM (the last two are there so it will work with Sierra Chart trial).
This way, the playback data will not interfere with your existing chart data.
So even though your collected data is for ES, when you start playback, you
need to open a chart using one of those three symbols in order for playback
to start.
- Tweaked the float window
size for info and quotes panel and Window Always On Top also applies to undocked
panels.
- Bug fixes. Fixed file
naming bug for Data Collection. When you are prompted for a filename when
you select Start Collecting Data, and you do not specify the.zip extension,
no data is collected. This version will automatically append the .zip extension
if you do not specify it at the prompt.
- Fixed data playback problem
if data is streaming too fast during a fast market. You will need this version
in order to playback the es030703.zip file I uploaded.
- Fixed the Classic Order
Entry Submit and Cancel button disabling problem.
- Fixed the URL link for
sending me email.
- TWS Server proxy in Simulation
playback mode. You now have the option to make AutoTrader work as a TWS API
server when you playback your collected data. You can then start your Quotetracker
or SierraChart
charting software, and it will connect to AutoTrader and start receiving the
tick data. The client programs would not even know the difference that they
are connected to AutoTrader and not TWS. Practice your strategy and trades
in the ultimate simulation package available using IB TWS.
- In TWS Server proxy mode,
the very first reqMktData command is the only one that will be served, all
the other commands are simply ignored. So for example, if you use SierraChart
in trial mode, it will allow you to use IBM or MSFT symbol, just use any one
of these, and start charting the data you are playing back.
- Panel sections in AutoTrader
can now be undocked and docked. Access this new feature from the View menu.
All the window size and location are remembered when you exit AutoTrader.
Note that because of this additional feature, the AutoTrader.properties file
has become too big to maintain, so I am creating a new AT.prefs file to store
all the preferences and contract symbols. So you will need to enter you contract
info again with this version.
- Please consider making
a donation to make my efforts worthwhile.
1.12b/1.12c
- I just fixed a bug for
market depth for stocks in v1.12c. It seems stocks get a market depth level
of greater than five.
- Added option to display
market depth information. When you collect your simulation data, it will also
collect market depth data, so when you later playback the data, it will display
the market depth information as well.
- Increased size of Quantity
entry field.
- Fixed Contract Details
windows close button problem.
- Fixed the ticksize setting
for stocks. ContractDetails API is returning 0.001 instead of 0.01.
1.12
- Trading Simulation feature
now available. By selecting the "Simulation mode" in preferences,
any orders placed will not be submitted to IB, but will be tracked as a simulated
live order in the AutoTrader program.
- Frustrated from using
the TWS demo system ? Now you can save and playback tick market data for trading
simulation in AutoTrader. Simulate using live market data during trading hours,
and use collected market data for simulation during off trading hours. AutoTrader
is the first to use mousewheel support, and is now the first to introduce
market data playback for trading simulation.
- AutoTrader now uses the
industry standard log4j libraries for logging messages. If you are familiar
with log4j, you can modify the log4j.properties file to customize the log
messages printed out according to your needs. There are also many third party
programs available to process log4j messages. Visit http://jakarta.apache.org/log4j
if you want to learn more about it.
- The file naming convention
for the log file has changed as a result of using log4j. The current day's
log is always logged to a file called AT.log. At the end of each day, the
log file will be renamed to AT.log.MM-DD-YY.log, and the AT.log will contain
messages for the new day.
- A new feature, as a result
of using log4j, is logging debug messages to file. If you select from the
menu File/Debug Msg to Log, then additional debugging messages will be printed
to the log files that you can send to me when you report any bugs. This will
help me troubleshoot any problem you are reporting.
- Uses TWS client API version
7.0.1. The program now displays Account information, Trade Executions, Open
Orders (only orders originated from AutoTrader will display), and Positions
are now displayed.
- Added IDEM exchange so
our Italian traders can use the program.
- Changed the Contract
year selection choices to 2003 to 2009.
- Fixed window resizing
layout. This resulted in the main window increasing in length a little bit,
but window resizing now works better as the program uses the Java dynamic
layout feature.
1.11
- I decided to make the
mouse wheel value change to go down when you pull the wheel towards you (kinda
like finger down), and value up when you turn the wheel away from up (finger
up). Users seem to prefer this, and I think it makes sense.
- Fixed a bug in the Symbol
combo box where it could not handle Options of the same underlying.
1.10
- Added Mouse Wheel support !!
You can enable or disable this feature from the Preferences window. I can't
imagine why anyone would want this disabled. If this feature is enough to
get you out to go buy a Wheel Mouse, I strongly urge you to make a suggested
$30 donation.
- To use the Mouse Wheel feature,
enable it in the Preferences window. On the main window, make sure the main
window is the top window, move the mouse cursor inside one of the fields where
you enter a number, like Stop Offset or Target Offset, and start turning your
mouse wheel. Turning the mouse wheel towards you will increase value of the
field, turning it away from you will decrease the value. If the value changed
from the original, the background color of the field turns to yellow. If you
scroll it back to the original value, background color returns to white. After
setting the new value, moving the mouse out of the field will apply that new
value, that's it! Note that user is responsible for making sure the value
you choose is what you want, don't get carried away and scroll the Qty to
10 because you can end up with more Qty than what you really want.
- Popup list choice feature is
still there to support those who do not own a wheel mouse. It seems that for
popup list to work properly, the focus (the blinking text cursor) must not
be in the field you are using the popup list on. So if you want to make a
choice for Stop Offset, make sure the blinking cursor is not in the field
when you do a right click on it. I will try to fix this problem in the next
version or so. In the meantime, if you start using the wheel mouse feature,
you will probably never need to use the popup list anymore.
1.09
- Java 1.4 is now required. In
order to support new features now and in the future, I need to use J2SE 1.4.
Please upgrade your Java runtime program to 1.4 if you have not yet done so.
- AutoTrader now supports unlimited
number of symbols. Note that users of previous versions will lose all their
contract settings when they upgrade to this version. My apologies for the
inconvenience.
- You can add, modify and delete
Contract information from the Preferences window. To modify, change the values
of the contract and click Save button. To create a new Contract, click the
New button, enter the values, then click the Save button. To delete the current
contract displayed, click the Delete button.
- Fixed window maximize/restore
problem.
- Fixed Scale Out feature problem,
it now works again.
- Stop Trigger radio buttons are
now disabled when Position Exit orders are active to avoid confusion.
- Qty and Scale Out Qty are now
stored per contract also. Default Qty in Preferences window is now used as
the minimum quantity and the quantity increment in the Qty popup list.
- Fixed icon size so they are now
all the same size.
1.08
- SmartTrack is
now available! Buy on Bid, Buy at Ask, Sell on Bid, Sell at Ask limit orders
are now tracked automatically. This feature can be turned on or off "on
the fly" while the order is active. This feature is most useful for Buy
on Bid or Sell at Ask orders where the "spread" is usually larger
than the tick size. For Buy on Bid, if the Ask Price ticks down, SmartTrack
will automatically move down the bid price one tick. Not only that, if the
Bid Size is the same as your Order size, it will move the bid price down one
tick. If the ask price ticks up, SmartTrack will update the limit order to
move up one tick. You are almost guaranteed the best fill price at that moment
it filled. Usual disclaimer applies during fast and volatile market.
- SmartTrack works on
Buy at Ask also, if you click Buy at Ask, and did not get filled because ask
price moved up, SmartTrack will update your order to the new ask. This is
better than Buy at Market, since you can specify your limit on how many ticks
you want to go after the ask before giving up, with market order, it is possible
to get a fill at a price way further than you wanted.
Manual tracking button is enabled if SmartTrack checkbox is not selected.
So if you do a Buy on Bid, and bid price starts moving up, but you decide
you want to update the order to match the new bid price, just click the "Update" button and the order is updated.
- Of course you do not
want to track the bid/ask price automatically forever, so you specify the
number of ticks you want to track the bid/ask price. For example, if you specify
10 ticks, that means on initial limit buy on bid at 900, if the bid price
moves up to 902.75, SmartTrack will cancel the position entry order since
it went beyond 10 ticks from the initial order price. To track an order beyond
10 ticks, you have to track it manually.
- You can now specify
any number on the Trail Increment. A lot of people requested to remove the
limit, now you got it.
- Reverse position button
can be disabled from the Preferences window.
- Qty popup list now increments
in the amount of the default Qty.
- Target Offset, Stop
Offset and Trail Increment are now tied to the Contract information.
1.07
- Support for Non-US
Stock Exchanges - IBIS, EBS, LSE, VIRTX.
- Support for "Always
on Top" for the main window. (This feature only works on Windows OS)
Go to Preferences to turn this feature on or off. This version will create
a file named ATDLL.dll in the same directory where AutoTrader.jar is run.
- Fixed all the double
precision number rounding errors.
- Fixed double submission
of Position Exit Order. For some reason, IB sometimes reports Order Filled
status twice on the live system. AutoTrader now checks and ignores the duplicate
status report.
- Fixed Position Entry
Limit or Stop Order in Classic Mode sending order at Bid/Ask instead of the
limit or the stop price.
1.06
- Fixed problem with Average Fill
price generating invalid Order price for the position exit orders. This problem
only occurs if your position entry order was filled partially at different
prices. TWS reports the final fill price as the average price of all the partial
fills. This version will now round the price to the next nearest tick price.
1.05
- Fixed Buy/Sell Radio button synchronization
problem in "Classic" mode with the "One Click" mode. This
problem will affect you in 1.04 only if you were switching between one click
and classic mode in doing your trading.
1.04
- Buttons galore
!! You now have one click position entry buttons.
Full contract information is now displayed in the main window.
Position reversal button. This allows you to reverse a long to short (and
vice versa) in one click.
- Option to choose to
close a position using Market order or Limit Order. For Limit Order close,
you have the option of adding 1 or 2 extra ticks past the current bid/ask
to make sure the limit order fills in a fast market. This applies to clicking
on the "Close Position" button, or whenever a Stop is hit when "Stop
Trigger based on Bid/Ask" option is selected. Stop Trigger on Last Price
is still a Stop Market order. (Note: Some exchanges do not accept market orders
during certain times, so you will need to close using limit order, make sure
you understand how the exchange you trade in works, in order to use this feature
effectively).
- Change Qty, Stop Price
or Limit Price for Position Entry "on the fly" while Position Entry
order is not yet filled.
- Enable/Disable Scale
Out Option "on the fly" while Position Exit Orders are active. You
can even change the Scale out quantity "on the fly" now.
- Popup menu choice (use
right mouse click) now works on Stop price, Limit price, Qty, Stop Offset
and Target Offset fields.
- Fixed bug in the Symbol
selection combo box in the Main window.
- Fixed bug in Stop Order
window button enable/disable handling..
- Fixed bug in Popup menu
choice double precision rounding error.
- Fixed bug in Strike
Price field in Preferences window.
1.03
- Popup Menu choice for
limit order price, stop order price, stop offset and target offset
- Stop Trigger based on
Bid/Ask now does not transmit the Stop order to IB anymore. This change was
made to support FTSE traders on LIFFE exchange which does not support native
stop orders at the exchange.
- Order Status table column
width is now user adjustable. Some people were reporting the last column is
not visible.
Friday, October 10, 2003 1:18 AM