Exemplo n.º 1
0
		private byte[] rejectmodifyfunction(MS_OM_REQUEST_TR obj)
        {
            var obj1 = new MS_OE_REQUEST()
            {
                header_obj =
                {
					TransactionCode =IPAddress.HostToNetworkOrder(Convert.ToInt16(2042)),
                    ErrorCode = 0,
                    LogTime = 1,
                    MessageLength = 1024,
                },
                OrderNumber = 1100100258 + count,
                contract_obj =
                {
                    InstrumentName = obj.Contr_dec_tr_Obj.InstrumentName,
                    Symbol = obj.Contr_dec_tr_Obj.Symbol,
                    ExpiryDate = obj.Contr_dec_tr_Obj.ExpiryDate,
                    StrikePrice = obj.Contr_dec_tr_Obj.StrikePrice,
                    OptionType = obj.Contr_dec_tr_Obj.OptionType
                },
                AccountNumber = obj.AccountNumber,
                Buy_SellIndicator = obj.Buy_SellIndicator,
                DisclosedVolume = obj.DisclosedVolume,
                Volume = obj.Volume,
                Price = obj.Price,
                Open_Close = obj.Open_Close,
                TraderId = obj.TraderId,
                BrokerId = Encoding.ASCII.GetBytes(obj.TraderId.ToString())
            };
            return DataPacket.RawSerialize(obj1);
        }
Exemplo n.º 2
0
		public byte[] tradeconferm_Mod(MS_OM_REQUEST_TR obj)//,int qty,int rem)
		{

			var obj1 = new MS_TRADE_CONFIRM_TR()
			{

				TransactionCode = IPAddress.NetworkToHostOrder((short)(20222)),
				ResponseOrderNumber = obj.OrderNumber,

				Contr_dec_tr_Obj =
				{
					InstrumentName = obj.Contr_dec_tr_Obj.InstrumentName,
					Symbol = obj.Contr_dec_tr_Obj.Symbol,
					ExpiryDate = obj.Contr_dec_tr_Obj.ExpiryDate,
					StrikePrice = obj.Contr_dec_tr_Obj.StrikePrice,
					OptionType = obj.Contr_dec_tr_Obj.OptionType,

				},
				AccountNumber = obj.AccountNumber,
				Buy_SellIndicator = obj.Buy_SellIndicator,
				DisclosedVolume = obj.DisclosedVolume,
				FillQuantity =obj.Volume,

				Price =obj.Price,
				OpenClose = obj.Open_Close,
				TraderId = obj.TraderId,
				BrokerId = obj.BrokerId,
				Token = obj.TokenNo,
				VolumeFilledToday = obj.VolumeFilledToday,
				RemainingVolume =obj.TotalVolumeRemaining,
				FillNumber = IPAddress.NetworkToHostOrder(FillNumber),

				FillPrice=obj.Price,

			};
			FillNumber += 1;
			//Console.WriteLine ("FillQuantity1  "+IPAddress.HostToNetworkOrder(obj.Volume));
			Console.WriteLine ("Buy_SellIndicator 20222 = "+IPAddress.HostToNetworkOrder(obj.Buy_SellIndicator)+" price :"+IPAddress.HostToNetworkOrder(obj1.FillPrice));
			//	sendbuffer (Logic.Instance.GetPF (tradeconferm_manual2(obj)));

			//obj1.FillQuantity = IPAddress.HostToNetworkOrder (25);
			return DataPacket.RawSerialize(obj1);
		}
Exemplo n.º 3
0
        private byte[] modifyfunction(MS_OM_REQUEST_TR obj)
        {
            var obj1 = new MS_OE_RESPONSE_TR()
            {
                TokenNo = obj.TokenNo,
                nnffield = obj.nnffield,
                TransactionCode = IPAddress.NetworkToHostOrder((short)(20074)),
                OrderNumber = obj.OrderNumber,
                Contr_dec_tr_Obj =
                {
                    InstrumentName = obj.Contr_dec_tr_Obj.InstrumentName,
                    Symbol = obj.Contr_dec_tr_Obj.Symbol,
                    ExpiryDate = obj.Contr_dec_tr_Obj.ExpiryDate,
                    StrikePrice = obj.Contr_dec_tr_Obj.StrikePrice,
                    OptionType = obj.Contr_dec_tr_Obj.OptionType
                },
                AccountNumber = obj.AccountNumber,
                Buy_SellIndicator = obj.Buy_SellIndicator,
                DisclosedVolume = obj.DisclosedVolume,
                Volume = obj.Volume,
                Price = obj.Price,
                Open_Close = obj.Open_Close,
                TraderId = obj.TraderId,
                BrokerId = Encoding.ASCII.GetBytes(obj.TraderId.ToString()),
            };
            concurrent.TryUpdate((long)1100100258 + count, obj1, obj1);
			Console.WriteLine ("20040 Volume"+IPAddress.HostToNetworkOrder(obj1.Volume));
            return DataPacket.RawSerialize(obj1);
        }
