コード例 #1
0
            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();
            }
コード例 #2
0
 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();
 }
コード例 #3
0
        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();
        }
コード例 #4
0
        /// <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);
        }
コード例 #5
0
        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();
        }
コード例 #6
0
            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
            }
コード例 #7
0
        /// <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);
        }
コード例 #8
0
 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();
 }
コード例 #9
0
        /// <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;

        }
コード例 #10
0
 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();
 }