static void Main(string[] args) { //var a = Un.l; //var d = (a == Un.l); //Console.WriteLine(d); //Console.WriteLine($"{EnumError.Boo}"); //Season a = Season.Autumn; //Console.WriteLine($"{(int)a}"); //var b = (Season)1; //Console.WriteLine(b); //var c = (Season)5; //Console.WriteLine($"{c}"); int i = (int)EnumError.left; EnumError side = (EnumError)i; Console.WriteLine($"{(int)side}"); var leftOrRight = (int)side >= 2; Console.WriteLine($"{leftOrRight}"); LogEn logEn = LogEn.left | LogEn.Right; if ((logEn & LogEn.left) != 0) { Console.WriteLine("包含左"); } LogEn s = LogEn.left; string formatted = logEn.ToString(); Console.WriteLine($"{formatted}"); s |= LogEn.Right; Console.WriteLine(s == logEn); s ^= LogEn.Right; Console.WriteLine(s); }
public override void OnOrderRejected(Order order) { double LeavesQty = order.LeavesQty; double flag = order.Side == OrderSide.Buy ? 1 : -1; EnumOpenClose OpenClose = DualPosition.OrderRejected(order); lock (this) { if (EnumOpenClose.OPEN == OpenClose) { // 开仓被拒绝,不再新开仓 // 有可能是钱不够 // 有可能是超出持仓限制 // 有可能是非交易时间 TargetPosition -= flag * LeavesQty; return; } EnumError error = TextResponse.FromText(order.Text); // 无法平仓,不重发单 // 能出现这个问题是持仓计算错误,这已经是策略持仓计算错误了 if (error == EnumError.OVER_CLOSETODAY_POSITION || error == EnumError.OVER_CLOSEYESTERDAY_POSITION || error == EnumError.OVER_CLOSE_POSITION) { TargetPosition -= flag * LeavesQty; return; } // 当前状态禁止此项操作,时间不对,应当等下次操作 } }
public static string ShowError(EnumError error) { switch (error) { case EnumError.openSerialPortProblem: return(ErrorMessage[1]); case EnumError.insertNewLogProbel: return(ErrorMessage[2]); case EnumError.insertnewDatalogforautoclav: return(ErrorMessage[3]); case EnumError.insertnewstartautoclavinsertdatabaseerror: return(ErrorMessage[4]); case EnumError.updatePeriodAutoclavZeroError: return(ErrorMessage[5]); case EnumError.updatePeriodAutoclavEndNaghes: return(ErrorMessage[6]); case EnumError.updatePeriodAutoclavEndError: return(ErrorMessage[7]); case EnumError.readFromAutoclacProblem: return(ErrorMessage[8]); case EnumError.readFromPokhtProblem: return(ErrorMessage[9]); case EnumError.ProblemDeactiveAll: return(ErrorMessage[10]); case EnumError.ProblemDeactiveAutoclav: return(ErrorMessage[11]); case EnumError.ProblemDeactiveBaking: return(ErrorMessage[12]); case EnumError.ProblemActiveAll: return(ErrorMessage[13]); case EnumError.ProblemActiveAutoclav: return(ErrorMessage[14]); case EnumError.ProblemActiveBaking: return(ErrorMessage[15]); case EnumError.insertnewDatalogforDevOther: return(ErrorMessage[16]); default: return(ErrorMessage[0]); } }
public Error(EnumError enumError) { ErrorCode = ((int)enumError).ToString(); Message = enumError.GetStringValue(); }