以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (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=171794) |
-- 作者:套利 -- 发布时间:2019/8/26 13:10:45 -- 套利代码撤单问题 TBUYSHORT(1,SS2,LMT,DYNAINFO2( 7,套利品种2),0,账户,套利品种2); TBUY(1,SS2,LMT, DYNAINFO2( 7,套利品种1),0,账户,套利品种1); 上面分别是买单和卖单是最新价委托,麻烦帮我改进如果两笔交易60秒内没有成交则同时撤单,如果两笔交易任何一个成交了,则另一个马上撤单并以对手5价的价格进行委托。
|
-- 作者:FireScript -- 发布时间:2019/8/26 13:43:08 -- 这样试下: if (TGLOBALSUBMITEX(3,账户,套利品种2,1)>=60 and TGLOBALSUBMITEX(1,账户,套利品种2,1)>=60) then begin TCANCELEX(1,3,账户,套利品种2 ); TCANCELEX(1,1,账户,套利品种1 ); end if (TGLOBALSUBMITEX(3,账户,套利品种2,1)>=60 and TGLOBALSUBMITEX(1,账户,套利品种1,0)=0) then begin TCANCELEX(1,3,账户,套利品种2); TBUYSHORT(1,SS2,LMT,DYNAINFO2( 7,套利品种2)-5*MINDIFF,0,账户,套利品种2); end if (TGLOBALSUBMITEX(1,账户,套利品种1,1)>=60 and TGLOBALSUBMITEX(3,账户,套利品种2,0)=0) then begin TCANCELEX(1,1,账户,套利品种1); TBUY(1,SS2,LMT, DYNAINFO2( 7,套利品种1)+5*MINDIFF,0,账户,套利品种1); end |
-- 作者:套利 -- 发布时间:2019/9/3 21:38:22 -- 这几个语句能分别用中文解释下吗 |
-- 作者:套利 -- 发布时间:2019/9/4 2:15:51 -- INPUT:M(50,1,100,1),X(3,1,100,1),SS(20,1,100,1),SS2(1,1,100,1);//M表示初始开仓价差,X表示加减仓的价差,SS表示首次开仓手数,SS2表示加减仓手数 GLOBALVARIABLE:mark:=0;//需要记住开始时候的价差,就必须使用全局变量 //***************************** 账户:\'632361\'; 套利品种1:\'RB01\'; 套利品种2:\'RB05\'; //***************************** JC:dynainfo2(7,套利品种1)-dynainfo2(7,套利品种2);//价差 IF (JC-mark)>=X*MINDIFF and mark<>0 THEN BEGIN //减仓 mark:=JC;//价差记录下来 TSELLSHORT(1,SS2,LMT ,DYNAINFO2( 7),0,账户,套利品种2);//买平最新价 TSELL(1,SS2,LMT ,DYNAINFO2( 7),0,账户,套利品种1);//卖平最新价 END IF (mark-JC)>=X*MINDIFF and mark<>0 THEN BEGIN //加仓 mark:=JC;//价差记录下来 TBUYSHORT(1,SS2,LMT ,DYNAINFO2( 7),0,账户,套利品种2);//开空最新价 TBUY(1,SS2,LMT ,DYNAINFO2( 7),0,账户,套利品种1);//开多最新价 END 这是之前写的套利策略,加仓和平仓都以最新价委托的,麻烦将之前说的,当触发加仓时,如果开多或开空只有一方成交了,另一个未成交超过20秒则立刻撤单按照对5价委托。当触发减仓时,如果平多或平空只有一方成交了,另一个未成交超过20秒则立刻撤单按照对5价委托。如果双方均未成交则一直挂着即可直到一方成交,然后执行策略。 |
-- 作者:yukizzc -- 发布时间:2019/9/4 9:42:19 -- //如果品种2和品种1都未成交超过60 if (TGLOBALSUBMITEX(3,账户,套利品种2,1)>=60 and TGLOBALSUBMITEX(1,账户,套利品种2,1)>=60) then begin TCANCELEX(1,3,账户,套利品种2 ); TCANCELEX(1,1,账户,套利品种1 ); end //如果品种2的挂单时间超过60,并且品种1成交了 if (TGLOBALSUBMITEX(3,账户,套利品种2,1)>=60 and TGLOBALSUBMITEX(1,账户,套利品种1,0)=0) then begin TCANCELEX(1,3,账户,套利品种2); TBUYSHORT(1,SS2,LMT,DYNAINFO2( 7,套利品种2)-5*MINDIFF,0,账户,套利品种2); end if (TGLOBALSUBMITEX(1,账户,套利品种1,1)>=60 and TGLOBALSUBMITEX(3,账户,套利品种2,0)=0) then begin TCANCELEX(1,1,账户,套利品种1); TBUY(1,SS2,LMT, DYNAINFO2( 7,套利品种1)+5*MINDIFF,0,账户,套利品种1); end
|
-- 作者:FireScript -- 发布时间:2019/9/4 9:57:27 -- 你的需求只要在2楼代码基础上修改即可了啊。你肯定得先理解2楼这个代码逻辑。 只要改下下单价格和委托方式 以及等待的秒数就变成减仓的逻辑了。 你可以先试着自行修改下。
|
-- 作者:套利 -- 发布时间:2019/9/4 11:54:44 -- 我在这方面比较小白,昨天晚上试着自己套了套发现根本弄不会,还是要麻烦您帮忙构建一下,谢谢您了 |
-- 作者:套利 -- 发布时间:2019/9/4 17:39:47 -- 您好?? |
-- 作者:套利 -- 发布时间:2019/9/9 14:56:57 -- IF (JC-mark)>=X*MINDIFF and mark<>0 THEN BEGIN //减仓 mark:=JC;//价差记录下来 TSELLSHORT(1,SS2,LMT ,DYNAINFO2( 7,套利品种2),0,账户,套利品种2);//买平 TSELL(1,SS2,LMT ,DYNAINFO2( 7,套利品种1),0,账户,套利品种1);//卖平 END IF (mark-JC)>=X*MINDIFF and mark<>0 THEN BEGIN //加仓 mark:=JC;//价差记录下来 TBUYSHORT(1,SS2,LMT,DYNAINFO2( 7,套利品种2),0,账户,套利品种2); TBUY(1,SS2,LMT, DYNAINFO2( 7,套利品种1),0,账户,套利品种1); END //如果品种2和品种1都未成交超过60 if (TGLOBALSUBMITEX(3,账户,套利品种2,1)>=60 and TGLOBALSUBMITEX(1,账户,套利品种2,1)>=60) then begin TCANCELEX(1,3,账户,套利品种2 ); TCANCELEX(1,1,账户,套利品种1 ); end //如果品种2的挂单时间超过60,并且品种1成交了 if (TGLOBALSUBMITEX(3,账户,套利品种2,1)>=60 and TGLOBALSUBMITEX(1,账户,套利品种1,0)=0) then begin TCANCELEX(1,3,账户,套利品种2); TBUYSHORT(1,SS2,LMT,DYNAINFO2( 7,套利品种2)-5*MINDIFF,0,账户,套利品种2); end if (TGLOBALSUBMITEX(1,账户,套利品种1,1)>=60 and TGLOBALSUBMITEX(3,账户,套利品种2,0)=0) then begin TCANCELEX(1,1,账户,套利品种1); TBUY(1,SS2,LMT, DYNAINFO2( 7,套利品种1)+5*MINDIFF,0,账户,套利品种1); end //品种1平仓没成交 2成交了 if (TGLOBALSUBMITEX(2,账户,套利品种1,1)>=60 and TGLOBALSUBMITEX(4,账户,套利品种2,0)=0) then begin TCANCELEX(1,2,账户,套利品种1); TSELL(1,SS2,LMT ,DYNAINFO2( 28,套利品种1),0,账户,套利品种1);//卖平 end if (TGLOBALSUBMITEX(4,账户,套利品种2,1)>=60 and TGLOBALSUBMITEX(2,账户,套利品种1,0)=0) then begin TCANCELEX(1,4,账户,套利品种2); TSELLSHORT(1,SS2,LMT ,DYNAINFO2( 34,套利品种2),0,账户,套利品种2);//买平
end 我是这样写的 为什么没有撤单发生
|
-- 作者:FireScript -- 发布时间:2019/9/9 15:12:41 -- 你要实现的思路到底是原先1楼的还是后面的4楼的描述? 另外对五价是买五或卖五 还是最新价加减五个点?
|