^_^ 我小菜鸟,懂一点点计算机,自动交易没做过,关于思路,讲一点点粗浅的理解,不对之处请多包涵,如有冒犯,请见谅。 1) excel可以说是一个计算平台,可以将excel看做是一台专用的电脑。vba是可以操作excel的编程语言。既然是电脑,那么就有很多部件组成,就类似一个政府,有很多部门组成。这样比喻吧,你是黑社会老大,excel就是你的组织,有一大帮马仔,你可以通过vba发号施令,指挥他们干这干那。也就是说,你要懂一点excel的VBA。这个可以买本excel的书来看。 我以前有一个简单的模型,做成一个软件,后来还是用excel做了一个,因为excel很省事,很多工具已经有了,不用重新发明轮子。 2)你可以用excel组成交易系统的一部分,作些模型的计算。如果你要全自动交易的话,那么首先要解决2个问题, 行情报价怎么告诉excel,excel下单了怎么告诉交易所,这一般是通过软件接口,而这些软件接口还要能和excel互联。跟不同的厂商打交道,就需要不同的接口。就类似你打电话给不同的人,首先你要有他们的电话号码,而且能打通,然后才能通话交流。 剩下的其他事情,请参考楼上提供的espresso前辈的帖子
我现在用Excel交易股指。 在Excel中调用CTP API的Com封装(见http://www.winnerfutures.com.cn/wnrMain.pf) ,行情写入数据库,部分交易规则也在数据库里计算,
用excel下单,不管是手动还是自动,都非常快速和简洁。其原理基本是这样,每一行看作一个订单,行上面每个单元格是订单的一个属性,比如 EURUSD | 40000 | BUY | LMT | 1.3500 然后在VBA里面去读这些订单属性,再使用交易商接口发送订单即可,收到订单状态更新之后,写回到某个单元格即可。is it that easy? 按照这个原理,就可以一次下很多单,同时修改很多单的价位,或者撤销一些单。metaquotes提供的那个excel例子其实不太好,只是示范了dde数据源的用法,这完全不是excel的长项。 上面那一行买eurusd的例子看着非常简单,但是每个单元格都可以有很多变化,除了手工修改,也可以用公式,用vba等动态的修改这些值,自动化从这个方向走就有很多强大的工具可以使用。