Пример #1
0
        public void HandleCommand(StringPacket command)
        {
            String strCommand = command.Decode();
            if (strCommand.ToUpper().CompareTo(StrategyCommand.CREATE_CUSTOM_UI) == 0)
            {
                logger.Info(command.GetStream());
                CreateCustomUI();
            }
            else if (strCommand.ToUpper().CompareTo(StrategyCommand.BOND_PAIR_LIST) == 0)
            {
                GiveBondPairListToUI();
            }
            else if (strCommand.ToUpper().CompareTo(StrategyCommand.BOND_PAIR_RAW_MARKET_DATA) == 0)
            {
                String code = command.Decode();
                GiveBondPairRawMarketDAtaToUI(code);
            }
            else if (strCommand.ToUpper().CompareTo(StrategyCommand.STR_OVERVIEW) == 0)
            {
                GiveOverviewDataToUI(command);
            }
            else if (strCommand.ToUpper().CompareTo(StrategyCommand.TAKE_OVER_BOND_ARB_YESTERDAY_POSITION) == 0)
            {
                TakeOverBondArbYesterdayPosition(Const.BOND_ARB_REMAIN_POSITION_PATH);
            }
            else if (strCommand.ToUpper().CompareTo(StrategyCommand.SAVE_BOND_ARB_REMAIN_POSITION) == 0)
            {
                SaveBondArbRemainPosition(Const.BOND_ARB_REMAIN_POSITION_PATH);
            }
            else if (strCommand.ToUpper().CompareTo(StrategyCommand.RUN_BOND_ARB_DTEST) == 0)
            {
                DynamicTest.DTest_BondArb.Ins().Run(this);
            }
            else if (strCommand.ToUpper().CompareTo(StrategyCommand.BOND_PAIR_LOAD_RISK_TAKE_COUNT) == 0)
            {
                int riskTakeCount = BondPairManager.Ins().GetRiskTakeCount();

                StringPacket sp = new StringPacket();
                sp.Encode(StrategyCommand.BOND_PAIR_LOAD_RISK_TAKE_COUNT);
                sp.Encode("" + riskTakeCount);

                StrategyUIChannel.Ins().UpdateUI(GetStrategyName(), sp);
            }
            else if (strCommand.ToUpper().CompareTo(StrategyCommand.BOND_PAIR_INCREASE_RISK_TAKE_COUNT) == 0)
            {
                BondPairManager.Ins().IncreaseRiskTakeCount();
            }
            else if (strCommand.ToUpper().CompareTo(StrategyCommand.BOND_PAIR_DECREASE_RISK_TAKE_COUNT) == 0)
            {
                BondPairManager.Ins().DecreaseRiskTakeCount();
            }
            else
            {
                logger.Warn("have no handle function");
            }
        }
Пример #2
0
        public void SendPacket(StringPacket packet)
        {
            String strPacket = packet.GetStream();

            try
            {
                if (_socket.Connected)
                {
                    // packet을 보낸다.
                    NetworkStream stream = _socket.GetStream();
                    Byte[] data = Encoding.ASCII.GetBytes(strPacket);
                    stream.BeginWrite(data, 0, data.Length, TcpStreamManager.WriteCallBack, this);
                }
                else
                {
                    //ERROR
                }
            }
            catch (System.Exception ex)
            {
                logger.Warn(ex.ToString());
            }
        }
Пример #3
0
 public void HandleCommand(StringPacket command)
 {
     String strCommand = command.Decode();
     if (strCommand.ToUpper().CompareTo(StrategyCommand.CREATE_CUSTOM_UI) == 0)
     {
         logger.Info(command.GetStream());
         CreateCustomUI();
     }
     else if (strCommand.ToUpper().CompareTo(StrategyCommand.REQUEST_ELW_OOR_ORDERS) == 0)
     {
         RequestElwOOROrders();
     }
     else
     {
         logger.Warn("have no handle function");
     }
 }