欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件交易策略发布专区 → [原创CU09-CU08]经典跨期套利后台程序模拟测试中

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有6242人关注过本帖树形打印复制链接

主题:[原创CU09-CU08]经典跨期套利后台程序模拟测试中

帅哥哟,离线,有人找我吗?
量化资产
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:16 积分:0 威望:0 精华:0 注册:2018/5/6 14:33:55
[原创CU09-CU08]经典跨期套利后台程序模拟测试中  发帖心情 Post By:2018/5/6 15:31:12 [只看该作者]

m
图片点击可在新窗口打开查看此主题相关图片如下:微信图片_20180506152658.png
图片点击可在新窗口打开查看
yaccount:='623450';stklabel1:='CU09';stklabel2:='CU08';MINDIFF1:=10;差值:=C;
input:K(4,0,5,1);input:P(4,0,5,1);input:差值10(190,160,220,10);
MA差值10:intpart(ma( 差值,10 )/MINDIFF1)*MINDIFF1,COLORYELLOW;//图表显示
PD:=差值10+P*MINDIFF1;KK:=差值10+K*MINDIFF1;KD:=差值10-K*MINDIFF1;PK:=差值10-P*MINDIFF1;
8卖1:=DYNAINFO2(34,stklabel2);8买1:=DYNAINFO2(28,stklabel2);
9卖1:=DYNAINFO2(34,stklabel1);9买1:=DYNAINFO2(28,stklabel1);
多头差值:=9卖1-8买1,NODRAW;空头差值:=9买1-8卖1,NODRAW;
//信号、挂单、成交一、成交二、持仓、平仓一、平仓二。
8多持:=TAVGENTERPRICEEX(myaccount ,stklabel2 ); 9空持:=TAVGENTERPRICEEX(myaccount ,stklabel1 );
9多持:=TAVGENTERPRICEEX(myaccount ,stklabel1 ); 8空持:=TAVGENTERPRICEEX(myaccount ,stklabel2 );
//成交一//瘸腿检测//成交一平仓或者成交二补仓//立即加价成交,不能有挂单
IF tsellholdingex(myaccount,stklabel1,0)=0 and tbuyholdingex(myaccount,stklabel2,0)>0 then begin//8多
if tisremainex(3,myaccount,stklabel1) then tcancelex(1,3,myaccount,stklabel1); //成交一9开空撤单
if tisremainex(2,myaccount,stklabel2) then tcancelex(1,2,myaccount,stklabel2); //平仓二8平多撤单
if 9买1-8多持-KK>=0 then tbuyshort (tisremainex(3,myaccount,stklabel1)=0,1,lmt,9买1-MINDIFF1,0,myaccount,stklabel1); //9买一价加价开空
else tsell(tisremainex(2,myaccount,stklabel2)=0,tbuyholdingex(myaccount,stklabel2,0),lmt,8买1-MINDIFF1,0,myaccount,stklabel2); //8卖一价加价平多
end
IF tsellholdingex(myaccount,stklabel1,0)>0 and tbuyholdingex(myaccount,stklabel2,0)=0 then begin//9空
if tisremainex(1,myaccount,stklabel2) then tcancelex(1,1,myaccount,stklabel2); //成交一8开多撤单
if tisremainex(4,myaccount,stklabel1) then tcancelex(1,4,myaccount,stklabel1); //平仓二9平空撤单
if 9空持-8卖1-KK>=0 then tbuy (tisremainex(1,myaccount,stklabel2)=0,1,lmt,8卖1+MINDIFF1,0,myaccount,stklabel2); //8卖一价加价开多
else tsellshort(tisremainex(4,myaccount,stklabel1)=0,tsellholdingex(myaccount,stklabel1,0),lmt,9卖1+MINDIFF1,0,myaccount,stklabel1); //9买一价加价平空
end
IF tsellholdingex(myaccount,stklabel2,0)=0 and tbuyholdingex(myaccount,stklabel1,0)>0 then begin//9多
if tisremainex(3,myaccount,stklabel2) then tcancelex(1,3,myaccount,stklabel2); //成交一8开空撤单
if tisremainex(2,myaccount,stklabel1) then tcancelex(1,2,myaccount,stklabel1); //平仓二9平多撤单
if 9多持-8买1-KD<=0 then tbuyshort (tisremainex(3,myaccount,stklabel2)=0,1,lmt,8买1-MINDIFF1,0,myaccount,stklabel2); //8买一价加价开空
else tsell(tisremainex(2,myaccount,stklabel1)=0,tbuyholdingex(myaccount,stklabel1,0),lmt,9买1-MINDIFF1,0,myaccount,stklabel1); //9卖一价加价平多
end
IF tsellholdingex(myaccount,stklabel2,0)>0 and tbuyholdingex(myaccount,stklabel1,0)=0 then begin //8空
if tisremainex(1,myaccount,stklabel1) then tcancelex(1,1,myaccount,stklabel1); //成交一9开多撤单
if tisremainex(4,myaccount,stklabel2) then tcancelex(1,4,myaccount,stklabel2); //平仓二8平空撤单
if 9卖1-8空持-KD<=0 then tbuy (tisremainex(1,myaccount,stklabel1)=0,1,lmt,9卖1+MINDIFF1,0,myaccount,stklabel1); //9卖一价加价开多
else tsellshort(tisremainex(4,myaccount,stklabel2)=0,tsellholdingex(myaccount,stklabel2,0),lmt,8卖1+MINDIFF1,0,myaccount,stklabel2); //8买一价加价平空 
end
//信号、挂单//开仓
IF tsellholdingex(myaccount,stklabel1,0)=0  and tbuyholdingex(myaccount,stklabel1,0)=0 and
tsellholdingex(myaccount,stklabel2,0)=0  and tbuyholdingex(myaccount,stklabel2,0)=0 THEN BEGIN//持仓为0,未成交单为0。9开多,8开空
//双挂单//套利开多、套利开空两种//有成交,变成单腿处理
//挂套利开多钓差价缩小方向,结果差价扩大至套利开空位置,如何处理//先撤单,后反向挂
//挂套利开空钓差价扩大方向,结果差价缩小至套利开多位置,如何处理//先撤单,后反向挂
//等候时间过长处理//120秒撤单//时间待测试//未编
if tisremainex(1,myaccount,stklabel1) and tisremainex(3,myaccount,stklabel2) and
  (多头差值-KK>=0 or TSUBMITEX(1,myaccount,stklabel1)>120 or TSUBMITEX(3,myaccount,stklabel2)>120) then begin//套利开多方向挂单//反向撤单
