//1.如果之前的开空持仓剩余数并且比现在空头开仓数还要多, 那就用之前的开空持仓剩余数
IF TSELLHOLDINGEX("","",1)>=空头开仓数 THEN 空头开仓数=TSELLHOLDINGEX("","",1);
//2.如果有平空挂单,之前的开空持仓剩余数比现在空头开仓数少, 但是有平空单且总空头持仓比现在开仓数要多,那就用把要撤的单取消掉。
IF TSELLHOLDINGEX("","",2)>=空头开仓数 and TSELLHOLDINGEX("","",1)<空头开仓数 THEN
BEGIN
TCANCEL(TSELLHOLDINGEX("","",3)>0,4);
空头开仓数=TSELLHOLDINGEX("","",2);
END
//3.如果有平空挂单,总空头持仓比现在开仓数要少
IF TSELLHOLDINGEX("","",1)<=空头开仓数 THEN
BEGIN
TCANCEL(TSELLHOLDINGEX("","",3)>0,4);
空头开仓数=INTPART(空头开仓数-TSELLHOLDINGEX("","",1));
//3.1 达到开空条件, 先检测程序化是否平衡先, 如果是平衡状态, 开始空
IF(INTPART(空头开仓数)<1 ,1,INTPART(空头开仓数));//空头开仓数不能为0
//注意holding是策略的理论持仓,他不管实际仓位, TSELLHOLDINGEX是实际开空数
//a.看成交量
//b.看卖一和买一的中间加个 DYNAINFO(34)卖一价;DYNAINFO(28)买一价; DYNAINFO(208)最小变动单位;
IF 空头开仓数>16 AND 成交量比例>2 THEN//如果是成交量千分之二那么多, 建议分两次下而且用加仓的方式来操作。
BEGIN
IF DYNAINFO(34)-DYNAINFO(28)>3*DYNAINFO(208) THEN
BEGIN
TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(34)+DYNAINFO(208)),NOATTACK;
TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(34)),NOATTACK;
TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(34)-DYNAINFO(208)),NOATTACK;
TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(34)-2*DYNAINFO(208)),NOATTACK;
TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(34)-3*DYNAINFO(208)),NOATTACK;
TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(28)+3*DYNAINFO(208)),NOATTACK;
TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(28)+2*DYNAINFO(208)),NOATTACK;
TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(28)+DYNAINFO(208)),NOATTACK;
END
IF DYNAINFO(34)-DYNAINFO(28)>DYNAINFO(208) AND DYNAINFO(34)-DYNAINFO(28)<=3*DYNAINFO(208) THEN
BEGIN
TBUYSHORT(1,空头开仓数/5,LMT,DYNAINFO(34)+DYNAINFO(208)),NOATTACK;
TBUYSHORT(1,空头开仓数/5,LMT,DYNAINFO(34)),NOATTACK;
TBUYSHORT(1,空头开仓数/5,LMT,DYNAINFO(34)-DYNAINFO(208)),NOATTACK;
TBUYSHORT(1,空头开仓数/5,LMT,DYNAINFO(34)-2*DYNAINFO(208)),NOATTACK;
TBUYSHORT(1,空头开仓数/5,LMT,DYNAINFO(28)+DYNAINFO(208)),NOATTACK;
END
IF DYNAINFO(34)-DYNAINFO(28)=DYNAINFO(208) THEN
BEGIN
TBUYSHORT(1,空头开仓数/3,LMT,DYNAINFO(34)+DYNAINFO(208)),NOATTACK;
TBUYSHORT(1,空头开仓数/3,LMT,DYNAINFO(34)),NOATTACK;
TBUYSHORT(1,空头开仓数/3,LMT,DYNAINFO(28)),NOATTACK;
END
END
IF 空头开仓数>16 AND 成交量比例<=2 THEN
BEGIN
IF DYNAINFO(34)-DYNAINFO(28)>3*DYNAINFO(208) THEN
BEGIN
TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(34)+DYNAINFO(208)),NOATTACK;
TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(34)),NOATTACK;
TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(34)-DYNAINFO(208)),NOATTACK;
TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(34)-2*DYNAINFO(208)),NOATTACK;
TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(34)-3*DYNAINFO(208)),NOATTACK;
TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(28)+3*DYNAINFO(208)),NOATTACK;
TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(28)+2*DYNAINFO(208)),NOATTACK;
TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(28)+DYNAINFO(208)),NOATTACK;
END
IF DYNAINFO(34)-DYNAINFO(28)>DYNAINFO(208) AND DYNAINFO(34)-DYNAINFO(28)<=3*DYNAINFO(208) THEN
BEGIN
TBUYSHORT(1,空头开仓数/4,LMT,DYNAINFO(34)+DYNAINFO(208)),NOATTACK;
TBUYSHORT(1,空头开仓数/4,LMT,DYNAINFO(34)),NOATTACK;
TBUYSHORT(1,空头开仓数/4,LMT,DYNAINFO(34)-DYNAINFO(208)),NOATTACK;
TBUYSHORT(1,空头开仓数/4,LMT,DYNAINFO(28)+DYNAINFO(208)),NOATTACK;
END
IF DYNAINFO(34)-DYNAINFO(28)=DYNAINFO(208) THEN
BEGIN
TBUYSHORT(1,空头开仓数/3,LMT,DYNAINFO(34)+DYNAINFO(208)),NOATTACK;
TBUYSHORT(1,空头开仓数/3,LMT,DYNAINFO(34)),NOATTACK;
TBUYSHORT(1,空头开仓数/3,LMT,DYNAINFO(28)),NOATTACK;
END
END
IF 空头开仓数<=16 AND 空头开仓数>=4 THEN
BEGIN
IF DYNAINFO(34)-DYNAINFO(28)>3*DYNAINFO(208) THEN
BEGIN
TBUYSHORT(1,空头开仓数/3,LMT,DYNAINFO(28)+3*DYNAINFO(208)),NOATTACK;
TBUYSHORT(1,空头开仓数/3,LMT,DYNAINFO(28)+2*DYNAINFO(208)),NOATTACK;
TBUYSHORT(1,空头开仓数/3,LMT,DYNAINFO(28)+DYNAINFO(208)),NOATTACK;
END
IF DYNAINFO(34)-DYNAINFO(28)>DYNAINFO(208) AND DYNAINFO(34)-DYNAINFO(28)<=3*DYNAINFO(208) THEN
BEGIN
TBUYSHORT(1,空头开仓数/2,LMT,DYNAINFO(34)-DYNAINFO(208)),NOATTACK;
TBUYSHORT(1,空头开仓数/2,LMT,DYNAINFO(28)+DYNAINFO(208)),NOATTACK;
END
IF DYNAINFO(34)-DYNAINFO(28)=DYNAINFO(208) THEN
BEGIN
TBUYSHORT(1,空头开仓数/2,LMT,DYNAINFO(34)-DYNAINFO(208)),NOATTACK;
TBUYSHORT(1,空头开仓数/2,LMT,DYNAINFO(28)+DYNAINFO(208)),NOATTACK;
END
END
IF 空头开仓数<=3 AND 空头开仓数>=2 THEN //注意holding是策略的理论持仓,他不管实际仓位
BEGIN
TBUYSHORT(1,空头开仓数/2,LMT,DYNAINFO(34)-DYNAINFO(208)),NOATTACK;
TBUYSHORT(1,空头开仓数/2,LMT,DYNAINFO(28)+DYNAINFO(208)),NOATTACK;
END
IF 空头开仓数=1 THEN //注意holding是策略的理论持仓,他不管实际仓位
BEGIN
IF DYNAINFO(25)>DYNAINFO(31) THEN TBUYSHORT(1,空头开仓数,LMT,DYNAINFO(34)),NOATTACK;//DYNAINFO(31) 是买一量, DYNAINFO(25) 是卖一量,
IF DYNAINFO(25)<DYNAINFO(31) THEN TBUYSHORT(1,空头开仓数,LMT,DYNAINFO(28)),NOATTACK;
END //开空信号
END