Some ideas about automated trading solutions

Discussion in 'Automated Trading' started by Eddy, Jun 25, 2003.

  1. Eddy

    Eddy

    Hi,

    I have just completed a presentation of the automated trading solutions offered by the integration of IB, NinjaTrader and Investor/RT. This document is now available at : http://www.linnsoft.com/autotrading/ or http://www.ninjatrader.com/irt.htm

    The solutions presented here are the result of few months of close cooperation with both IRT and NinjaTrader developers. The main idea was to create, on both side, new features dedicated to automated trading, so that one could very easily build a fully operational automated trading system <B> without any complex programming step </B>.

    Indeed, using the Linnsoft charting package, you may now directly attach to your IRT chart some signal marker which will trigger automatically trade orders into TWS (going thru Ninjatrader)

    This 25 pages tutorial offers successively :
    => a presentation of the automated trading solutions which can achieved by combining both programs (and what are today current limitations in this domain)
    => an explanation of the Ninjatrader features in this area
    => and finally a detailed review of the new IRT features (signal action / text file generation.. ) which were especially developed for managing the generation of trade orders to NT/IB

    In Part III, the automation of some basic trading systems (ADX "pop-up" strategy / donchian channel break) are illustrated step by step with many screen shoots. "Semi automated" trading solutions (ie using discretionary entry and automated exit or the opposite) are as well discussed.

    All comments/reactions/suggestions on this paper will be appreciated


    Happy (automated) trading

    Eddy
     
  2. Now, how much do you pay for IRT (I mean all the fees you need to pay to trade Eminis). I am asking this because I am considering TS to trade my systems, but perhaps IRT would be less expensive. At least, it would not hurt to know alternatives.

    BTW, the trades are executed by IB, right?

    Thanks,
    Wally
     
  3. Eddy

    Eddy

    Thanks Wally,
    this make me think I didn't indicate any cost information in my presentation, I might add it in the next update.
    For the IRT cost, you need to add the software lease and the datafeed subscription cost (as IRT might work with several dataservices)
    => IRT annual lease is at 595$.
    => MyTrack would be around 20-30$/mo / DTN at 45 / ESignal basic 50$/mo : this is what I have in mind (when annually prepaid) : you better check the web for the latest figures.
    In all cases, the CME eminis fee applies on top (15$/mo)
    All automatic trade orders initiated by IRT and managed by NinjaTrader are executed through IB.

    Eddy


    PS :
    an automated trading sub-section would be indeed a good idea. Unfortunately, I think there are still today very few "automated traders" around. Not sure if this was linked to the fact that software technology was not advanced yet or just because there were not enough good trading strategies around to automate...
    Anyhow, I hope the number of automate traders will increase with such IB/NT/IRT integration.
     
  4. Thanks Eddy,

    MyTrack is more likely in the $40 territory (for SierraChart and Amibroker for sure) at least when paid monthly and if they have no annual discount you end up paying for IRT with data feeds basically as much as you would pay for using TS 7 which is $99 a month (plus CME data fees of $15). The only advantage you have is saving some on lower IB commissions ($2.40 vs $2.80) which may matter over a longer period of time.
     
  5. Wally,

    I use Tradestation 2000i with eSignal as a feed and Dynaorder for execution. It is very easy with DoMarketExecutor which checks the position and number of contracts in TS and execute market orders accordingly (same way TradeBolt use but in a ELA script so you can customize it better I think)

    I did use the text mode using by NT, when it was in Bracket Trader 1 year ago and it is not enough as this way of working doesn't communicate with the trading system. It is 1 way communication vs 2 ways communication in Dynaorder.

    Dynaorder also has an integrated web server so I can check my orders from an internet cafe. Also if I send a specific mail to my PC it can take new position or close everything...Dynaorder can read the mail and interpret it, in addition to the existing DLL functions...

    I don't think anything else (including TradeBolt) can do this...It is pretty nice!
     
  6. MyTrack will be around $50 with the Silver Plan RT and the SDK.
     
  7. Eddy

    Eddy

    George, for information, with the current Ninjatrader automated trading features, you may have a "2 way communication" with the charting package. Indeed, as soon as an order is filled by TWS, NinjaTrader will automatically create two text files (automatedentryupdate.txt and automatedexitupdate.txt) which include the same information than the one which is displayed in the IB execution reports.

    So the same way Ninjatrader is reading the text files produced by the charting package in order to generate orders, the charting package might get information about the current trade position (and the latest IB operation) and include this parameter in its trading system management rules.

    Of course, this is only possible if the charting package managing your trading system has the ability to read such custom text files.
    As I mention in my NT/IRT presentation, this is not currently possible with the current Investor/RT version (but such a new feature should be available within few IRT releases).
    On the other side, I think that some other packages (like Neoticker) already have the ability to detect and read custom text file and use the information included there in their trading system rules .

    Anyhow, using text file for communication will not be as efficient (especially in term of speed) than an integrated communication system, as you will get some "delay" linked to the text file scanning frequency (ie about 50-100 ms), but it has already the merit to exist and provide a simple way of communicating in both directions between the trading system and the execution platform...


    Eddy
     
  8. Eddy,

    I don't see any advantage in using a text file vs a DLL. Simplicity? Did you try Dynaorder DoMarketExecutor? You just add this to your Tradestation workspace and this indicator sends the orders immediately to reflect any position change.

    I think developping a program that will follow a script language, and all the maintenance needed for reading/writing text file is more complex. Indeed that is how I started by myself 1 year ago using Bracket Trader 3rd party entry, and the other tools that were available at this time and finally disappeared quite quickly (AutoQtion for example).

    Why don't you export your methods in a DLL? Wouldn't be better this way? I/RT, Ensign, eSignal and others will just include the DLL and use the functions you export...

    G.
     
  9. Eddy

    Eddy

    George,

    Indeed, I think that, programming wise, a DLL should be much more efficient than using text files.
    The only point is that I do not know anything about programming and about creating some dll components. And I just even don’t want to learn it because I just hate spending time tweaking some lines of code.

    That’s the main reason I ended up using Investor/RT after “unsuccessful” experiences with TS or Ensign (i mean these trials were inefficient because i ended up spending more time working on code programming than analyzing the backtesting results of newly developed system). For sure, both software have great features, and Easy language or ESPL have, by conception, much more potential than the RTL language of IRT, but the IRT approach is just more in line with my mind : using 80% of the potential of IRT, I succeed to backtest / follow-up and today automate much more complex systems than what I was ever able to achieve with TS or Ensign (and much more quicker). For example, I rely a lot in my trading style on patterns recognition (the trade set-up) and on signals synchronization (the trade trigger) : thanks to its Signal Statistics (SSTAT) and mixed periodicity/data (MPD) tokens, IRT is able to handle very easily such signals based on multiple timeframes and/or symbols and which should only trigger after the detection of a given trade set-up. If a trader want to represent such entry rules in a trading system using Easy language, ESPL or even EFS scripts, he will need for sure more serious programming skills…

    Same kind of reasoning applies to text file communication. For IRT to generate a text file, you just need to :
    1) attach to a signal marker a “signal action” and type in the text box the adequate series of strings (in line with the format of your 3rd party IB add-on) like ES BUY %V#1
    2) and you need to create in another box a statement like SET(V#1, formula) with your formula involving whatever TA indicators or other trading system V# parameters.
    Whenever your trading system rule is activated on a chart, the V#1 value is updated according to your formula and the corresponding text file generated ES BUY 980.25. Quite simple and flexible approach…

    As long as I succeed to implement my style of automation level / trading systems with the NT/IRT combination, I will stick with it. The IRT language might look very simplistic from first sight, but I am now able to automate with NT some complex system rules (ie based on multiple timeframes/symbols), and without any external SDK, dll or single line of codes. On the other side, if some programmers create some nice piece of dll in line with my needs, I will use it for sure.

    I am not familiar with Dynaorder DoMarket executor and it looks like a powerful add-on for people managing their trading system from TS. Do you have any url with more information on its feature ? Always interesting to know what more integrated system succeed to achieve.

    Eddy
     
  10. You use this indicator with your existing strategies, protected or not, and it will replicate Tradestation position on IB using market orders (if TS say your LMT order is touched, then DO will send a market order so you don't pay EUREX cancellation fees, each time TS modifies a order) :

    http://www.dynaorder.com/tsExamples/doMarketExecutor.asp
     
    #10     Jun 27, 2003