示例#1
0
        public OkexPositionBriefInfo(OkexPositionInfo info, OkexFutureInstrumentType inst,
                                     OkexFutureContractType ct, OkexFutureTradeDirectionType dir)
        {
            contractID   = info.contract_id;
            instrument   = inst;
            contractType = ct;
            direction    = dir;

            leverRate = info.lever_rate;

            if (dir == OkexFutureTradeDirectionType.FTD_Buy)
            {
                amount    = info.buy_amount;
                available = info.buy_available;
                avgPrice  = info.buy_price_avg;
                costPrice = info.buy_price_cost;
                bond      = info.buy_bond;
                flatPrice = info.buy_flatprice;
            }
            else
            {
                amount    = info.sell_amount;
                available = info.sell_available;
                avgPrice  = info.sell_price_avg;
                costPrice = info.sell_price_cost;
                bond      = info.sell_bond;
                flatPrice = info.sell_flatprice;
            }
        }
示例#2
0
        // 仓位信息
        public bool getFuturePosition(OkexFutureInstrumentType instrument, OkexFutureContractType contract, out List <OkexPositionInfo> info)
        {
            string str = postRequest.future_position_4fix(OkexDefValueConvert.getInstrumentStr(instrument), OkexDefValueConvert.getContractTypeStr(contract));

            info = new List <OkexPositionInfo>();

            JObject jo     = (JObject)JsonConvert.DeserializeObject(str);
            bool    result = (bool)jo["result"];

            if (result)
            {
                JArray arr = JArray.Parse(jo["holding"].ToString());
                foreach (var item in arr)
                {
                    OkexPositionInfo pi = JsonConvert.DeserializeObject <OkexPositionInfo>(item.ToString());
                    info.Add(pi);
                }
            }

            return(result);
        }