help w/ automating the PROCESS of trading

Discussion in 'Strategy Building' started by dchang0, Feb 2, 2004.

  1. dchang0


    Hi, everybody--

    This is a frustrating situation I'm in. Many months ago I decided that my ultimate goal in trading is to design, test and implement fully-automatic, hands-off, realtime and EOD trading systems. I went through a careful evaluation of several different backtesting/autotrading platforms, settling on either Wealth-Lab or Tradestation. Eventually, I bought Wealth-Lab and began trying to implement a system that would fully automate the PROCESS of trading.

    What I mean by "process of trading" is this: I want to be able to code the decision-making process that I would normally make in-person. I do a lot of process automation in my day job whereby I write perl and Java programs that take a human process (that requires intelligent but systematic reactions to anticipated problems) and fully automate them. A good way to describe it is like this: "if this goes wrong, then try this; if that doesn't work, then try this; if that works, then proceed with these steps and this new tactic," and so on. A series of contingent decisions...

    This is exactly the sort of automation I need to fully implement my trading system. My current system cranks out a lot of stops for entries and immediately attaches profit-target and stop-loss orders that activate only if the primary order fills. Many of my orders will not succeed, either because they attempt to short unshortable stocks or because some or all of the "legs" of the orders won't succeed in getting filled. All sorts of "if...then...else" type situations, if you know what I'm talking about.

    Also, there seem to be a lot of limitations based on the arbitrary "bar" subdivision of time, not actual point-in-time decisions. For instance, I use an EOD system that prefers buying at the close of the current bar (day). It supposed to approximate buying at the "close" by buying a few minutes or seconds before the market actually closes, but doing so is not simple when the platform insists on waiting till the current bar closes. Another example of this problem is that with my EOD system, I can run the scan for order alerts at any time during the day, which can have signficantly different results from systems backtested using the OHLC price points of the bars. I need a way to specify multiple subdivisions of time simultaneously, like trading a day system by the hour, or trading a 15-min system by the second.

    The problem is, I can't seem to find a platform that approaches trading automation from a decision-making-process point of view. "Automated" trading of my systems tends to require a lot of human intervention because of all the unforeseen problems that arise (like partial fills, unfilled limit orders, etc.) I end up essentially using the "automated" trading system to filter/screen stocks and end up placing the orders by hand and with a calculator to figure out the position sizes as the orders are placed. I'm actually using more discretion now than when I used to trade completely discretionary! (Like when a paired long and short spread entry fails because the short isn't allowed--do I take just the long leg or forget the whole pair?)

    Can anyone recommend a solution to this BESIDES proprietary trading systems written from the ground up? I know I'm a programmer, but I have little desire to write a custom application to trade one particular system--that's a lot of code to have to write to reinvent the wheel. Specifically, I'm wondering if TradeStation might be able to accomplish what I want (some of the descriptions of 7.2's capabilities seem to be along the lines of what I want) or if there is some other lesser-known package that can fully automate the trading process and still allow me to spend my coding/time on just the trading process itself.

  2. You might want to look at stock watch pro. It is an excellent screening tool. I use esignal interfaced with IB for entries. With E signal you can attach an order entry window to all the charts you may be looking at and set all of them to buy a certain dollar amount of shares. Also you can set up a quote sheet column formula in stock watch pro that will show you how many shares per dollar amount. I've recently been trying Tradestation, Stockwatch pro, Q Charts and Esignal. Tradestation doesn't work for me. I think it is more suited to swing traders with fancy technical indicators. I'm strictly a stock daytrader.

    I've found that for me, no one software package can do all I need so now I use Stockwatch pro to screen for my plays, enter them into e signals charts with attached order entry and then watch my positions with qcharts with esignal as a confirming source should the qchart feed get dicey. I just like the look and feel and utility of q charts and a Q chart feed is needed for stock watch pro any how.

    Good luck trying to fully automate. Frankly I think it is impossible to do in a practical manner. But I am not I programmer and I'm only just smart enough to get myself into trouble.

    Hope this helps.
  3. dloomis514

    dloomis514 Guest

    Sounds like a similar problem several of us are attacking using eSignal and DynaOrder. eSignal's javascript language does the math and if/then stuff and dynaorder interfaces with IB (amoung others) to place and monitor the orders.

    You will end up with a lot of code and need a lot of checking of the various variables you described, but if you do this for a living, you shouldn't have too much trouble.

    If you can create a decision tree, you can program javascript to do it.
  4. hayman



    Without going into a lot of detail, check out Wealth Lab ( They have an excellent programmatic system that will allow you to automate your trading fully for multiple timeframes simultaneously.

    I strongly recommend them. Great system and awesome support. A steal for $ 650 one-time licensing fee.
  5. dchang0


    Hey, thanks for the quick responses!

    You know, it's funny that you mention Dynaorder--I had considered using DO with Amibroker and IB previously. And I've also heard excellent things about eSignal and its javascript capabilities, and StockWatch Pro also came highly recommended. I'm using Wealth-Lab Developer 3.0 right now, and perhaps with DO it will do what I need.

    Anyone successfully using Dynaorder with Wealth-Lab? Or should I switch to eSignal with DO? I must admit, eSignal's javascript is the most attractive coding environment to me among those of the major trading platforms. Based on the code alone, I originally had eSignal at the top of my list of candidates for platforms before I bought Wealth-Lab. I forget exactly why I didn't go with it...
  6. Bob111


    aaa....sounds very very familiar))))))i know exactly what you talking about. be prepare,that if you have backtested swing system with average profit of 5%(i'm talking about stocks) -you will end with 2% in average after all. with 2% in average-you will come up with zero profit. stocks not avialiable for short-will be winners,stocks,where you did not get fill-will be winners..what left? a! losers! they will be all yours along with squeze on stops..there is many solutions for it such as having 2 or more accounts with different brokers,changes in logic,when you placing order etc...
    i dont like separate,stand alone app for trading my systems either-but-as someone said here before-looks like there is no way to run from it, if you want close to perfect results.

    if you code it in WL-you should be able to place order based on time unstead of bar close price. piece of cake if you wrote your own soft)))))
    there is no easy money on market..
  7. hayman



    Just as a footnote, I believe the next Build (12) of WL due out in 2 weeks, will allow you to sell, e.g., on the same bar that you buy - somewhat giving you what U want.

    There are no freebie solutions. You are a programmer, you have a great tool for backtesting & trading (WL) - take advantage of it and your skillset. Not everyone is able to do this.

    Good luck !
  8. dchang0



    Very true--nothing comes for free or even without tons of effort...

    Thanks! Luckily, coding is second nature to me--I've been a programmer for well over 14 years now. What stands in my way are the limited APIs of many of the tools that are on the market today. (I'd heard that Wealth-Lab would be adding same-bar trading soon, and they recently added the CandidateCount Simuscript function partially because of posts I put up in their discussion group. CandidateCount doesn't quite work the way I need yet--see my related feature request, if you're interested. Their responsiveness is indeed rapid, though they can't always add the features I need soon enough.)

    So, I'm in limbo right now. But, thanks to all the responses, I get the feeling that I might be close to getting the solution I need. What's interesting to note is that I have been planning on switching to eSignal for real-time data for Wealth-Lab, and I had considered DynaOrder long time ago. So, within two months, I may have BOTH eSignal and Wealth-Lab, with the option of purchasing DynaOrder for use with either.

    Which should I use, considering that I will have both? eSignal or Wealth-Lab, optionally supported by DynaOrder? The reason that I ask is not that I want freebies, but that to investigate either direction on my own, I'll have to expend hours of study. It's far more efficient to toss out a post and see how people in the know already feel about it...

    Thanks again for all your terrific responses!
  9. dchang0


    I've been taking a closer look at eSignal... Am I missing something, or are there no functions for determining "buying power" or "remaining cash"? Seems like the only position sizing function is Strategy.getDefaultLotSize()... That'll pretty effectively rule out eSignal for me--I've got to be able to determine the remaining cash or buying power as I place and size my orders...
    #10     Feb 2, 2004