The big problem is, auto trading is incredibly dangerous unless you have your hardware (system, network, etc) and software (including the code that does the work) architected correctly. There is a lot more to it than just and EFS.
I've put a simple RT system using Dynaorder and it has been flawless 2 weeks despite it running unattended at night (Eurex eurostoxx). With dsl and plain vanilla xp PC running only eSignal, IB and DO.
The only problem is that all tech studies are always following thus late in their entry and exit... and then there is the issue of the OCO.
That is a bigger problem than the hardware or software stuff!
Still there are many solutions to those problems but they require lots of programming savvy which one does not possess.
Furthermore there are many strategies that are better handled automated.
Put an envelope on a 13" ES chart. Often on a sharp sell-off, one can buy and sell on a backup to the MA and inversely.
Automated trading could bid down there at the envelope level while the market is approaching then immediately offer, say every minute, down with the MA.
I've been puzzled how eSignal do not realize that automated trading is now offered to all (vs. being the domain of hedge f. and banks before). They have a seamless interface with IB.
I guess somebody somewhere realize that and will be offering such facility with a friendly interface... I'll be the first gone.
Please, just because I could build a plane out of scraps and duct tape and it took off a few times, doesn't make it a viable tool for regular use.
Take it from the expert in this field (and I'm not the only expert to say this) unmonitored auto trading is not a viable solution at this time with EFS. There is far too much to go wrong, and not enough safegards. And EFS is not the only limiting factor here...there are many that most people are even knowledgable enough to consider.
I agree with Garth completely, I have, on several occasions lost 100% of my equity in one day while paper trading an automated system. If you are really serious about developing an automated platform right now, I would recommend downloading the DynaOrder package of DLLs. You can contact DB on the DynaOrder bulletin board. edit - dynaOrder is no longer maintaining this software as of 9/2/2006 It is quite robust package and has inherant flexibility, including thorough feedback of order status, the ability to cancel orders, OCA orders (very nice, insurance against dropped connections, ISP outages etc) and many other features.
Alternatively, you can contact the developers of automated systems such as Matheny Enterprises (doji3333), and other eSignal Partners. I am familiar with Brad Matheny because I have learned much of what I know about automated trading from him, and he has always been very helpful.
I ran across another thread on automated trading today, I also put out a caution sign there. Please don't get me wrong, I am not discouraging automated trading, I very much like the concept. I respect Garth and appreciate Garth's wisdom and couln't help but support what he is saying. I also wanted you to know that there are alternatives out there. Sorry I rambled, just could't help but put my two cents worth in here and suggest worthwhile alternatives for automated trading system development.
BTW two posts went up while I was composing this... Andrei, this post is not written for you, you are quite capable and I see your point. This was meant to support what Garth was saying and provide insight to those who are contemplating or in the process of automated trading system development.
Yes, but even with those systems - what logic can you add to protect you against bogus data? Unless you have a three way confirm, you really are leaving yourself at the mercy of the data provider.
What about cases where your entry is messed up by the broker (what IB screw up...why I've only seen it happen 2 or 3 times)...what logic can you add to cover all the possible ways this can go wrong?
I can come up with at least half dozen ways that a poorly built architecture, and weakly thought out trading logic can screw you. If a human monitors it, and has a "Manual override" switch then the requirements go down. But this isn't what **MOST** people mean by autotrading. They have a vision of turning on the computer, starting the app, grabbing a beer and heading to the beach as their computer makes them their fortune. This is a dangerous attitude.
Clearly, knowing this, it would be foolish for eSignal to do ANYTHING to give trades the idea that autotrading is a good idea, without first caveating the heck out it...if I were them I would even make it part of a contract people sign to start service. Remember how many people take the sample EFS's and didn't pay attentions to the warnings in the comments...and then complained that they didn't work right...well Duhhh...they were SAMPLES. Now imagine someone doing the same things with sample autotrading code...legal problems will abound.
First off, thanks Steve for the compliments. I do my best all the time. Regarding your request for an example DLL in C++ - I'll do my best. The last project I worked on in C++ was the trading connection to www.sungard.com. It is working fine now (after finding and fixing a few major bugs). Of course, I can't release this as "open source" because I have plans for it.
Regarding automated trading... I have a number of clients that are trading completely automated now. Most of the time, the development of their systems takes many many weeks. Don't get me wrong, not all systems will take this long, I just believe in "TEST TEST TEST TEST TEST TEST.... - before going live".
There are some things to be cautious of in automated trading...
huge losses
over trading
system bugs (you don't want to leave 10 contracts open because your system crashed).
proper filters.
system architecture (mentioned herein).
days to trade
and a few others..
although, when you have developed something that works well and is completely automated - it can be a beautiful thing.
I've developed a stock trading system for a hedge fund and we just added a trend filter. It was doing well before the trend filter, but the accuracy is increased even more. Last Friday, it hit 6 winners and 1 looser in the last 3 hours of trading (on one stock).
If I were to offer any advice on creating an automated trading system - this would be the blueprint...
1. Identify your "Entry Strategies" - and review them for faults.
2. identify your stop system(s) - sometimes a wider stop helps at first and a second stage stop (to lock in a profit/loss) is best.
3. Identify your risk/reward strategies...
This requires you to really think about how your system works and how you want it to operate. You might try for 1 or 2 big moves or try for many little moves - up to you.
4. VERY IMPORTANT - find the faults of your system and attempt to remove them. Remember, when you do this, you might be altering the benefits of your system too. (hint, we added the trend filter as an improvement to our system).
5. Test Test Test Test Test Test Test Test!!!
6. Go live with a small number of shares/contracts.
7. if it fails, goto #1. If you have success, then goto #1 and increase the shares/contracts a bit.
(the neverending loop).
BTW, Dynaorder is great!! I use it and others (like NinjaTrader and my little utility - "MENT TS").
Comment