| 以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 公式模型编写问题提交 (http://222.73.7.161/bbs/list.asp?boardid=4) ---- 跨期价差套利 (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=156866) | 
| --  作者:tianyumaomao -- 发布时间:2017/8/15 16:45:27 -- 跨期价差套利 //***************************** 账户:\'10010\'; 套利品种1:\'A10\'; 套利品种2:\'B10\'; //***************************** //获得价差方法1,品种2的买价-品种1的卖价,ss表示手数,品种2的卖量和品种1的买量 JC1:dynainfo2(28,套利品种2)-dynainfo2(34,套利品种1); JC2:dynainfo2(34,套利品种2)-dynainfo2(28,套利品种1); ss:=2; //开仓和平仓 IF JC1>=500 and tbuyholdingex(账户,套利品种1,2)<100 and tsellholdingex(账户,套利品种2,2)<100 and TISREMAINEX(1,\'\',套利品种1)=0 and TISREMAINEX(3,\'\',套利品种2)=0 THEN BEGIN TBUYSHORT(1,ss,lmt ,DYNAINFO( 28),0,账户,套利品种2 ); TBUY(1,ss,lmt ,DYNAINFO( 34),0,账户,套利品种1 ); END minn:=2; IF JC2<=400 and TISREMAINEX(1,\'\',套利品种1)=0 and TISREMAINEX(3,\'\',套利品种2)=0 THEN BEGIN TSELLSHORT(1,minn,lmt ,DYNAINFO( 34),0,账户,套利品种2 ); TSELL(1,minn,lmt ,DYNAINFO( 28),0,账户,套利品种1 ); END //单腿加仓 //追单 ph:=TSELLHOLDINGEX(账户,套利品种2,0 )- TBUYHOLDINGEX(账户,套利品种1,0 ); pz:=TBUYHOLDINGEX(账户,套利品种1,0 )-TSELLHOLDINGEX(账户,套利品种2,0 ); Pk:=TREMAINQTY( 1,账户,套利品种1); IF ph>0 AND pk>0 THEN BEGIN TBUY( ph>0 AND pk>0,ph,MKT ,0,0,账户,套利品种2 ); END IF pz>0 AND pk>0 THEN BEGIN TBUYSHORT( pz>0 AND pk>0,pz,MKT ,0,0,账户,套利品种2 ); END | 
| --  作者:yukizzc -- 发布时间:2017/8/15 16:58:25 -- 这样单腿加仓不够的,还要考虑挂单情况。 建议客户不要先去寻思这么复杂的,您对编程这块还没有很精通。 后台控制如果代码,你要考虑未成交开或平都要统计。不光是程序,你的整个逻辑思维也要很缜密 |