public Queryinfo SendIMSOrder(string GroupName, string BSFlag, string market, string Zqdm, float price, int qty) { Queryinfo response = null; lock (SendOrderObject) { StringBuilder result = new StringBuilder(1024 * 1024); StringBuilder errInfo = new StringBuilder(256); if (Adapter.GroupsDict.ContainsKey(GroupName)) { var group = Adapter.GroupsDict[GroupName]; if (!Tool.IsSendOrderTimeFit()) { errInfo.AppendFormat("下单时限为9:00-15:00, 当前时间{0}超出下单时限", DateTime.Now.ToShortDateString()); } else if (group.ClientID > -1) { errInfo.AppendFormat("{0}: ClientID为-1", GroupName); } else { group.SendOrderIMS(BSFlag, market, Zqdm, price, qty, result, errInfo); } } else { errInfo.AppendFormat("下单失败,{0}:未找到该组合号对应的配置信息!", GroupName); } response = new Queryinfo() { Result = result.ToString(), Error = errInfo.ToString() }; } return(response); }
public Queryinfo CancelImsOrder(string GroupName, string market, string zqdm, string hth) { lock (CancelOrderObject) { StringBuilder result = new StringBuilder(1024 * 1024); StringBuilder errInfo = new StringBuilder(256); if (Adapter.GroupsDict.ContainsKey(GroupName)) { var group = Adapter.GroupsDict[GroupName]; if (!group.IsIMSAccount) { } if (group.ClientID > -1) { group.CancelImsOrder(market, zqdm, hth, result, errInfo); } else { errInfo.AppendFormat("撤单失败,组合号{0} ClientID为-1", GroupName); } } else { errInfo.AppendFormat("GroupService:未找到组合号{0}对应的配置信息!", GroupName); } var response = new Queryinfo() { Result = result.ToString(), Error = errInfo.ToString() }; return(response); } }
public Queryinfo CancelOrder(string GroupName, string ExchangeID, string hth) { lock (CancelOrderObject) { string result, errInfo; if (!Program.db.券商帐户.Exists(GroupName)) { result = ""; errInfo = "未添加该账户"; } else if (CommonUtils.ExistsGroup(GroupName)) { result = string.Empty; errInfo = "非本地登录组合号不支持此功能,请联系管理员!"; } else { Program.db.券商帐户.CancelOrderLocal(GroupName, hth, ExchangeID, out result, out errInfo); } var response = new Queryinfo() { Result = result, Error = errInfo }; return(response); } }
public Queryinfo QueryPosition(string GroupName) { Queryinfo result = new Queryinfo(); if (Adapter.GroupsDict.ContainsKey(GroupName)) { var group = Adapter.GroupsDict[GroupName]; group.QueryAccountData(1, result); } else { result.Error = "查询失败:未找到该组合号对应的配置信息!"; } return(result); }
public Queryinfo SendOrder(string GroupName, int Category, int PriceType, string Gddm, string Zqdm, float Price, int Quantity, string Mac) { Queryinfo response = null; lock (SendOrderObject) { StringBuilder result = new StringBuilder(1024 * 1024); StringBuilder errInfo = new StringBuilder(256); if (Adapter.GroupsDict.ContainsKey(GroupName)) { var group = Adapter.GroupsDict[GroupName]; if (!Tool.IsSendOrderTimeFit()) { return(new Queryinfo() { Error = string.Format("下单时限为9:00-15:00, 当前时间超出下单时限", DateTime.Now.ToShortTimeString()) }); } else if (group.ClientID == -1) { return(new Queryinfo() { Error = string.Format("{0}: ClientID为-1", GroupName) }); } else { if (Zqdm.Length == 5) { response = group.SendOrderHK(Category, PriceType, Gddm, Zqdm, Price, Quantity, result, errInfo); } else { response = group.SendOrderNormal(Category, PriceType, Gddm, Zqdm, Price, Quantity, Mac, result, errInfo); } } } else { return(new Queryinfo() { Error = string.Format("下单失败,{0}:未找到该组合号对应的配置信息!", GroupName) }); } } return(response); }
public Queryinfo QueryPosition(string GroupName) { Queryinfo result = new Queryinfo(); StringBuilder sbResult = new StringBuilder(128); StringBuilder sbError = new StringBuilder(128); if (Program.db.券商帐户.Exists(GroupName)) { //var group = Adapter.GroupsDict[GroupName]; //group.QueryAccountData(1, result); Program.db.券商帐户.QueryPosition(GroupName, 1, sbResult, sbError); result.Result = sbResult.ToString(); result.Error = sbError.ToString(); } else { result.Error = "查询失败:未找到该组合号对应的配置信息!"; } return(result); }
public Queryinfo SendOrder(string GroupName, int Category, int PriceType, string Gddm, string Zqdm, float Price, int Quantity) { Queryinfo response = null; lock (SendOrderObject) { StringBuilder result = new StringBuilder(1024 * 1024); StringBuilder errInfo = new StringBuilder(256); if (Adapter.GroupsDict.ContainsKey(GroupName)) { var group = Adapter.GroupsDict[GroupName]; if (group.ClientID > -1) { //CommonUtils.Log("组合号:" + GroupName + "下单开始,证券代码:" + Zqdm); DateTime dtStart = DateTime.Now; if (Zqdm.Length == 5) { response = group.SendOrderHK(Category, PriceType, Gddm, Zqdm, Price, Quantity, result, errInfo); } else { response = group.SendOrderNormal(Category, PriceType, Gddm, Zqdm, Price, Quantity, result, errInfo); } } else { errInfo.AppendFormat("{0}: ClientID为-1", GroupName); } } else { errInfo.AppendFormat("下单失败,{0}:未找到该组合号对应的配置信息!", GroupName); } } return(response); }
public Queryinfo SendOrder(string GroupName, int Category, int PriceType, string Gddm, string Zqdm, decimal Price, decimal Quantity, string Mac) { Queryinfo response = new Queryinfo(); lock (SendOrderObject) { //StringBuilder result = new StringBuilder(1024 * 1024); //StringBuilder errInfo = new StringBuilder(256); if (Program.db.券商帐户.Exists(GroupName)) { if (!dictMacOrderList.ContainsKey(Mac)) { dictMacOrderList[Mac] = new ConcurrentBag <string>(); } string result, errInfo; if (!Tool.IsSendOrderTimeFit()) { response.Error = string.Format("下单时限为9:00-15:00, 当前时间超出下单时限", DateTime.Now.ToShortTimeString()); } else { Program.db.券商帐户.SendOrderLocal(GroupName, Category, Gddm, Zqdm, Price, Quantity, Mac, out result, out errInfo); response.Error = errInfo; response.Result = result; } } else { return(new Queryinfo() { Error = string.Format("下单失败,{0}:未找到该组合号对应的配置信息!", GroupName) }); } } return(response); }