Exemple #1
0
        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;
                }

                // 当前状态禁止此项操作,时间不对,应当等下次操作
            }
        }
Exemple #3
0
        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]);
            }
        }
Exemple #4
0
 public Error(EnumError enumError)
 {
     ErrorCode = ((int)enumError).ToString();
     Message   = enumError.GetStringValue();
 }