有人认为Amibroker不适合做自动交易 (转贴)

Discussion in 'AmiBroker' started by jiandte, Apr 29, 2008.

  1. 转贴自 http://www.elitetrader.com/vb/showthread.php?threadid=125961


    vdareminator Registered: May 2007 Posts: 3 04-29-08 11:05 AM


    --------------------------------------------------------------------------------
    Quote from mangudai:

    I just read on the Amibroker website that they have an automated trading interface. Is there any reason your not using that(Amibroker) instead of OpenQuant? --------------------------------------------------------------------------------


    I do still use the AmiBroker auto trader interface for a weekly strategy, where I generate trade signals and submit orders for 10 symbols once per week. It saves me from typing 30 orders (10 entry + 20 bracket order prices).

    However, while I ran a 1-minute live system with AmiBroker for about a month last summer, I had to terminate it as I couldn't build a robust stateful (code that remembers what it did, what is next, etc) auto-trading system with the AmiBroker interface.
    Here were my issues:
    - The AmiBroker auto trader interface works in fire-and-forget mode. You don't receive events when an order executes, is rejected/cancelled, connection is dropped, etc. You need to periodically poll the interface for status.

    - You set your AmiBroker code to execute every n seconds. It runs from scratch each time it executes -- you need to rely on static variables to keep your state (entry price, target price, etc).

    - When I set the code to execute more than once every 15 seconds, the results from polling occasionally returned false information (it would return "null" for order status when an order was in fact still working).

    - When I wanted to trade more than one instrument (say both GBP and EUR futures), polling order info on both of them consecutively would always return erronous information on the second one polled.

    At the end I couldn't make even a single strategy-single instrument work reliably enough with the AmiBroker auto trader interface. Multiple strategies, multiple instruments, in 1-minute bars (which can't be considered fast for autotrading) was just not gonna happen.

    OpenQuant runs in an event driven way: a bar / quote / trade is received, which triggers my event handlers. An order is filled / partially filled / rejected / etc, which again triggers the event handlers. The logic becomes very simple to implement and a robust end-to-end system can be built.




    04-29-08 07:29 AM

    I find OpenQuant to be an excellent Automated Trading System (ATS) development and execution platform. Very clean, comprehensive, and well thought out class and event architecture. The online help file is somewhat weak; however there is a good Getting Started guide and lots of sample code to get you going. Reasonable support forum assistance.

    However, OpenQuant does not lend itself well to rapid interactive exploration and experimentation. For that I use Amibroker. I use Amibroker as my discovery tool, kind of like Excel, to test tens of ideas, and to run thousands of backtests (AmiBroker backtest is roughly 150 times faster than OpenQuant, and 1 to 2 orders of magnitude faster than any other tool I have tested). Good documentation, large user base, and fanatical customer loyalty (== good support forum assistance).

    After I create and refine a trading strategy with AmiBroker, I use OpenQuant as my development platform, for easily and rapidly developing and deploying robust unattended automated trading code.

    After many years of trying out almost every platform and tool out there, and writing my own custom Automated Trading Systems applications (first in C++, then C#), I settled on this combination. It works well for me. My copy of OpenQuant currently trades 11 automated & unattended (except for a morning restart) strategies in live mode with real money. So far I am generating a decent return (which makes me happy).

    I am posting this message as an extremely satisfied customer of both OpenQuant and Amibroker. I have no relationship with either company (other than having paid for their software). I hope this might save people who are building Automated Trading Systems some time in their search for software tools.