We have now moved the code over to Git Hub source can be found at
https://github.com/trade-manager/trade-manager
enjoy :)
I am a little behind on the JavaFX conversion but should be finished soon.
An application to automate trading strategies based on candle stick charts and indicators This is an open source project. Current interface supported are Interactive Brokers TWS and Yahoo Finance (data only)
Saturday, March 14, 2015
Thursday, December 11, 2014
Monday, June 16, 2014
2.1_14 now available see the readme.txt for details. Main new feature is the Go button on the Tradestrategy table this allows you to down load a current position and its orders (including orders not created by the TM). So you can run strategies that just manage an open position see the example PosMgrHeikinAshiTrailStrategy.
Java FX is a still an in progress project. I will check this in when complete. One advantage is I can now deploy this as a completely packed app for Mac(dmg)/Lunix(rpm)/Windows(exe) including jdk. Also this will be a 1.8 java app due to lambda use in javaFX.
I will also implement a messaging framework between the Strategies/Broker/UI (main thread) abstractions.
Java FX is a still an in progress project. I will check this in when complete. One advantage is I can now deploy this as a completely packed app for Mac(dmg)/Lunix(rpm)/Windows(exe) including jdk. Also this will be a 1.8 java app due to lambda use in javaFX.
I will also implement a messaging framework between the Strategies/Broker/UI (main thread) abstractions.
Sunday, March 23, 2014
OK 2.1_12 available for download. This fixes the issue with contract timezone TWS API changed the length of this field. Also added MACD indicator.
I am currently about to start looking into creating an Android app (I just completed an Android course) so looking for suggestions re features/ideas.
Also in the process of converting the UI to javaFX this will result in a faster UI and remove the dependence on JFreeCharts.
Since the downloads are now via GDrive I have no idea re how many people are still interested in this app so depending on feedback So please let me know if this project still has value.
I am currently about to start looking into creating an Android app (I just completed an Android course) so looking for suggestions re features/ideas.
Also in the process of converting the UI to javaFX this will result in a faster UI and remove the dependence on JFreeCharts.
Since the downloads are now via GDrive I have no idea re how many people are still interested in this app so depending on feedback So please let me know if this project still has value.
Wednesday, January 29, 2014
Thursday, May 30, 2013
Friday, April 19, 2013
Updates to model removed Trade and replace with TradePosition. So new model is:
Contract oneToMany TradePosition oneToMany TradeOrder
Tradestrategy oneToMany TradeOrder.
Note
1/ There can only ever be one TradePosition open at a time for a Contract.
2/ A TradePosition is created when at least one TradeOrder becomes filled/partially filled. The TradeOrder that caused the TradePosition to be created is marked as the opening TradeOrder.
3/ A TradePosition is closed when the totaly open quantity i.e. buy quantity - sell quantity equals zero. At this point the net value represents the P/L for the position.
Thursday, April 18, 2013
Wednesday, March 6, 2013
2.11 build now avaialbe this build handle FA account holders. It also allows submission of FA orders.
1/ Altered database, Tradestrategy ManyToOne Portfolio ManyToMany Account. The Portfolio table now represents a group of accounts. This allows Profiles/Groups from IB TWS to be loaded at login into the Portfolio table. Portfolio AllocationMethod details the distribution of a position across Accounts.
2/ Configuration Tab allows configuration of Portfolio/Account relationship. Note for individual accounts this is OneToOne for FA accounts this should be managed in IB TWS.
Thanks
Simon
Wednesday, February 27, 2013
TradeManager 2.10 released
This release now has support for FA Accounts. On login accounts are download to the Trademanager and stored in the DB. If the accountType is CORPORATION then the Alias/Profile and Group details are requested and stored. This allows for manual order (see Contract Tab orders panel) & strategies to submit orders for a Profile or Group. If Profile or Group is not specified then the account assigned on the Trading Tab is used.
Changes to the DB are :
TradeAccount table and new tables FinancialAccount oneTomany AllocationAccount (note these are IB TWS specific)
In a future release I will probably replace the TradeAccount with a Portfolio (acts as a group/profile holder) and so the model would read
Tradestrategy manyToone Portfolio manyTomany TradeAccount
Thanks
Simon
Wednesday, January 2, 2013
Friday, December 7, 2012
TradeManager 2.8_05 now ready + updated Demo DB. Look for new video early next week. I'll try and keep this to just 15mins!
The changes are as follows:
1/ All indexes/fk names changed to be unique MySQL 5.5 requirement.
2/ Contract.localSymbol length changed to 10 from 6 to match sysmbol column.
3/ Tradingday Tab now allows you to trade the same contract with different strategies or barSize on the same day. Tradestrategy key changed to include barSize
4/ Changed the TradingCalendar to add a day when the trade.market.close property in config.properties is less or equal to the trade.market.open.
5/ On Live login main controller (managedAccountsUpdated()) now parses all accounts from TWS API reqManagedAccounts(). The first account is considered the master and will be set to the default (popup to request this) if this is not so.
6/ Added field priceMultiplier to table Contract this is needed for Futures trade
7/ Tradingday Tab open/close times on a tradingday now over-ride values set in config.properties for the trading day defaults.
8/ Change the key for Contract to Symbol/SECType/Currency/Exchange/Expiry (app uses MMYYYY) app will use MMYYYY in searches as the ContractDetails api request sets the date to the actual date.
9/ Tradingday Tab Tradingday date-times can now be changed as long as the Tradestrategies do not have trades.
10/ When loading contracts from a csv file the app will assign these to the most recent Tradingday (usually today) regardless of open/close date-time. If this is not found then one is created using the config.properties values.
11/ Added none trading days to config.properties
# Tradingdays Sunday=1 Saturnday=7
# Trading days for week Stock Monday-Friday.
# E-mini Sunday-Saturday
trade.market.nontradingdays=1,7
12/ On connection to TWS if connection fails app now reverts to backtesting mode.
13/ Fixed defect added refresh() to WindowActivated() on Strategy Tab
14/ Fixed defect Updated order table now enable when connected to TWS added validation on Limit/Aux field based on OrderType.
15/ Added validation to Tradingday Tab close date
16/ Added event to BrokerInterface to fire events when the orderStatus changes, these now update the Contract Tab Orders panel as changes occur.
17/ Added validation to the BarSize/ChartDays fields on Tradingday Tab.
18/ Added sample csv files to the /db dir
19/ Updated column tooltips
The changes are as follows:
1/ All indexes/fk names changed to be unique MySQL 5.5 requirement.
2/ Contract.localSymbol length changed to 10 from 6 to match sysmbol column.
3/ Tradingday Tab now allows you to trade the same contract with different strategies or barSize on the same day. Tradestrategy key changed to include barSize
4/ Changed the TradingCalendar to add a day when the trade.market.close property in config.properties is less or equal to the trade.market.open.
5/ On Live login main controller (managedAccountsUpdated()) now parses all accounts from TWS API reqManagedAccounts(). The first account is considered the master and will be set to the default (popup to request this) if this is not so.
6/ Added field priceMultiplier to table Contract this is needed for Futures trade
7/ Tradingday Tab open/close times on a tradingday now over-ride values set in config.properties for the trading day defaults.
8/ Change the key for Contract to Symbol/SECType/Currency/Exchange/Expiry (app uses MMYYYY) app will use MMYYYY in searches as the ContractDetails api request sets the date to the actual date.
9/ Tradingday Tab Tradingday date-times can now be changed as long as the Tradestrategies do not have trades.
10/ When loading contracts from a csv file the app will assign these to the most recent Tradingday (usually today) regardless of open/close date-time. If this is not found then one is created using the config.properties values.
11/ Added none trading days to config.properties
# Tradingdays Sunday=1 Saturnday=7
# Trading days for week Stock Monday-Friday.
# E-mini Sunday-Saturday
trade.market.nontradingdays=1,7
12/ On connection to TWS if connection fails app now reverts to backtesting mode.
13/ Fixed defect added refresh() to WindowActivated() on Strategy Tab
14/ Fixed defect Updated order table now enable when connected to TWS added validation on Limit/Aux field based on OrderType.
15/ Added validation to Tradingday Tab close date
16/ Added event to BrokerInterface to fire events when the orderStatus changes, these now update the Contract Tab Orders panel as changes occur.
17/ Added validation to the BarSize/ChartDays fields on Tradingday Tab.
18/ Added sample csv files to the /db dir
19/ Updated column tooltips
Friday, November 23, 2012
Trade Manager 2.8 is ready to download. Lots of bug fixes and a few DB changes. New feature allows you to trade the same contract on the same day with either different bar size or strategies. Also it is now possible to define a trading day that crosses midnight. Useful for the currency/commodity traders.
Look for a new during first week of December 2012.
Look for a new during first week of December 2012.
Friday, October 5, 2012
OK complete 2.7_03. Main changes are to the way TradeOrders are saved, there are now separate saves for Trade & TradeOrder i.e. Hibernate no longer handles this.
I also installed CodePro and Eclipse Memory Analyzer for eclipse, so there are many clean-up changes to the code-base and a change to the main controller. It no longer holds onto a copy of shared data-sets across tradestrategies during back testing (note this was redundant anyway).
I also installed CodePro and Eclipse Memory Analyzer for eclipse, so there are many clean-up changes to the code-base and a change to the main controller. It no longer holds onto a copy of shared data-sets across tradestrategies during back testing (note this was redundant anyway).
Friday, September 7, 2012
Trademanager 2.7_02 now available. Major re-factor of the persist Trade and TradeOrder process. Now CRUD actions on Trade/TradeOrder are all handled via the persistTradeOrder action, TradeOrderfill are handled by the persistTradeOrderfill (note this calls persistTradeOrder). Trade (a.k.a Position) is derived from the latest state of all the open/filled TradeOrders. Trade is now not needed by any of the createOrder actions in the strategies. This simplifies the writing of strategies and wraps Trade actions in one function.
I have added addition events to the BrokerChangeEvent i.e. tradeOrderFilled, positionclosed, tradeOrderCancelled.
TradeOrder Key is now a NOT NULL field in the DB.
Next 3 weeks I will be away so don't expect any new builds!!
I have added addition events to the BrokerChangeEvent i.e. tradeOrderFilled, positionclosed, tradeOrderCancelled.
TradeOrder Key is now a NOT NULL field in the DB.
Next 3 weeks I will be away so don't expect any new builds!!
Friday, August 24, 2012
OK 2.7_01 complete and posted to google code. I've also updated the demo DB with gappers through 8/24/2012.
In this release I have focused on test cases. I fixed all failing test cases and made updates to the buildtest.xml. Now if you run the target "all" it should clean the DB and run all test cases, upon completion the DB should be empty if all tests were successful! From this point forward all new code will be accompanied by test cases goal is to get to where there is roughly 1.5 test/source code. I will be spending the next week added to the test case scenarios.
In this release I have focused on test cases. I fixed all failing test cases and made updates to the buildtest.xml. Now if you run the target "all" it should clean the DB and run all test cases, upon completion the DB should be empty if all tests were successful! From this point forward all new code will be accompanied by test cases goal is to get to where there is roughly 1.5 test/source code. I will be spending the next week added to the test case scenarios.
Subscribe to:
Posts (Atom)
