コード例 #1
0
        public List <HKMarketValue> QuerymarketValueHKHold(string code, ref string strMessage)
        {
            List <HKMarketValue> list = new List <HKMarketValue>();

            List <HKTraderFindService.HKHoldFindResultyEntity> holdMarket = QueryHKHold(code, hkAccount, ref strMessage);

            if (holdMarket == null)
            {
                return(list);
            }
            foreach (var item in holdMarket)
            {
                HKMarketValue hkmare = new HKMarketValue();
                hkmare.BelongMarket      = item.BelongMarket;
                hkmare.BreakevenPrice    = item.HoldFindResult.BreakevenPrice;
                hkmare.Code              = item.HoldFindResult.Code;
                hkmare.CostPrice         = item.HoldFindResult.CostPrice;
                hkmare.CurrencyName      = item.CurrencyName;
                hkmare.ErroNumber        = item.ErroNumber;
                hkmare.ErroReason        = item.ErroReason;
                hkmare.FloatProfitLoss   = item.FloatProfitLoss;
                hkmare.HKName            = item.HKName;
                hkmare.HoldAveragePrice  = item.HoldFindResult.HoldAveragePrice;
                hkmare.HoldSumAmount     = item.HoldSumAmount;
                hkmare.MarketValue       = item.MarketValue;
                hkmare.RealtimePrice     = item.RealtimePrice;
                hkmare.TraderId          = item.TraderId;
                hkmare.VarietyCategories = item.VarietyCategories;
                list.Add(hkmare);
            }
            return(list);
        }
コード例 #2
0
        public List <HKMarketValue> QueryMarketValueQHHold(string code, ref string strMessage)
        {
            List <HKMarketValue> list = new List <HKMarketValue>();

            if (!IsServiceOk)
            {
                return(null);
            }

            int icount;
            var shcfe = new TraderFindService.FuturesHoldConditionFindEntity();

            if (!string.IsNullOrEmpty(code))
            {
                shcfe.ContractCode = code;
            }
            var holds = traderFindClient.FuturesHoldFind(out icount, gzqhAccount, "", shcfe, 0, int.MaxValue, ref strMessage);

            if (holds == null)
            {
                return(list);
            }
            foreach (var item in holds)
            {
                HKMarketValue hkmare = new HKMarketValue();
                hkmare.BelongMarket     = item.BelongMarket;
                hkmare.BreakevenPrice   = item.HoldFindResult.BreakevenPrice;
                hkmare.Code             = item.HoldFindResult.Contract;
                hkmare.CostPrice        = item.HoldFindResult.CostPrice;
                hkmare.CurrencyName     = item.CurrencyName;
                hkmare.ErroNumber       = item.ErroNumber;
                hkmare.ErroReason       = item.ErroReason;
                hkmare.FloatProfitLoss  = item.FloatProfitLoss;
                hkmare.HKName           = item.ContractName;
                hkmare.HoldAveragePrice = item.HoldFindResult.HoldAveragePrice;
                hkmare.HoldSumAmount    = item.HoldSumAmount;
                // 买方向的盯市盈亏=买方向的盯市盈亏=[持仓总量={0}*(当前价={1}-持仓均价={2})*交易单位倍数={3}]
                //sfre.MarketProfitLoss = computeTotal * (sfre.RealtimePrice - _QhAccountHold.HoldAveragePrice);
                //decimal holdSum = (decimal)item.FloatProfitLoss / (item.RealtimePrice - item.HoldFindResult.HoldAveragePrice);
                //if (holdSum == 0)
                //{
                hkmare.MarketValue = item.HoldSumAmount * item.RealtimePrice * 300;//因后台期货持仓查询返回没有计算市值,所以这里按后台公式自行计算,这里默认300
                //这里应该乘上数值倍数
                //}
                //else
                //{
                //  hkmare.MarketValue = holdSum * item.RealtimePrice;//因后台期货持仓查询返回没有计算市值,所以这里按后台公式自行计算
                //}
                hkmare.RealtimePrice    = item.RealtimePrice;
                hkmare.MarketProfitLoss = item.MarketProfitLoss;

                hkmare.TraderId          = item.TraderId;
                hkmare.VarietyCategories = item.VarietyCategories;
                list.Add(hkmare);
            }
            return(list);
        }
コード例 #3
0
        public List <HKMarketValue> QuerymarketValueXHHold(string code, ref string strMessage)
        {
            List <HKMarketValue> list = new List <HKMarketValue>();

            if (!IsServiceOk)
            {
                return(null);
            }

            int icount;
            var shcfe = new TraderFindService.SpotHoldConditionFindEntity();

            if (!string.IsNullOrEmpty(code))
            {
                shcfe.SpotCode = code;
            }
            var holds = traderFindClient.SpotHoldFind(out icount, xhAccount, "", shcfe, 0, int.MaxValue, ref strMessage);

            if (holds == null)
            {
                return(list);
            }
            foreach (var item in holds)
            {
                HKMarketValue hkmare = new HKMarketValue();
                hkmare.BelongMarket      = item.BelongMarket;
                hkmare.BreakevenPrice    = item.HoldFindResult.BreakevenPrice;
                hkmare.Code              = item.HoldFindResult.Code;
                hkmare.CostPrice         = item.HoldFindResult.CostPrice;
                hkmare.CurrencyName      = item.CurrencyName;
                hkmare.ErroNumber        = item.ErroNumber;
                hkmare.ErroReason        = item.ErroReason;
                hkmare.FloatProfitLoss   = item.FloatProfitLoss;
                hkmare.HKName            = item.SpotName;
                hkmare.HoldAveragePrice  = item.HoldFindResult.HoldAveragePrice;
                hkmare.HoldSumAmount     = item.HoldSumAmount;
                hkmare.MarketValue       = item.MarketValue;
                hkmare.RealtimePrice     = item.RealtimePrice;
                hkmare.TraderId          = item.TraderId;
                hkmare.VarietyCategories = item.VarietyCategories;
                list.Add(hkmare);
            }
            return(list);
        }