各位好! 我正在做一套自动交易软件。 目标是做股指期货的跨期套利。 系统分3部分:1)行情信息; 2)交易决策; 3)下单。 目前前两部分都实现了(因为用简单的算法)。 下单是基于金仕达的网关协议(17990/17992端口)开发的。 我很想向各位请教这方面的问题。 第一个问题就是,谁有金仕达的服务器,给我个模拟帐户,能让我做做测试。 谢谢
CTP接口今天第一次听说。 先做好金仕达的接口,然后再去做CTP的接口。 >>金仕达的网关协议(17990/17992端口)是什么网关? >>照道理,网关协议一般不能从公网接入.假如可以从公网接入 这个网关是期货公司从金仕达购买的,在自己的服务器上安装,提供给最终客户下单用的。 只要期货公司开放这个接口,就可以访问了。
用金字塔的VBA脚本很容易就能写一个套利算法 VBA套利模型范例 Post By:2010-7-14 15:02:03 首先我们建立一个TLStart的宏,然后再响应品种报表数据变化事件,代码如下: Sub TLStart() '注册CF09和CF11品种 call marketdata.RegReportNotify("CF09","ZQ") call marketdata.RegReportNotify("CF11","ZQ") End Sub '响应注册的品种行情变化通知 Sub MARKETDATA_ReportNotify(ReportData) '得到这两个品种的行情报价 Set Report1 = marketdata.GetReportData("CF09","ZQ") Set Report2 = marketdata.GetReportData("CF11","ZQ") '得到品种的持仓量等信息 dim BuyHoding1 dim BuyHlding2 dim BuyTodayHoding1 dim BuyTodayHoding2 dim SellHoding1 dim SellHoding2 dim SellTodayHoding1 dim SellTodayHoding2 dim BuyCost dim SellCost dim PNL Dim UseMargin '取指定持仓品种信息 call Order.HoldingInfoByCode2("CF09","ZQ",BuyHoding1,BuyCost,BuyTodayHoding1,SellHoding1,SellCost,SellTodayHoding1,PNL,UseMargin) call Order.HoldingInfoByCode2("CF11","ZQ",BuyHoding2,BuyCost,BuyTodayHoding2,SellHoding2,SellCost,SellTodayHoding2,PNL,UseMargin) '当差价出现大于1800时进行套利开仓 '假设是09买 11卖 Diff = Report1.SellPrice1 - Report2.BuyPrice1 '分别取卖价和买价计算差价 if Diff > 1800 and BuyHoding1 = 0 then call Order.Buy(0,1,Report1.SellPrice1,0,"CF09","ZQ","",0) call Order.BuyShort(0,1,Report2.BuyPrice1,0,"CF11","ZQ","",0) end if '当差价小于1000时进行套利平仓 Diff = Report1.BuyPrice1 - Report2.SellPrice1 if diff < 1000 and BuyHoding1 > 0 then call Order.Sell(0,1,Report1.BuyPrice1,0,"CF09","ZQ","",0) call Order.Sellshort(0,1,Report2.SellPrice1,0,"CF11","ZQ","",0) end if End Sub 代码编写完毕后Alt+F8,然后选择我们刚才建立的TLStart宏名即可