public void close_Process(int seqid, TProtocol iprot, TProtocol oprot) { close_args args = new close_args(); args.Read(iprot); iprot.ReadMessageEnd(); close_result result = new close_result(); try { iface_.close(); oprot.WriteMessageBegin(new TMessage("close", TMessageType.Reply, seqid)); result.Write(oprot); } catch (TTransportException) { throw; } catch (Exception ex) { Console.Error.WriteLine("Error occurred in processor:"); Console.Error.WriteLine(ex.ToString()); TApplicationException x = new TApplicationException(TApplicationException.ExceptionType.InternalError, " Internal error."); oprot.WriteMessageBegin(new TMessage("close", TMessageType.Exception, seqid)); x.Write(oprot); } oprot.WriteMessageEnd(); oprot.Transport.Flush(); }
public void send_close() { oprot_.WriteMessageBegin(new TMessage("close", TMessageType.Call, seqid_)); close_args args = new close_args(); args.Write(oprot_); oprot_.WriteMessageEnd(); oprot_.Transport.Flush(); }
/// <summary> /// 启动策略执行线程 /// </summary> public void RUN() { ThreadProc _thread = new ThreadProc(_threadProc); excutedThread = new Thread(new ThreadStart(_thread)); //获取订阅列表 List <managedsecurityindex> subscribelist = new List <managedsecurityindex>(); if (Type == "OPEN") { //开仓 open_args args = InitArgs(open_para.WeightList, LiStockOrder, CT, open_para.OP, open_para.INDEX, HD); m_strategy_open.init(args); subscribelist = m_strategy_open.getsubscribelist().ToList(); } else if (Type == "CLOSE") { //平仓 //预付费率和期货开仓点 close_args args = InitArgs(close_para.WeightList, LiStockOrder, CT, close_para.INDEX, HD, (double)close_para.SD, (double)close_para.SA, (double)close_para.COE, close_para.SP, (double)close_para.SD, (double)close_para.PE, close_para.Charge); m_strategy_close.init(args); subscribelist = m_strategy_close.getsubscribelist().ToList(); } RunningTime = DateTime.Now; //获取订阅列表 bool change = false; foreach (var item in subscribelist) { _subscribe.Add(item.cSecurity_code); change = true; } bSubscribeChange = change; excutedThread.Start(); Thread.Sleep(100); }
public void close_Process(int seqid, TProtocol iprot, TProtocol oprot) { close_args args = new close_args(); args.Read(iprot); iprot.ReadMessageEnd(); close_result result = new close_result(); iface_.close(); oprot.WriteMessageBegin(new TMessage("close", TMessageType.Reply, seqid)); result.Write(oprot); oprot.WriteMessageEnd(); oprot.Transport.Flush(); }
public void send_close() #endif { oprot_.WriteMessageBegin(new TMessage("close", TMessageType.Call, seqid_)); close_args args = new close_args(); args.Write(oprot_); oprot_.WriteMessageEnd(); #if SILVERLIGHT return(oprot_.Transport.BeginFlush(callback, state)); #else oprot_.Transport.Flush(); #endif }
/// <summary> /// 初始化平仓参数列表 /// </summary> /// <param name="WeightList">权重列表</param> /// <param name="LiStockOrder">持仓列表</param> /// <param name="CT">期货</param> /// <param name="OP">开仓点位</param> /// <param name="INDEX">开仓指数</param> /// <param name="HD">手数</param> /// <returns>开仓参数实例</returns> /// <param name="dStockBonus">分红</param> /// <param name="dGiftValue">送股</param> /// <param name="dStockOpenCost">开仓成本</param> /// <param name="dFutureSellPoint">期货开仓点</param> /// <param name="dOpenedPoint">开仓基差点位</param> /// <param name="dExpectedGain">预期收益</param> /// <param name="dShortCharge">预估费率</param> /// <returns></returns> close_args InitArgs(Dictionary <String, double> WeightList, Dictionary <string, int> LiStockOrder, String CT, string INDEX, int HD, double dStockBonus, double dGiftValue, double dStockOpenCost, double dFutureSellPoint, double dOpenedPoint, double dExpectedGain, double dShortCharge) { close_args args = new close_args(); //List<managedstockposition> position = new List<managedstockposition>(); String POSITIONLIST = string.Empty; int positionNum = 0; foreach (var item in LiStockOrder) { managedstockposition s = new managedstockposition(); managedsecurityindex si = new managedsecurityindex(); string code = item.Key.Substring(1); string type = item.Key.Substring(0, 1); string count = item.Value.ToString(); s.tradevolume = item.Value; POSITIONLIST += (code + ";" + type + ";" + count + "|"); positionNum++; } POSITIONLIST += "*"; args.bTradingAllowed = false; args.contractCode = CT; args.indexCode = (INDEX == null) ? "300" : INDEX; args.nHands = HD; args.dStockBonus = dStockBonus; args.dGiftValue = dGiftValue; args.dStockOpenCost = dStockOpenCost; args.dFutureSellPoint = dFutureSellPoint; args.dOpenedPoint = dOpenedPoint; args.dExpectedGain = dExpectedGain; args.dShortCharge = dShortCharge; args.positionNum = positionNum; args.bTradingAllowed = false; args.POSITION = POSITIONLIST; return(args); }
public void close_Process(int seqid, TProtocol iprot, TProtocol oprot) { close_args args = new close_args(); args.Read(iprot); iprot.ReadMessageEnd(); close_result result = new close_result(); try { result.Success = iface_.close(args.OutThrift); } catch (ThriftIOException ouch) { result.Ouch = ouch; } oprot.WriteMessageBegin(new TMessage("close", TMessageType.Reply, seqid)); result.Write(oprot); oprot.WriteMessageEnd(); oprot.Transport.Flush(); }
/// <summary> /// 初始化平仓参数列表 /// </summary> /// <param name="WeightList">权重列表</param> /// <param name="LiStockOrder">持仓列表</param> /// <param name="CT">期货</param> /// <param name="OP">开仓点位</param> /// <param name="INDEX">开仓指数</param> /// <param name="HD">手数</param> /// <returns>开仓参数实例</returns> /// <param name="dStockBonus">分红</param> /// <param name="dGiftValue">送股</param> /// <param name="dStockOpenCost">开仓成本</param> /// <param name="dFutureSellPoint">期货开仓点</param> /// <param name="dOpenedPoint">开仓基差点位</param> /// <param name="dExpectedGain">预期收益</param> /// <param name="dShortCharge">预估费率</param> /// <returns></returns> close_args InitArgs(Dictionary<String, double> WeightList, Dictionary<string, int> LiStockOrder, String CT, string INDEX, int HD, double dStockBonus, double dGiftValue, double dStockOpenCost, double dFutureSellPoint, double dOpenedPoint, double dExpectedGain, double dShortCharge) { close_args args = new close_args(); //List<managedstockposition> position = new List<managedstockposition>(); String POSITIONLIST = string.Empty; int positionNum = 0; foreach (var item in LiStockOrder) { managedstockposition s = new managedstockposition(); managedsecurityindex si = new managedsecurityindex(); string code = item.Key.Substring(1); string type = item.Key.Substring(0, 1); string count = item.Value.ToString(); s.tradevolume = item.Value; POSITIONLIST += (code + ";" + type + ";" + count + "|"); positionNum++; } POSITIONLIST += "*"; args.bTradingAllowed = false; args.contractCode = CT; args.indexCode = (INDEX == null) ? "300" : INDEX; args.nHands = HD; args.dStockBonus = dStockBonus; args.dGiftValue = dGiftValue; args.dStockOpenCost = dStockOpenCost; args.dFutureSellPoint = dFutureSellPoint; args.dOpenedPoint = dOpenedPoint; args.dExpectedGain = dExpectedGain; args.dShortCharge = dShortCharge; args.positionNum = positionNum; args.bTradingAllowed = false; args.POSITION = POSITIONLIST; return args; }