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 }
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")); }
//撤单应答 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); } }
//撤单字段说明 // 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); } }
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()); } }
/// <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); } }
//撤单字段说明 // 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); } }
/// <summary> /// 撤单应答 /// </summary> /// <param name="msgHead"></param> /// <param name="pCancel"></param> virtual public void OnJHTradeCancelOrder(Trade_Head msgHead, Cancel_Order pCancel) { }
//报单查询应答 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; } }
//撤单应答 public override void OnJHTradeCancelOrder(Trade_Head msgHead, Cancel_Order pCancel) { }