I started to port my code from E-Signal's EFS to TradeStation EL. I can't deal with E-Signal anymore. That product makes me so angry. TradeStation EL is infinitely better. Rather than develop from scratch, I think I will simply bridge TS8.1 to my trading framework. With school, work, and trading, there is just not enough time to fight with E-Signal's EFS. Their support and forums are not as good as TradeStation's support and forums either. E-Signal is only good for basic charting and good, solid quotes. It is NOT the framework on which you want to build a trading system. So far, I like TradeStation. The real benefit comes from the fact that there's so much more code out there to borrow and manipulate with EasyLanguage. Setting aside any product-specific differences, this has made a tremendous difference. So far, I'm giving TradeStation a good review. If anything changes, I'll mention it here. I have not ported all the code, so I'm in the middle of doing that.
I'm going to revive this thread. I'm still in graduate school, and I'm still trading [not as high frequency, though -- I have a long position in gold.] The perfect storm more or less has been created for me: - I have taken more statistics classes - I am now employed by a broker that gives me unrestricted access to trading APIs I happen to be enrolled in a databases class at my university and they require a project. I also happen to be in numerous statistics classes. As a result, I'm revisiting the database design in this project and incorporating a few more features. The biggest thing that has been preventing me from taking this code forward has been painful graduate classes. The fact that I'll be able to merge my interests with school successfully is just a god-send.
I wish you good luck in putting statistics to work. With your new approach, you should start a new thread. Fetcher
I think it's probably worth mentioning a few details about my code and how things work now. Statistical calculations in C/C++ take a lot of time to code and code correctly. As much as I wanted speed, I just didn't have the time or energy to one-man the effort to rewrite all of the mathematical code. So now, my system sits atop of R, from www.r-project.org. There's a DCOM bridge from C++ to R that I use. I find R's graphics utilities to be fantastic and they help me construct good visualizations of what's moving the markets. There are people who use extremely fast stuff from MATLAB, but I just haven't bit the bullet to buy MATLAB (or Mathematica). I would say it's worth people's while to go ahead and learn R or MATLAB. I wasted a lot of time trying to rewrite or port math code, and it just isn't worth it. Why wrote the code or prototype it until you've proven your concept at a high-level? So there's been some painful lessons in this process.
Seems like you're trading equities. If you want I have an open-source platform that you can extend, or customize. http://tradelink.googlecode.com I've used it to trade algorithms for about the past year, I built it based upon my experienes with eSignal/TradeStation/Ninja/WealthLab and some proprietary platforms I used at a commodity fund I worked at. It's written in c#, just bc it's faster to develop c# stuff than c++. You can hook to c++ very easily with a class I wrote- I use it to hook it to a cpp dll I wrote that loads into my brokerage client.... just uses SendMessage via the WM_COPY api in windows. It uses eSignal's EPF format for historical tick archival, just so I didn't have to invent my own backend. It's not sql but generally sql is overkill for most tick databases. It's got probably 40-50% code coverage for unit tests, I still trade with it so it's actively under development. The source is LGPL'ed. Anyways check it out if you like. There are screenshots and so forth on the site. http://tradelink.googlecode.com.
Nice work, I will definitely try this out sometime. The biggest improvement I need for my system is to somehow get SAS or R or something along those lines integrated into my code without using all kinds of hooks. Time-series analysis is becoming another serious bottleneck in my system. I haven't mastered time-series analysis, but I find that having some variant of GARCH is critical.
garch rules! easiest way to get stuff into R is just export your indicator values (or whatever you're attempting to use as a predictor) as CSV, then import into R along side of your prices (or whatever you're trying to predict). I can't remember the "exact" r syntax off the top of my head, but something like: predictor <- import("indicators.csv") prices <- import("dayclose.csv") and then run whatever garch model you've got on both time series: garch(predictor,prices) or whatever. just need to make sure you have same number of predictor "rows" as you do price rows. so if you have 2 indicators: 1. (bool) SP FUTURES are positive 2. (decimal) 3-bar MA of stock then when you output to CSV for a X-day price study, your CSVs will look like: indicators.csv: true,33.47 false,33.76 true,33.52 false,33.80 false,34.02 dayclose.csv: 33.35 33.71 33.60 33.90 34.02
Yo guys, I've started to build my automated bot as well. I am posting my regular updates here. http://www.arbitragedude.com/?cat=92 I've put code to show how to connect to IB api and run a simple buy low sell high or sell high buy low strategy. Regards, ArbDude www.arbitragedude.com