tcancelex(1,1,myaccount,stklabel1);tcancelex(1,3,myaccount,stklabel2);
end
if tisremainex(3,myaccount,stklabel1) and tisremainex(1,myaccount,stklabel2) and 
(空头差值-KD<=0 or TSUBMITEX(3,myaccount,stklabel1)>120 or TSUBMITEX(1,myaccount,stklabel2)>120)  then begin//套利开空方向挂单//反向撤单
tcancelex(1,3,myaccount,stklabel1); tcancelex(1,1,myaccount,stklabel2);
end
//套利开多//9开多//8开空
tbuy (空头差值-KD<=0 and tisremainex(1,myaccount,stklabel1)=0,1,lmt,9买1,0,myaccount,stklabel1),NOATTACK; //买1价开多//无同向挂单
tbuyshort (空头差值-KD<=0 and tisremainex(3,myaccount,stklabel2)=0,1,lmt,8卖1,0,myaccount,stklabel2),NOATTACK; //卖1价开空//无同向挂单
//套利开空//9开空//8开多
tbuyshort (多头差值-KK>=0 and tisremainex(3,myaccount,stklabel1)=0,1,lmt,9卖1,0,myaccount,stklabel1),NOATTACK; //卖1价开空//无同向挂单
tbuy (多头差值-KK>=0 and tisremainex(1,myaccount,stklabel2)=0,1,lmt,8买1,0,myaccount,stklabel2),NOATTACK; //买1价开多//无同向挂单
DEBUGOUT('套利开多(空头差值-KD<=0) %.0f', 空头差值-KD);
DEBUGOUT('套利开空(多头差值-KK>=0) %.0f', 多头差值-KK);
套利开多小于等于0:空头差值-KD,NODRAW;套利开空大于等于0:多头差值-KK,NODRAW;
END

//平仓//选择挂单还是直接平//如果选择挂单,发单更早,成交更容易,但需考虑挂单的影响。
//套利平多//9平多//8平空 

IF  tbuyholdingex(myaccount,stklabel1,0)>0 and tsellholdingex(myaccount,stklabel2,0)>0 THEN BEGIN //9多8空//套利开多方向
套利平多9大于等于0:9卖1-8空持-PD,NODRAW;套利平多8大于等于0:9多持-8买1-PD,NODRAW;
tsell (套利平多9大于等于0>=0,tbuyholdingex (myaccount,stklabel1,0),lmt, 9卖1,0,myaccount,stklabel1),NOATTACK; //9平多
tsellshort (套利平多8大于等于0>=0,tsellholdingex (myaccount,stklabel2,0),lmt, 8买1,0,myaccount,stklabel2),NOATTACK; //8平空
DEBUGOUT('套利平多(9卖1-8空持-PD>=0) %.0f', 套利平多9大于等于0);
DEBUGOUT('套利平多(9多持-8买1-PD>=0) %.0f', 套利平多8大于等于0);
END
//套利平空//9平空//8平多 
IF  tsellholdingex(myaccount,stklabel1,0)>0 and tbuyholdingex(myaccount,stklabel2,0)>0 THEN BEGIN//9空8多//套利开空方向
套利平空9小于等于0:9买1-8多持-PK,NODRAW;套利平空8小于等于0:9空持-8卖1-PK,NODRAW;
tsellshort (套利平空9小于等于0,tsellholdingex (myaccount,stklabel1,0),lmt, 9买1,0,myaccount,stklabel1),NOATTACK; //9平空
tsell (套利平空8小于等于0,tbuyholdingex (myaccount,stklabel2,0),lmt, 8卖1,0,myaccount,stklabel2),NOATTACK; //8平多
DEBUGOUT('套利平空(9买1-8多持-PK<=0) %.0f', 套利平空9小于等于0);
DEBUGOUT('套利平空(9空持-8卖1-PK<=0) %.0f', 套利平空8小于等于0);
END

 回到顶部
帅哥哟,离线,有人找我吗?
无为剑
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:2437 积分:0 威望:0 精华:0 注册:2016/3/5 22:53:41
  发帖心情 Post By:2018/5/7 15:10:22 [只看该作者]

感谢提供策略源码,为了让更多用户看到您的帖子,我们稍后会将此贴转移至策略发布区


 回到顶部