コード例 #1
0
ファイル: strg_03org_1.cs プロジェクト: jutao023/Wes
        void CancelOrderf()
        {
            int hour = DateTime.Now.Hour;
            int cal  = 5;

            if (hour <= 7)
            {
                cal = 3;
            }
            else if (hour > 12 && hour < 21)
            {
                cal = 4;
            }

            #region 撤除开仓单
            for (int i = 0; i < listOpens.Count; i++)
            {
                if (i % cal == 0)
                {
                    Orderf       of = listOpens[i];
                    Cancel_Order co = new Cancel_Order();
                    co.trade_mode  = "F";
                    co.order_no    = of.order_no;
                    co.order_id    = of.order_id;
                    co.contract_id = of.contract_no;

                    if (ForJHTradeCancelOrder(co, CANCEL_ORDER_OPEN))
                    {
                        PrintLine("995@请求撤除开仓单!合同ID:" + co.contract_id + ",流水号:" + CANCEL_ORDER_OPEN);
                    }
                    listOpens.RemoveAt(i);
                }
            }
            #endregion

            #region 撤除平仓单
            for (int i = 0; i < listCloses.Count; i++)
            {
                if (i % cal == 0)
                {
                    Orderf of = listCloses[i];

                    Cancel_Order co = new Cancel_Order();
                    co.trade_mode  = "F";
                    co.order_no    = of.order_no;
                    co.order_id    = of.order_id;
                    co.contract_id = of.contract_no;

                    if (ForJHTradeCancelOrder(co, CANCEL_ORDER_CLOSE))
                    {
                        PrintLine("995@请求撤除开仓单!合同ID:" + co.contract_id + ",流水号:" + CANCEL_ORDER_CLOSE);
                    }
                    listCloses.RemoveAt(i);
                }
            }
            #endregion
        }
コード例 #2
0
        public IActionResult Cancel_Order(Cancel_Order cancel_Order)
        {
            var cancelOrder = _context.Database.ExecuteSqlRaw("EXEC Cancel_Order @Order_Id",
                                                              new SqlParameter("@Order_Id", cancel_Order.OrderId));



            ViewBag.Success = cancelOrder;

            return(View("Index"));
        }
コード例 #3
0
ファイル: strg_03org_1.cs プロジェクト: jutao023/Wes
 //撤单应答
 public override void OnJHTradeCancelOrder(Trade_Head msgHead, Cancel_Order pCancel)
 {
     if (pCancel.ret_cancel_status == "0")
     {
         PrintLine("995@撤单成功!合同ID:" + pCancel.contract_id + ",流水号:" + msgHead.TradeNo);
     }
     else
     {
         PrintLine("995@撤单失败!合同ID:" + pCancel.contract_id + ",流水号:" + msgHead.TradeNo);
     }
 }
コード例 #4
0
ファイル: ManageTrade.cs プロジェクト: jutao023/Wes
 //撤单字段说明
 // trade_mode;//(*撤单必填)交易模式 F-远期做市商 FG - 交收撤单
 // order_no;//下单编号
 // order_id;//(*撤单必填)报单号
 // cancel_time;//下单时间
 // ret_cancel_status;//撤单状态:  0 成功, 其它失败
 // ret_desc;//撤单状态描述
 // contract_id;//(*撤单必填)合同编码
 // cancel_oper;//(*撤单必填)撤单人(登录帐号)
 // cancel_ip;//(*撤单必填)撤单IP地址
 /// <summary>
 /// 撤单
 /// </summary>
 /// <param name="pCancel"></param>
 /// <param name="strTradeNo"></param>
 /// <returns></returns>
 public bool ForJHTradeCancelOrder(Cancel_Order pCancel, string strTradeNo)
 {
     try
     {
         return(ForCancelOrder(pCancel, strTradeNo));
     }
     catch (Exception ex)
     {
         strategy.OnExceptionMessage(EnumStateFlag.交易请求, ex.ToString());
         return(false);
     }
 }
コード例 #5
0
ファイル: ManageTrade.cs プロジェクト: jutao023/Wes
 public override void OnCancelOrder(Trade_Head msgHead, Cancel_Order pCancel)
 {
     if (strategy == null)
     {
         return;
     }
     try
     {
         strategy.OnJHTradeHead(msgHead);
         strategy.OnJHTradeCancelOrder(msgHead, pCancel);
     }catch (Exception ex)
     {
         strategy.OnExceptionMessage(EnumStateFlag.交易回报, ex.ToString());
     }
 }
