예제 #1
0
        public void LockingExecuteChanged()
        {
            if (SelectedItem == null)
            {
                MessageBox.Show("请选择快捷锁仓", "提示", MessageBoxButton.OK, MessageBoxImage.Warning);
                return;
            }

            TransactionModel tm = new TransactionModel();

            if (SelectedItem.Direction == "S")
            {
                tm.direction = "B";
            }
            else
            {
                tm.direction = "S";
            }
            tm.contract_id    = SelectedItem.ContractId;
            tm.user_id        = UserInfoHelper.UserId;
            tm.open_offset    = (int)OffsetType.OFFSET_OPEN;
            tm.resource       = (int)OperatorTradeType.OPERATOR_TRADE_PC;
            tm.order_orderref = Guid.NewGuid().ToString();
            tm.order_price    = 0;
            tm.operator_id    = UserInfoHelper.LoginName;
            tm.price_type     = "M";//根据选中的来判断;
            tm.order_volume   = SelectedItem.PositionVolume;
            ReqTransactionModel rtm = new ReqTransactionModel();

            rtm.cmdcode = RequestCmdCode.PlaceOrderCode;
            rtm.content = tm;
            ScoketManager.GetInstance().SendTradeWSInfo(JsonConvert.SerializeObject(rtm));
        }
        /// <summary>
        /// 平仓
        /// </summary>
        public static void OpenCloseing(PotionDetailModelViewModel item, int num, bool isClosing = true)
        {
            TransactionModel tm = new TransactionModel();

            tm.direction = item.Direction == "B" ? "S" : "B";

            tm.user_id     = UserInfoHelper.UserId;
            tm.contract_id = item.ContractId;
            if (isClosing)
            {
                tm.open_offset = (int)OffsetType.OFFSET_COVER;
            }
            else
            {
                tm.open_offset = (int)OffsetType.OFFSET_OPEN;
            }
            tm.resource       = (int)OperatorTradeType.OPERATOR_TRADE_PC;
            tm.order_orderref = Guid.NewGuid().ToString();
            tm.order_price    = 0;
            tm.operator_id    = UserInfoHelper.LoginName;
            tm.price_type     = "M";//根据选中的来判断;
            tm.order_volume   = item.PositionVolume - num;
            ReqTransactionModel rtm = new ReqTransactionModel();

            rtm.cmdcode = RequestCmdCode.PlaceOrderCode;
            rtm.content = tm;
            ScoketManager.GetInstance().SendTradeWSInfo(Newtonsoft.Json.JsonConvert.SerializeObject(rtm));
        }