需求:
1、能在后台实现套利组合的开仓和平仓;
2、如在套利组合的开仓或者平仓的过程中出现了瘸腿(即第二腿没有成交),那么执行平已成交那腿仓位,并且撤未成交的委托;
比如套利模型为:
//中间变量
C1:="RB05$CLOSE"-"RB03$CLOSE";
//交易系统
TBUY(CROSS(300,C1),10,MKT,0,0,'','RB05');//开多
TBUYSHORT(CROSS(300,C1),10,MKT,0,0,'','RB03');//开空
TSELL(CROSS(C1,500),10,MKT,0,0,'','RB05');//平多
TSELLSHORT(CROSS(C1,500),10,MKT,0,0,'','RB03');//平空
(反方向的怎么写,我写的语法检测可以过,但是跑模拟没有执行)
IF TSELLHOLDINGEX('','RB05',1)=1 AND TBUYHOLDINGEX('','RB03',1)=0 AND TREMAINQTY( 1,'','RB03')=1 THEN BEGIN
TSELLSHORT(TSELLHOLDINGEX('','RB05',1)=1 AND TBUYHOLDINGEX('','RB03',1)=0 AND TREMAINQTY( 1,'','RB03')=1,1,MKT ,0,0,'','RB05');
END
(以上是我写的对开仓时发生的瘸腿进行平仓处理,语法检测通过,跑模拟时没发生瘸腿(不是正确处理了瘸腿),那么平仓时怎么写?我按照上面模式写的语法检测通不过)
需求: 1、能在后台实现套利组合的开仓和平仓; 2、如在套利组合的开仓或者平仓的过程中出现了瘸腿(即第二腿没有成交),那么执行平已成交那腿仓位,并且撤未成交的委托; 3、限定多空持仓各一手;
比如套利模型为: //中间变量 C1:="RB05$CLOSE"-"RB03$CLOSE"; //交易系统 TBUY(CROSS(300,C1),10,MKT,0,0,'','RB05');//开多 TBUYSHORT(CROSS(300,C1),10,MKT,0,0,'','RB03');//开空 TSELL(CROSS(C1,500),10,MKT,0,0,'','RB05');//平多 TSELLSHORT(CROSS(C1,500),10,MKT,0,0,'','RB03');//平空 (反方向的怎么写,我写的语法检测可以过,但是跑模拟没有执行)
IF TSELLHOLDINGEX('','RB05',1)=1 AND TBUYHOLDINGEX('','RB03',1)=0 AND TREMAINQTY( 1,'','RB03')=1 THEN BEGIN (以上是我写的对开仓时发生的瘸腿进行平仓处理,语法检测通过,跑模拟时没发生瘸腿(不是正确处理了瘸腿),那么平仓时怎么写?我按照上面模式写的语法检测通不过) |
防止瘸腿,比较好的思路是:远期合约的单子成交之后,再发近期合约的委托单