Free automated trading platform, for IB

Discussion in 'Automated Trading' started by frostengine, Aug 21, 2006.

  1. I have recently began working on a new backtesting/automated trading system for use with interactive brokers. My previous platform, I did not design flexible enough to backtest/trade some of my new ideas. So, I started programming a new platform. While adding some new features the other day I came to the conclusion that with only a few additional features I could allow non programmers to use this tool to automate their own strategies.

    The purpose of this thread is to see if anyone would even want to use this tool before I add these additional features. To reiterate, the plans would be for this tool to be FREE, much like how medved quotetracker is free, with perhaps some additional features unlocked if you donate/register.

    Why provide this tool free? There are many reasons to provide such a tool free, the most important being that by receiving feedback from other users I will get new ideas on features to add to make the platform more robust and increase all of our chances of success. The way the automated strategies will work, is it will use a "hopefully" very simple scripting language I will design. Perhaps in the future some point and click capability to create automated strategies as well.

    A small sample of features I plan to include:

    *Support only Interactive Brokers

    *FULLY automated trading, using a simple scripting language

    *Intially will only support trading for e-mini futures as that is what I trade

    *Will have charting capabilities, and a way to design using scripting language your own indicators to display on the charts

    *Will have what I call tick by tick playback.... Which means you can set which futures/equities to record every tick of for a given day and save to a file. You can then run the system back in simulation mode and see the day unfold again as if it was happening in real time. This feature is very useful when trying to develope strategies.

    *Backtesting will intially be limited to testing using the saved tick by tick replays from days you had the application running, and a few common data formats

    So if anyone would interested in using such a program, respond to this thread, and provide some feedback, both negative and positive. If there is no interest for such a program thats fine as well, just figured I would offer it to the community as it adds only little aditional work from what I plan to put into my own trading platform.
    jonahern likes this.
  2. zzzap


    Sounds interesting. I have a first suggestion for you:)
    What about adding a simple trailing stop loss/entry - buy/sell over x min bar high/low.
    I would even register if it had only this one feature :D
  3. BCE


    Thanks for the offer. I'd be interested in checking it out. :)
  4. zzzap,

    If I understand you correctly, you want to automate a strategy to buy/cover when current bar's high is greater than the high over x min bars, and sell/short when current bar's low is less than the low over x min bars? Simple activities such as this will deffinetly be possible and very easily created using the scripting language. In fact simple strategies like this one would also be doable using the point and click interface, however that interface will only be added in the future if people enjoy this tool.

    ALSO, if anyone has any ideas on HOW they woudl like to see the scripting language structured I am open for ideas. Such as things you liked about other scripting langauges out there and things you disliked....
  5. john99


    I like how QT srcipting is setup for the paintbars.
    Will it be possible to have trades automated if the 20ma crosses the 100MA, or based off of indicators. (ei:If 20ma>100ma buy next bar and stop and trail with 1.25 stop on ES)

    I'd like to try out the simulated version when you got the beta version out.
  6. John99,

    Yes, it will be possible to have trades automated based on indicators such as moving average crossovers and such.

    In the first couple of beta releases, the number of indicators will be pretty small.....However, if there is any indicator not present yet, indicators can be created using the scripting language.. i have not put too much thought into this part however, but I believe that gives the most flexibility and allows the community to become more invovled with adding indicators. The more common indicators such as, stoch, williams %R, moving averages, parabolic sar, RSI, CCI... etc... will be available in the initial betas....
  7. john99


    If you do make this software, when do you plan to release it?
    Are we talking a year or months?

    I've been using QT, and the one thing that everyone has always wanted is paintbar alerts.(ie. pop up with sound when an indicator or MA crossover occurs). Apparently this feature would really slow down the processing, more so if you had many charts running with the paintbar alerts on them(like tradeideas software). I was wondering if your software would have this feature.(alerts, popups for indicators or MA crossovers).
  8. As someone who makes 50,000 trades/year via IB...
    And is well advanced in building ATS with the IB API (VB6 with Excel front-end, it's stable and working great)...
    I'm gonna watch this thread.
    I'm on your side... so view anything I write as off-the-cuff "critical analysis".

    (1) You are going about it the right way by getting feedback early and often.

    (2) I'm not sure why "ATS" and "backtesting" are joined at the hip.
    It's highly unlikely that a non-programmer... a non-mathematician...
    Could use an off-the-shelf program to develop a sound strategy...
    And then run it at an ATS.
    This is probably a pipedream.

    (3) I would be more interested in the "scripting language"...
    Or rather an API that would give a programmer total control over a core "engine".
    Frankly... the IB API sucks.
    It's this klunky, chaotic, totally asynchronous and unstable universe...
    That one has to harness and build a robust ATS.

    (4) So you should think in terms of building:
    (a) IB ATS engine
    (b) a separate "backtesting" engine...
    Then build a shell for regular users... and an API for power users.

    (5) People that are profitable in the markets...
    have no problem paying for a something worthwhile.
    My total overhead in about $5,000/month... so what's another $20-$30 if it's a good product.

    (6) You should look to the poker world for inspiration.
    With the poker boom... countless engineering types have marketed very successful software/database products.
    It's a very exciting scene. The place to go is 2+2 Forums.

    Full stop. Best of luck.
  9. john99,

    If I decide to take this route with my trading platform, then we are looking at a couple of weeks before the first beta release. The first release would consist of, rudimentary charting capabilities, some basic back testing, ability to automate strategies, and a very scalled down scripting language.

    We would then be looking at a couple of months before the software takes on anything remotely close to what you would consider professional software. However, for many people's basic use who already have strategies and just want to automate them, the first few betas could easily suite those needs if you dont care how "pretty" everything looks.

    To answer your question about sound alerts and or popups. Yes that is a feature I could include.


    First I would like to thank you for a very well thoughtout post. I look forward to hearing more advice from you.

    Concerning point #2. The reason for ME at least why I join backtesting and an automated trading strategy together is simply because it makes it easier to know things are done "right". By that I mean, someone may have a sound strategy, however they implement that strategy wrong. By having the same platform do the backtesting as well you can "verify" that the trading strategy has been implemented correctly....

    Concerning point #3. My plans is to make the scripting engine VERY robust. I hope to give users nearly COMPLETE access/controll over all of the internal workings of the system. However, no work has begun on the scripting engine, so its hard for me to say how it will be at this point, but I feel fairly confident it will provide suffecient control even for seasoned programmers who simply want to get to work on their strategies instead of a whole trading platform.

    As this trading platform becomes more complex speed will become an issue. My origional goals is 100% geared towards trading E-Mini's only, and for that I do not feel speed will be an issue at all even as complexity grows. However, if at a later date I add the ability to trade equities, unless the user focuses on a small group of equities this system WILL NOT be suited for their needs. Primarily because to give the control/power I want to provide with this system, it is just not feasible to be able to trade a large group of stocks at the same time.

    Concerning point #4, that is similar to what I plan on doing. The first componets of this will be very raw and dirty. I will focus primarily on power users and giving lots of power to the scripting engine and what this thing is capable of, but at the same time I am hoping to design the scripting langauge in a way so that its VERY simple to use for non programmers, but contains features that normal non programmers will not use but seasoned programmers will LOVE when they find out they are there. Once this core system is built, is when I will add a "shell" for even easier usability, such as point and click abilities to generate automated scripts.....
  10. #10     Aug 21, 2006