以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  跨期价差套利  (http://weistock.com/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
--  

这样单腿加仓不够的,还要考虑挂单情况。

建议客户不要先去寻思这么复杂的,您对编程这块还没有很精通。

后台控制如果代码,你要考虑未成交开或平都要统计。不光是程序,你的整个逻辑思维也要很缜密