Exemplo n.º 4
0
        public byte[] tradeconferm(MS_OM_REQUEST_TR obj)
        {

            var obj1 = new MS_TRADE_CONFIRM_TR()
            {

                TransactionCode = IPAddress.NetworkToHostOrder((short)(20222)),
                ResponseOrderNumber = obj.OrderNumber,

                Contr_dec_tr_Obj =
                {
                    InstrumentName = obj.Contr_dec_tr_Obj.InstrumentName,
                    Symbol = obj.Contr_dec_tr_Obj.Symbol,
                    ExpiryDate = obj.Contr_dec_tr_Obj.ExpiryDate,
                    StrikePrice = obj.Contr_dec_tr_Obj.StrikePrice,
                    OptionType = obj.Contr_dec_tr_Obj.OptionType,

                },
                AccountNumber = obj.AccountNumber,
                Buy_SellIndicator = obj.Buy_SellIndicator,
                DisclosedVolume = obj.DisclosedVolume,
                FillQuantity = obj.Volume,
                Price = obj.Price,
                OpenClose = obj.Open_Close,
                TraderId = obj.TraderId,
                BrokerId = obj.BrokerId,
                Token = obj.TokenNo,
                VolumeFilledToday = obj.VolumeFilledToday,
                RemainingVolume = obj.TotalVolumeRemaining
            };
			Console.WriteLine ("FillQuantity1  "+IPAddress.HostToNetworkOrder(obj.Volume));
			Console.WriteLine ("FillQuantity2  "+obj.Volume);
            return DataPacket.RawSerialize(obj1);
        }
