The GooBot: Diary A DIY Trading Platform

Discussion in 'Journals' started by TheGoonior, Feb 19, 2010.

  1. Hi Phil, thanks for stopping by. I'm not too familar with Delphi, as all my experience is in either C, C++, or C# (no D's allowed. :) ).
    As far as look and feel go, I'm kind of modeling my GUI after TOS (but less cluttered) for the interface and I really like the look and feel of the online website Freestockcharts (charts are a nice and clean Silverlight app). I also like the feel of how Ninjatrader does their trading from the charts, so I'll probably try and steal from that one as well! :)
     
    #11     Feb 22, 2010
  2. TOOL UPDATE
    I found a couple of nifty new tools to help with my development process.

    Mantis
    Originally I was looking for a bug tracker but they were either way over kill for what I need (Bugzilla) or were proprietary. However, then I stumbled upon a nice little web-based bug tracker called "Mantis" which was just what I needed. It uses the big 3 of open source, web-based stuff (Apache, MySQL, PHP), which can be a pain to install, but I also found a sweet site that installs the entire stack in one fell swoop (BitNami). Best of all, my sum total is $0. Open source rules.

    Rhapsody Modeler
    Our software guys use Rhapsody at work and it's a really nifty program...with a nice price tag of about $10k per seat. However, that's only if you want to actually have it generate code. If you just need to make some nice pretty pictures to diagram your program flow then you can run the modeler for zippo. It's a great way to go about visualizing a complex set of tasks so you don't get lost in the forest because of all the trees. Hopefully this will allow me to do a bit more upfront design instead of just "loading and coding" like I usually do.
     
    #12     Feb 22, 2010
  3. UPDATE
    Been a little while since I've posted and I've been busy but haven't been able to code as much as I'd like (also, I'm in learning mode on the Windows Presentation Foundation so that slows me down as well). Anyway, what I thought I would try to do is post my projects at various stages of the development, with the goal of having something useful and informative at each stage. This way someone who's new can sift through the project in steps and someone who wants to use the code for something else isn't forced to spend 3 months figuring out how to remove all the extra crap they don't need (assuming anyone actually downloads the stuff, of course. :) ).
    Right now I'm working on the broker interface with IB which is not difficult in itself, but I'd like to make a format that could be easily modified to work with another broker API without having to recode the entire program.
    First code demo will be a fairly simple program showing how to connect to the broker, grab real-time market data, and place some simple orders. It'll be more usable than the IB demo program, so hopefully I'll have something posted in the next couple of weeks.
     
    #13     Mar 16, 2010
  4. gov

    gov

    Am very much looking forward to it. Working on something similar... And thanks for the thread!

    I'm anxious to see whether I am ahead or behind.... :)
     
    #14     Mar 16, 2010
  5. byteme

    byteme

    If you're not married to Subversion, suggest you have a look at Git which is a distributed version control system with some advantages over Subversion.

    If using Git, you can host a public repository for free up at GitHub.

    For bug tracking, if it is an open-source project, there is the good old Jira or I recommend Lighthouse - both of which should be free for your project. Lighthouse has a great API that can integrate easily with Git/GitHub or whatever else you can think of.

    If you're sticking with Subversion then a SVN/Bug Tracking/Wiki combo you might like to look at is Trac or of course there is always Google Code

    Good luck.
     
    #15     Mar 16, 2010
  6. Thanks Byte, I'll have to take a look at Git. Sounds like a good way to share a repo. I was going to use Sourceforge, but haven't gotten around to the specifics yet. We use Subversion and Jira at work, and I was using Subversion at home prior to this project. I was going to use the base version of Jira ($10 donation), but I stumbled across Mantis and it seemed to fit the bill with its simplicity. If that doesn't work out, I'll switch over to Jira as it is a pretty nice program as well.
     
    #16     Mar 16, 2010
  7. UPDATE
    Still plugging away on the code. As mentioned before, I have a full-time job (non-trading) as well as a life and hobbies other than programming, so I only get to code for 5-10 hours a week.
    Anyway, right now, I've got a small user interface running which allows the user to submit orders to TWS and get feedback, etc.
    I'll probably add a few more items to make it a bit more user friendly and then throw this code up for anybody who wants to check it out.
    I've been doing a lot of learning on the Windows Presentation Foundation, so that's been consuming quite a bit of my coding time. The nice thing is that I don't need to get bogged down in the GUI at this time and once I get stuff how I want it, I can easily go back and make things nice and slick without having to re-write code.
    I'll try and post a little screen shot tonight just to give an idea of what I've got going.
     
    #17     May 10, 2010
  8. I started dabbling in programming during the heyday of the internet start-up craze in the late 90's. Never got anything worthwhile off the ground and it became more of a hobby that I buy books for every year to gather dust on my bookshelf. Had a little pipe dream of learning programming and getting myself a job in the industry. Never happened. .. It was fun learning, anyway.


    Looking forward to the updates. Seems to be a really fun project.
     
    #18     May 15, 2010
  9. UPDATE:
    Right now I'm doing a lot of the groundwork (read "grunt" work) for the platform, but it's gotta be done eventually, so I might as well do it right at the start.

    Before I go diving in to the fun stuff (charting, etc), I wanted to get the order system in place. This involves a MySQL database which is used to track executed orders/trades, etc. I want this to be a bit more useful for record keeping so in addition to actual orders placed and individual executions, I keep track of actual trades. This is done fairly simply by considering a "trade" as anything that occurs between the time a position is open, and it either flattens or reverses:

    Example: ES Futures (2 lot position).

    BUY 1 @ 1000
    BUY 1 @ 1005
    SELL 1 @ 1010
    SELL 1 @ 1015

    In addition to orders placed and executions Logged, I also want to see:
    TRADE #1, Qty = 2, Time In, Time Out, AvgIn=1002.5, AvgOut=1012.5, P/L = +10 ($500), Commissions = $5, etc, etc.
     
    #19     Jun 7, 2010
  10. I've decided to try and be a bit more detailed in my postings, so I started a Google Blog to track my progress. It will be easier to look back on my progress and also sift through my postings.

    There's not much on the blog at the moment, but if you want the link to it to follow development, PM and I'll send it to you.

    The blog is primarily to help me organize things with issues I encounter, but if there's outside interest, maybe I'll be a bit more diligent in my postings.
     
    #20     Jun 11, 2010