AmiBroker与其他软件的大概比较

Discussion in 'AmiBroker' started by espresso, Apr 9, 2009.

  1. 这个论坛不错,前不久在这里注册了一个帐号,一直潜水。
    我用MT4有3年了,MT4很好,但数据源上的限制较多。所以考虑换一个更通用的平台。现在选择了AmiBroker。其他平台我没有用过,都是看其他人的评论和使用意见的。

    今天把我对amibroker与其他软件的分析和比较贴出来,高手不要拍砖,请指出不对的地方,大家共同进步。

    -----------------------------------------------
    Amibroker,我最近几天做了很多研究,大致比较了tradestation, metastock, ninjatrader, TradersStudio, MultiCharts, wealth-lab, RightEdge, openquant等几种在elitetrader.com上面被提到最多的平台。而且AmiBroker完全满足我的交易策略和历史测试的基本要求

    Tradestation和Metastock都有大量的现成代码,使用人较多(其中有很多资历很老或者是职业trader),其编程语言相对简单,强项在于开发各种指标很方便,但做Backtesting的功能就比其他弱一些。

    其他几种平台都有相对较强的Backtesting功能,各有所长。
    • OpenQuant, Wealth-Lab 5, NinjaTrader, RightEdge都基于.NET, 使用C#语言
    • Wealth-Lab 4采用类Pascal语言
    • MultiCharts采用和Traderstation的EZ Language相兼容的Power Language
    • TradersStudio使用类Basic语言
    • Amibroker和MetaStock比较相似,采用基于数列的formula language,我个人觉得Amibroker的语言介于C和Basic之间,和MT4相似的地方也很多

    相对于这些平台AmiBroker有如下这些我比较青睐的优势:
    运行速度快。我多次看到的一些用户说AB是他们使用的软件中速度最快的,尤其是做Backtesting时的性能,是所有软件中最快的。我在VM中装了NinjaTrader和AB,其中NT装入的速度明显慢很多,而且已经有几次中途没有响应的情况。AB的装入速度非常快。
    数据源极其灵活。这也是我非常喜欢的,目前我已经实验了用FXCM, QuoteTracker, IB作为数据源,效果都不错。使用AmiQuote下载EOD也非常方便。曾经一度犹豫是否要使用NinjaTrader,但是看到NT的数据源太不灵活了。至少是没有像AmiQuote这样方便的数据。不能使用DDE数据源,所以FXCM或者其他的数据源也就不太可能。
    作为快速开发和测试环境。我看到一些老手说他们用AB快速地实验很多策略,由于AFL基于数列,所以操作起来比基于.NET的那些语言方便快捷很多。我也看到一些代码的比较,NinjaTrader和Amibroker相比就复杂很多。看到一个老Trader抱怨说NanjaTrader基于C#的语言对于非程序员来说实在是太难。注:AmiBroker好像是在EOD测试上比较强,不太清楚使用日内数据做测试的情况。更新:V5.2甚至可以在Tick上做backtesting和scanning。
    集成接口很方便。今后如果要使用AB生成交易单的话,可以有很多种方法。是否能发邮件倒是没有注意。
     
  2. 这里另外的一些分析。
    注:没有要说其他软件不好的意思,这是根据我自己的实际情况做的分析,也许不符合其他人的要求。所以仅供大家参考。

    对于分析和测试平台的一些考虑
    在网上看了一些其他工具的评估:
    NinjaTrader (NT) 从其运营的模式看还是和交易商的联系比较密切,数据源不开放是很大的缺点。有人评论说NT的方向是做交易平台,而在开发和测试方面,基于.Net的NT5太耗费资源了。这也是我使用NT5的感觉,每次装入都很慢。NinjaTrader不用考虑。
    Wealth-Lab和RightEdge都是基于.Net和C#的,但Wealth-Lab主要是做测试和实验用,并不是一个完整的交易平台,数据源, Brokerage,自动交易接口都不是built-in的。而且最近Wealth-Lab的美国部分市场被Fidelity收购。WL4和WL5的差别也较大。从这个角度来说,Wealth-Lab是不用考虑的。
    RightEdge根据评价说是还没有OpenQuant那么全面,所以也暂不考虑。
    OpenQuant是QuantHouse(针对机构) Quant Developer的一个零售版(原来是SmartQuant Technology 被Quant House收购了)。也是基于.NET和C#的,我看了一下其文档,发现结构组织很好。而且OpenQuant提供头寸,资金控制等方面的功能,并且有Brokage的接口,可以做自动交易。我看到一个使用Amibroker的Trader说他用Amibroker做快速开发和测试,然后在OpenQuant上面做更细致的分析,部署及交易。看到一些 代码,个人感觉代码工作量还是很大的。另附一个人的评论(Pasted from <http://www.hylt.net/vb/showthread.php?t=3797> ):
    感觉不好使啊。从MetaProject工程建立Strategy似乎太累赘。一套Strategy分成market、entry、exit、money、risk等部分,有点像原版海龟介绍的
    “market:买卖什么?entry:何时介入?”标准格式。每部分写成一个类似.NET里组件,然后再合成一套Strategy。这有点像TS5.0的形式,不过看上去用纯OOP写Strategy非常地复杂、烦琐、无关的代码特别多。
    总结:此款软件面向的对像是程序员或者是程序设计爱好者,特别是.NET的程序员。
    目前还不确定今后是否要评估和考虑OpenQuant。
     
  3. 真高手!!!以后望多指教!
    QQ:9550-1883,AB确实给我一种简洁快速的感觉,对非职业程序员的交易者来说,应该是最好的工具之一!
     
  4. 我觉得AmiBroker对编程的要求还是比tradestation和metastock要高一些,毕竟功能强了不少。不过相比那些基于.NET, c#的平台来说是简洁太多了。比MT4也简洁很多。我原来用MT4就开发了一套框架,但是实验不同的策略时还是不够快捷。
     
  5. 是的,肯定。MT4有数组,AB没有数组,直接基于数列的,用国内股票软件写一个macd指标,3行就够了,MT4起码30行。AB还是不错。。。
     
  6. 我用amibroker 多年,千言万语汇成下面一句:

    如果能编程的话,就用amibroker吧, impossible is nothing。
     
  7. 我来说一下AmiBroker、QD以及OQ这三个软件使用感受:

    AmiBroker,这个软件数据处理非常快,数据接口齐全,用的人也比较多。个人觉得唯一的缺点,是在全自动交易部分。如果通过IBC与IB互连,进行下单的控制那代码量就比较大。并且比较困难,非要下点苦功。

    QD:面向是骨灰玩家级用户。有两种用法:一种直接在QD的界面下面写交易系统,另一种是利用QD的API自己开发属于自己的交易软件。即便是不用QD的人也可以安装下QD,看下QD的帮助文档,对于开发交易系统都大有帮助。缺点在于,QD的没有后续的服务(假如你用D版,一般个人都用不起正版。),当Broker的API更改,需要修改相关程序的时候就比较麻烦了。QD能够支持IB的顾问账户,但目前还有些问题。

    OQ:对于IB单独账户跑已经成形的交易系统,是再好不过的了。得益于利用事件的处理机制。和QD相比,OQ没有QD灵活,QD功能更强大。

    Joesan说过,认定一个软件学下去,必有所成。讲得再好也不过了。
     
  8. WSC

    WSC

    楼主带出这主题太好了,顶。
     
  9. 用过WL4,感觉测试比较慢。AmiBroker原来想学,但听论坛的哪位大佬说系统测试部分似乎有个比较致命的缺陷,不知道是真是假?如果是真的现在解决没有?了解的大侠说说
     
  10. joesan这么说的话,我就更放心了,哈哈~~
    我在ET上看过你的发言。
     
  11. 这个好像就是joesan发现的(?),记得早几个release就解决了。
    这两天开始用AB的backtest功能了,发现功能果然是强大,而且很灵活,
    尤其是对其使用数组操作的思路了解之后,就觉得很顺畅了。
     
  12. 向大家学习,外软一直不是我的强项.
     
  13. I know that AB can autotrade with IB, same as MultiCharts. MultiCharts use EL as TS does.

    Anyone can comment on AmiBroker vs. MultiCharts in terms of its autotrading with IB?

    Also, is it difficult to learn AFL if one (like me) who has knowledge on coding with TS's EL?

    Thank...
    Sa
     
  14. Any comment on TS EL coding (or Multicharts' Power language) vs. AB's AFL?

    Sa
     
  15. My 2 RMB: I do not use tradestation and have little knowledge of EL . I started from zero and build from scratch the autotrading framework with Amibroker in 2 months. My impression is that if you have some coding experience, you will find it even easier to switch to Amibroker. Auto-trade framework is not very difficult, much more work needs to be done to find a consistent strategy.
     
  16. 自己来更新一下:
    我从09年4月1日左右开始使用AmiBroker,到目前为止差不多2个星期。大部分时间都花在了custom backtester上面,现在已经可以灵活地使用low-level控制头寸的进出了。总得感觉是,AB用来做实验的确是非常有效率。我原来用Metatrader 4的时候,甚至要自己开发一个框架来处理 signal -> trade -> position 这个过程。在AB里面一切都有了。原来用MT4开发一个新的策略至少要1,2天,现在可能只要1,2个小时。

    另外,我非常同意joesan的观点,一个好的交易系统(或策略)才是最重要的。而从这一点来看,AB强大的backtest功能正是最有用处的。
     
  17. It sounds like that AB is a very efficient and good software, I may need to have a look on it when I have time after fixing some trading ideas with MultiCharts first..... may need to seek advices from experts here

    thanks in advance!

    Sa
     
  18. 好是好,但AmiBroker在导入ASCII数据时,不能导入自定义字段。当然是在日期、时间、Tick、开、高、低、收、Volume、OpenInterest之外的字段。

    而WLD很方便导入。
     


  19. 可能因为别的字段代表的东西,已经对交易意义不大了吧。