zhuang123 发表于 2016-5-27 22:33:49

请教不发平仓指令的问题

A函数发单~~只发建仓买卖单~~平仓单不发是什么原因?还有怎么控制:比如我持有空仓情况下 先平空再建多
        If(BarStatus==0)
{
     SetGlobalVar(0,0);
         SetGlobalVar(1,0);
}
//================================================================================开仓买入
if(zgmmm<=5 && A_BuyPosition()==0 && GetGlobalVar(0)==0 && BarStatus == 2)
{If(f<=0 And f>f And f<f) //开多
{
A_SendOrder(Enum_Buy,Enum_Entry,scale2);
  SetGlobalVar(0,1); //为1  
  }//买入开仓
  }
  if(zgmmm<=5 && A_BuyPosition()==0 && GetGlobalVar(0)==0 && BarStatus == 2)
{If(f>=0 And f>f And f<f)//开多
{
A_SendOrder(Enum_Sell,Enum_Entry,scale2);
  SetGlobalVar(0,1); //为1  
}
}//买入开仓
if(zgmmm<=5 && A_BuyPosition()>0 && GetGlobalVar(0)==1 && BarStatus == 2)
{If(f>=0 And f<f And f>f ) //多平
{
A_SendOrder(Enum_sell,Enum_Exit,0);
  SetGlobalVar(0,0);  //为0
  }
  }//卖出平仓
  if(zgmmm<=5 && A_BuyPosition()>0 && GetGlobalVar(0)==1 && BarStatus == 2)
  {If(f<=0 And f<f And f>f )//多平
  {
A_SendOrder(Enum_Buy,Enum_Exit,0);
  SetGlobalVar(0,0);  //为0
  }
  }//卖出平仓
//================================================================================开仓卖出
If(zgmmm>=5 && A_SellPosition()==0 && GetGlobalVar(1)==0 && BarStatus == 2)
{If(f>=0 And f<f And f>f ) //开空
{
A_SendOrder(Enum_Sell,Enum_Entry,scale2);
  SetGlobalVar(1,1); //为1
}
}//开仓卖出
If(zgmmm>=5 && A_SellPosition()==0 && GetGlobalVar(1)==0 && BarStatus == 2)
{If(f<=0 And f<f And f>f  )//开空
{
A_SendOrder(Enum_Buy,Enum_Entry,scale2);
SetGlobalVar(1,1);
}}//开仓卖出
If(zgmmm>=5  && A_SellPosition()>=0 && GetGlobalVar(1)==1 && BarStatus == 2)
{If(f<=0 And f>f And f<f ) //空平
{
A_SendOrder(Enum_Buy,Enum_Exit,0);
SetGlobalVar(1,0);
}
}//买入平仓
If(zgmmm>=5  && A_SellPosition()>=0 && GetGlobalVar(1)==1 && BarStatus == 2)
{If(f>=0 And f>f And f<f )//空平
{
A_SendOrder(Enum_sell,Enum_Exit,0);
SetGlobalVar(1,0);
}
}//买入平仓

End
页: [1]
查看完整版本: 请教不发平仓指令的问题