hxh989898 发表于 2016-5-27 10:32:07

全局变量控制A函数,仍然重复发单

老师,我用了全局变量控制A函数,本想每天只开仓1手,但最终开仓3手. 请问全局变量应该放在发单后,还是持仓变化后.谢谢

-------------------------
if(Time>=0.0900 and Time<0.1455  and rfilter)


{

       if(Time != GetGlobalVar(1) and GetGlobalVar(1) != 0)
        {
                SetGlobalVar(1,10000);
        }

               
                if(A_SellPosition()>0  and GetGlobalVar(0) == 3)
        {
               
                SetGlobalVar(2,1);
                If(条件1 )  //  止盈平空
                {
                               
               
                A_SendOrder(Enum_Buy,Enum_Exit,1,Q_AskPrice);

                SetGlobalVar(1,CurrentTime);
                  Return;
                }
                               
                               
                               
                if(条件2)   //止损平空
                {

                A_SendOrder(Enum_Buy,Enum_Exit,1,Q_AskPrice);
                SetGlobalVar(1,CurrentTime);
                  Return;
                }
        }

        if(A_BuyPosition()>0  and GetGlobalVar(0) == 2)
        {
            
                SetGlobalVar(2,1);
              If(条件3 )     //止盈平多
                {
                               
                A_SendOrder(Enum_Sell,Enum_Exit,1,Q_BidPrice);
                SetGlobalVar(1,CurrentTime);
                Return;
                }

                 
                if(条件4)     //止损平多
                {
               A_SendOrder(Enum_Sell,Enum_Exit,1,Q_BidPrice);
                SetGlobalVar(1,CurrentTime);
                 Return;
                }
        }  

        if(A_TotalPosition()==0)
        {
                if(条件5  and GetGlobalVar(2) == 0)  //开多
                {
                SetGlobalVar(0,2);

                                                               
                A_SendOrder(Enum_Buy,Enum_Entry,1,Q_AskPrice);
                SetGlobalVar(1,CurrentTime);
                Return;
                }
        }
        if(A_TotalPosition()==0)
       {
                if(条件6 and GetGlobalVar(2) == 0)  //开空
                {
                 SetGlobalVar(0,3);
                A_SendOrder(Enum_Sell,Enum_Entry,1,Q_BidPrice);                    

     
                SetGlobalVar(1,CurrentTime);
                Return;
                }
        }
  
}

if(Time>=0.1455 and Time<0.1600)  //收盘平仓
{

        if(A_SellPosition()>0)
        {
               A_SendOrder(Enum_Sell,Enum_Exit,1,Q_BidPrice);
                SetGlobalVar(1,CurrentTime);
        }
        if(A_BuyPosition()>0 )
        {
                A_SendOrder(Enum_Sell,Enum_Exit,1,Q_BidPrice);
                SetGlobalVar(1,CurrentTime);
        }
  
}



if(A_GetOpenOrderCount()>0 and CurrentTime >= getglobalvar(1)+0.000005) // 撤单
{
      a_deleteorder();
      SetGlobalVar(1,1000);
}



end

hxh989898 发表于 2016-5-27 13:45:35

自己搞明白了
页: [1]
查看完整版本: 全局变量控制A函数,仍然重复发单