コード例 #6
0
ファイル: ManageTrade.cs プロジェクト: jutao023/Wes
        /// <summary>
        /// 撤单
        /// </summary>
        /// <param name="_trade_node">(*撤单必填)交易模式 F-远期做市商 FG - 交收撤单</param>
        /// <param name="_order_id">(*撤单必填)报单号</param>
        /// <param name="_contract_id">(*撤单必填)合同编码</param>
        /// <param name="_cancel_oper">(*撤单必填)撤单人(登录帐号)</param>
        /// <param name="_cancel_ip">(*撤单必填)撤单IP地址 </param>
        /// <param name="strTradeNo">交易流水号</param>
        /// <returns></returns>
        public bool ForJHTradeCancelOrder(string _trade_node, string _order_id, string _contract_id,
                                          string _cancel_oper, string strTradeNo)
        {
            Cancel_Order cord = new Cancel_Order();

            cord.trade_mode  = _trade_node;
            cord.order_id    = _order_id;
            cord.contract_id = _contract_id;
            cord.cancel_oper = _cancel_oper;
            cord.cancel_ip   = JHUtil.GetNaviteIP();
            try
            {
                return(ForCancelOrder(cord, strTradeNo));
            }
            catch (Exception ex)
            {
                strategy.OnExceptionMessage(EnumStateFlag.交易请求, ex.ToString());
                return(false);
            }
        }
コード例 #7
0
        //撤单字段说明
        // trade_mode;//(*撤单必填)交易模式 F-远期做市商 FG - 交收撤单
        // order_no;//下单编号
        // order_id;//(*撤单必填)报单号
        // cancel_time;//下单时间
        // ret_cancel_status;//撤单状态:  0 成功, 其它失败
        // ret_desc;//撤单状态描述
        // contract_id;//(*撤单必填)合同编码
        // cancel_oper;//(*撤单必填)撤单人(登录帐号)
        // cancel_ip;//(*撤单必填)撤单IP地址
        /// <summary>
        /// 撤单
        /// </summary>
        /// <param name="pCancel"></param>
        /// <param name="strTradeNo"></param>
        /// <returns></returns>
        public bool ForJHTradeCancelOrder(Cancel_Order pCancel, string strTradeNo)
        {
            try
            {
                if (pCancel == null)
                {
                    return(false);
                }

                Cancel_Order cancel_order = pCancel;
                cancel_order.cancel_ip   = JHUtil.GetNaviteIP();
                cancel_order.cancel_oper = username;

                if (manageTrade != null && trade_login_ok)
                {
                    return(manageTrade.ForJHTradeCancelOrder(cancel_order, strTradeNo));
                }
                return(false);
            }catch
            {
                return(false);
            }
        }
コード例 #8
0
 /// <summary>
 /// 撤单应答
 /// </summary>
 /// <param name="msgHead"></param>
 /// <param name="pCancel"></param>
 virtual public void OnJHTradeCancelOrder(Trade_Head msgHead, Cancel_Order pCancel)
 {
 }
コード例 #9
0
ファイル: strg_03org_1.cs プロジェクト: jutao023/Wes
        //报单查询应答
        public override void OnJHTradeOrderfList(Trade_Head msgHead, List <Orderf> pOrderf_List)
        {
            // string status;//报单状态 1、未成交,2、部分成交,3、成交,4、撤单,5、收市撤单
            if (msgHead.ChildIndex > 1)
            {
                foreach (Orderf of in pOrderf_List)
                {
                    if (IsBigOrderf(of.order_no))
                    {
                        continue;
                    }
                    if (of.status == "1" || of.status == "2")
                    {
                        Cancel_Order co = new Cancel_Order();

                        co.trade_mode  = "F";
                        co.order_no    = of.order_no;
                        co.order_id    = of.order_id;
                        co.contract_id = of.contract_no;
                        string trade_no = GetTradeNoQurey();
                        if (ForJHTradeCancelOrder(co, trade_no))
                        {
                            PrintLine("995@保护性撤单成功!合同ID:" + co.contract_id + ",流水号:" + trade_no);
                        }
                    }
                }
                return;
            }
            List <Cancel_Order> listCO = new List <Cancel_Order>();

            foreach (Orderf of in pOrderf_List)
            {
                if (of.contract_no != GetContractID())
                {
                    continue;
                }
                if (IsBigOrderf(of.order_no))
                {
                    continue;
                }
                if (of.status == "1" || of.status == "2")
                {
                    Cancel_Order co = new Cancel_Order();

                    co.trade_mode  = "F";
                    co.order_no    = of.order_no;
                    co.order_id    = of.order_id;
                    co.contract_id = of.contract_no;

                    listCO.Add(co);
                }
            }

            if (listCO.Count >= 11)
            {
                int cancelCount = listCO.Count;
                for (int i = 0; i < cancelCount; i = i + 5)
                {
                    Cancel_Order cco      = listCO[i];
                    string       trade_no = GetTradeNoQurey();
                    if (ForJHTradeCancelOrder(cco, trade_no))
                    {
                        PrintLine("995@撤单请求发送成功!合同ID:" + cco.contract_id + ",流水号:" + trade_no);
                    }
                }
                return;
            }
        }
コード例 #10
0
ファイル: testTrade.cs プロジェクト: jutao023/Wes
 //撤单应答
 public override void OnJHTradeCancelOrder(Trade_Head msgHead, Cancel_Order pCancel)
 {
 }