Exemplo n.º 5
0
        public byte[] logicclass(MS_OM_REQUEST_TR obj_1ms)
        {
			return tradeconferm(obj_1ms);
            if (_concurrentDataDictionary.TryGetValue(IPAddress.HostToNetworkOrder(obj_1ms.TokenNo), out _TempFP) == true)
            {


                if (IPAddress.HostToNetworkOrder(obj_1ms.Buy_SellIndicator) == 1)
                {
                    if (IPAddress.HostToNetworkOrder(obj_1ms.Price) <= _concurrentDataDictionary[IPAddress.HostToNetworkOrder(obj_1ms.TokenNo)].MAXBID)
                    {
                        MS_OE_RESPONSE_TR obj_21 = new MS_OE_RESPONSE_TR
                        {
                            TransactionCode = IPAddress.NetworkToHostOrder((short)20073),
                            ReasonCode = IPAddress.NetworkToHostOrder((short)0),
                            BookType = IPAddress.NetworkToHostOrder((short)1),
                            GoodTillDate = IPAddress.NetworkToHostOrder(0),
                            st_ord_flg_obj = new ST_ORDER_FLAGS
                            {
                                STOrderFlagIn = GetBitsToByteValue(0, 0, 0, 1, 0, 0, 0, 0),
                                STOrderFlagOut = GetBitsToByteValue(0, 0, 0, 0, 0, 0, 0, 0),
                            },
                            obj_add_order_flg = new ADDITIONAL_ORDER_FLAGS
                            {
                                Reserved1 = 2
                            },
                            TokenNo = obj_1ms.TokenNo,
                            Contr_dec_tr_Obj =
                            {
                                InstrumentName = obj_1ms.Contr_dec_tr_Obj.InstrumentName,
                                Symbol = obj_1ms.Contr_dec_tr_Obj.Symbol,
                                ExpiryDate = obj_1ms.Contr_dec_tr_Obj.ExpiryDate,
                                StrikePrice = obj_1ms.Contr_dec_tr_Obj.StrikePrice,
                                OptionType = obj_1ms.Contr_dec_tr_Obj.OptionType
                            },
                            AccountNumber = obj_1ms.AccountNumber,
                            Buy_SellIndicator = obj_1ms.Buy_SellIndicator,
                            DisclosedVolume = obj_1ms.DisclosedVolume,
                            Volume = obj_1ms.Volume,
                            Price = obj_1ms.Price,
                            Open_Close = obj_1ms.Open_Close,
							UserId = obj_1ms.UserId, //IPAddress.NetworkToHostOrder(30072),
                            BranchId = IPAddress.NetworkToHostOrder((short)4),
                            TraderId = IPAddress.NetworkToHostOrder(30072),
                            BrokerId = Encoding.ASCII.GetBytes("12468"),
                            Settlor = Encoding.ASCII.GetBytes("".ToUpper().PadRight(12)),
                            Pro_ClientIndicator = IPAddress.NetworkToHostOrder((short)2),
                            nnffield = obj_1ms.nnffield,
                        };
                        obj_1ms.Pro_ClientIndicator = IPAddress.NetworkToHostOrder((short)2);
                        _concortdict[IPAddress.NetworkToHostOrder(obj_1ms.TokenNo)][IPAddress.NetworkToHostOrder(obj_1ms.Buy_SellIndicator)].AddOrUpdate(IPAddress.NetworkToHostOrder((long)obj_1ms.OrderNumber), obj_21, (k, d) => obj_21);
						return modifyfunction(obj_1ms);
                    }
                    else if (IPAddress.HostToNetworkOrder(obj_1ms.Price) > _concurrentDataDictionary[IPAddress.HostToNetworkOrder(obj_1ms.TokenNo)].MAXBID)
                    {
                        MS_OE_RESPONSE_TR orresponce = new MS_OE_RESPONSE_TR();
                        _concortdict[IPAddress.NetworkToHostOrder(obj_1ms.TokenNo)][IPAddress.NetworkToHostOrder(obj_1ms.Buy_SellIndicator)].TryRemove(IPAddress.NetworkToHostOrder((long)obj_1ms.OrderNumber), out orresponce);
                        return tradeconferm(obj_1ms);
                    }
                }
                else if (IPAddress.HostToNetworkOrder(obj_1ms.Buy_SellIndicator) == 2)
                {
                    if (IPAddress.HostToNetworkOrder(obj_1ms.Price) >= _concurrentDataDictionary[IPAddress.HostToNetworkOrder(obj_1ms.TokenNo)].MINASK)
                    {
                        return modifyfunction(obj_1ms);
                    }
                    else if (IPAddress.HostToNetworkOrder(obj_1ms.Price) < _concurrentDataDictionary[IPAddress.HostToNetworkOrder(obj_1ms.TokenNo)].MINASK)
                    {
                        return tradeconferm(obj_1ms);
                    }
                }
            }
            byte[] buff = { };
            return buff;
        }
Exemplo n.º 6
0
		private byte[] cancelfunction(MS_OM_REQUEST_TR obj)
		{
			var obj1 = new MS_OE_RESPONSE_TR()
			{
				TransactionCode = IPAddress.NetworkToHostOrder((short)(20075)),
				OrderNumber = obj.OrderNumber,
				Contr_dec_tr_Obj =
				{
					InstrumentName = obj.Contr_dec_tr_Obj.InstrumentName,
					Symbol = obj.Contr_dec_tr_Obj.Symbol,
					ExpiryDate = obj.Contr_dec_tr_Obj.ExpiryDate,
					StrikePrice = obj.Contr_dec_tr_Obj.StrikePrice,
					OptionType = obj.Contr_dec_tr_Obj.OptionType
				},
				AccountNumber = obj.AccountNumber,
				Buy_SellIndicator = obj.Buy_SellIndicator,
				DisclosedVolume = obj.DisclosedVolume,
				Volume = obj.Volume,
				Price = obj.Price,
				Open_Close = obj.Open_Close,
				TraderId = obj.TraderId,
				BrokerId = obj.BrokerId,
				nnffield = obj.nnffield,
				TokenNo = obj.TokenNo
			};
			MS_OE_RESPONSE_TR b = new MS_OE_RESPONSE_TR();
			concurrent.TryRemove((long)DoubleEndianChange(obj.OrderNumber), out b);
			return DataPacket.RawSerialize(obj1);
		}