Exemplo n.º 1
0
 public ActiveContract(ThostFtdcInstrumentField contract)
 {
     this.Contract = contract;
     LongPosition = new ThostFtdcInvestorPositionField();
     ShortPosition = new ThostFtdcInvestorPositionField();
     OptionValue = new OptionValue();
 }
Exemplo n.º 2
0
 void OnRspQryInvestorPosition(ThostFtdcInvestorPositionField pInvestorPosition, ThostFtdcRspInfoField pRspInfo, int nRequestID, bool bIsLast)
 {
     DebugPrintFunc(new StackTrace());
     if (bIsLast && !IsErrorRspInfo(pRspInfo))
     {
         // 报单录入请求
         //ReqOrderInsert();
     }
 }
Exemplo n.º 3
0
 public static OptionPosition ToOptionPosition(this ThostFtdcInvestorPositionField self)
 {
     return(new OptionPosition
     {
         InstrumentID = self.InstrumentID,
         Qty = self.Position,
         UsableQty = self.Position - self.LongFrozen - self.ShortFrozen
     });
 }
Exemplo n.º 4
0
 void OnRspQryInvestorPosition(ThostFtdcInvestorPositionField pInvestorPosition, ThostFtdcRspInfoField pRspInfo, int nRequestID, bool bIsLast)
 {
     __DEBUGPF__();
     if (!IsErrorRspInfo(pRspInfo))
     {
         //pInvestorPosition.Position;
         HandleStatusInternal("当前账户持仓:" + pInvestorPosition.InstrumentID + " - " + pInvestorPosition.Position);
     }
 }
Exemplo n.º 5
0
 void OnRspQryInvestorPosition(ThostFtdcInvestorPositionField pInvestorPosition, ThostFtdcRspInfoField pRspInfo, int nRequestID, bool bIsLast)
 {
     __DEBUGPF__();
     if (bIsLast && !IsErrorRspInfo(pRspInfo))
     {
         // 报单录入请求
         ReqOrderInsert();
     }
 }
Exemplo n.º 6
0
        /// <summary>
        /// 持仓返回
        /// </summary>
        /// <param name="pInvestorPosition"></param>
        /// <param name="pRspInfo"></param>
        /// <param name="nRequestID"></param>
        /// <param name="bIsLast"></param>
        public void HandleOnRspQryInvestorPosition(ThostFtdcInvestorPositionField pInvestorPosition, ThostFtdcRspInfoField pRspInfo, int nRequestID, bool bIsLast)
        {
            var position = new PositionData();

            ///合约推送
            this.Gateway.MainController.MainEvent._OnPosition.Invoke(position);
            if (bIsLast)
            {
                Console.WriteLine("持仓返回完毕");
            }
        }
Exemplo n.º 7
0
 public override void OnRspQryInvestorPosition(ThostFtdcInvestorPositionField pInvestorPosition, ThostFtdcRspInfoField pRspInfo, int nRequestID, bool bIsLast)
 {
     if (pRspInfo != null && pRspInfo.ErrorID != 0)
     {
         LogCenter.Error("请求查询投资者持仓错误:" + pRspInfo.ErrorMsg);
         return;
     }
     if (pInvestorPosition == null)
     {
         return;
     }
     var position = new InvestorPosition
     {
         InstrumentID = pInvestorPosition.InstrumentID,
         BrokerID = pInvestorPosition.BrokerID,
         InvestorID = pInvestorPosition.InvestorID,
         PosiDirection = (PosiDirection)pInvestorPosition.PosiDirection,
         HedgeFlag = (HedgeFlag)pInvestorPosition.HedgeFlag,
         PositionDate = (PositionDateType)pInvestorPosition.PositionDate,
         YdPosition = pInvestorPosition.YdPosition,
         Position = pInvestorPosition.Position,
         LongFrozen = pInvestorPosition.LongFrozen,
         ShortFrozen = pInvestorPosition.ShortFrozen,
         LongFrozenAmount = pInvestorPosition.LongFrozenAmount,
         ShortFrozenAmount = pInvestorPosition.ShortFrozenAmount,
         OpenVolume = pInvestorPosition.OpenVolume,
         CloseVolume = pInvestorPosition.CloseVolume,
         OpenAmount = pInvestorPosition.OpenAmount,
         CloseAmount = pInvestorPosition.CloseAmount,
         PositionCost = pInvestorPosition.PositionCost,
         PreMargin = pInvestorPosition.PreMargin,
         UseMargin = pInvestorPosition.UseMargin,
         FrozenMargin = pInvestorPosition.FrozenMargin,
         FrozenCash = pInvestorPosition.FrozenCash,
         FrozenCommission = pInvestorPosition.FrozenCommission,
         CashIn = pInvestorPosition.CashIn,
         Commission = pInvestorPosition.Commission,
         CloseProfit = pInvestorPosition.CloseProfit,
         PositionProfit = pInvestorPosition.PositionProfit,
         PreSettlementPrice = pInvestorPosition.PreSettlementPrice,
         SettlementPrice = pInvestorPosition.SettlementPrice,
         TradingDay = pInvestorPosition.TradingDay,
         SettlementID = pInvestorPosition.SettlementID,
         OpenCost = pInvestorPosition.OpenCost,
         ExchangeMargin = pInvestorPosition.ExchangeMargin,
         CombPosition = pInvestorPosition.CombPosition,
         CombLongFrozen = pInvestorPosition.CombLongFrozen,
         CombShortFrozen = pInvestorPosition.CombShortFrozen,
         CloseProfitByDate = pInvestorPosition.CloseProfitByDate,
         CloseProfitByTrade = pInvestorPosition.CloseProfitByTrade,
         TodayPosition = pInvestorPosition.TodayPosition,
         MarginRateByMoney = pInvestorPosition.MarginRateByMoney,
         MarginRateByVolume = pInvestorPosition.MarginRateByVolume,
         StrikeFrozen = pInvestorPosition.StrikeFrozen,
         StrikeFrozenAmount = pInvestorPosition.StrikeFrozenAmount,
         AbandonFrozen = pInvestorPosition.AbandonFrozen,
     };
     this.positions.Add(position);
     if (bIsLast)
     {
         PositionViewModel.Instance.Update(this.positions);
     }
 }
Exemplo n.º 8
0
 void OnRspQryInvestorPosition(ThostFtdcInvestorPositionField pInvestorPosition, ThostFtdcRspInfoField pRspInfo, int nRequestID, bool bIsLast)
 {
     __DEBUGPF__();
     //pInvestorPosition.Position;
 }
Exemplo n.º 9
0
 public override void OnRspQryInvestorPosition(ThostFtdcInvestorPositionField pInvestorPosition, ThostFtdcRspInfoField pRspInfo, int nRequestID, bool bIsLast)
 {
     throw new NotImplementedException();
 }
Exemplo n.º 10
0
        public override void OnRspQryInvestorPosition(ThostFtdcInvestorPositionField pInvestorPosition, ThostFtdcRspInfoField pRspInfo, int nRequestID, bool bIsLast)
        {
            if (pRspInfo != null && pRspInfo.ErrorID != 0)
            {
                LogCenter.Error("请求查询投资者持仓错误:" + pRspInfo.ErrorMsg);
                return;
            }
            if (pInvestorPosition == null)
            {
                return;
            }
            var position = new InvestorPosition
            {
                InstrumentID       = pInvestorPosition.InstrumentID,
                BrokerID           = pInvestorPosition.BrokerID,
                InvestorID         = pInvestorPosition.InvestorID,
                PosiDirection      = (PosiDirection)pInvestorPosition.PosiDirection,
                HedgeFlag          = (HedgeFlag)pInvestorPosition.HedgeFlag,
                PositionDate       = (PositionDateType)pInvestorPosition.PositionDate,
                YdPosition         = pInvestorPosition.YdPosition,
                Position           = pInvestorPosition.Position,
                LongFrozen         = pInvestorPosition.LongFrozen,
                ShortFrozen        = pInvestorPosition.ShortFrozen,
                LongFrozenAmount   = pInvestorPosition.LongFrozenAmount,
                ShortFrozenAmount  = pInvestorPosition.ShortFrozenAmount,
                OpenVolume         = pInvestorPosition.OpenVolume,
                CloseVolume        = pInvestorPosition.CloseVolume,
                OpenAmount         = pInvestorPosition.OpenAmount,
                CloseAmount        = pInvestorPosition.CloseAmount,
                PositionCost       = pInvestorPosition.PositionCost,
                PreMargin          = pInvestorPosition.PreMargin,
                UseMargin          = pInvestorPosition.UseMargin,
                FrozenMargin       = pInvestorPosition.FrozenMargin,
                FrozenCash         = pInvestorPosition.FrozenCash,
                FrozenCommission   = pInvestorPosition.FrozenCommission,
                CashIn             = pInvestorPosition.CashIn,
                Commission         = pInvestorPosition.Commission,
                CloseProfit        = pInvestorPosition.CloseProfit,
                PositionProfit     = pInvestorPosition.PositionProfit,
                PreSettlementPrice = pInvestorPosition.PreSettlementPrice,
                SettlementPrice    = pInvestorPosition.SettlementPrice,
                TradingDay         = pInvestorPosition.TradingDay,
                SettlementID       = pInvestorPosition.SettlementID,
                OpenCost           = pInvestorPosition.OpenCost,
                ExchangeMargin     = pInvestorPosition.ExchangeMargin,
                CombPosition       = pInvestorPosition.CombPosition,
                CombLongFrozen     = pInvestorPosition.CombLongFrozen,
                CombShortFrozen    = pInvestorPosition.CombShortFrozen,
                CloseProfitByDate  = pInvestorPosition.CloseProfitByDate,
                CloseProfitByTrade = pInvestorPosition.CloseProfitByTrade,
                TodayPosition      = pInvestorPosition.TodayPosition,
                MarginRateByMoney  = pInvestorPosition.MarginRateByMoney,
                MarginRateByVolume = pInvestorPosition.MarginRateByVolume,
                StrikeFrozen       = pInvestorPosition.StrikeFrozen,
                StrikeFrozenAmount = pInvestorPosition.StrikeFrozenAmount,
                AbandonFrozen      = pInvestorPosition.AbandonFrozen,
            };

            this.positions.Add(position);
            if (bIsLast)
            {
                PositionViewModel.Instance.Update(this.positions);
            }
        }
Exemplo n.º 11
0
 ///请求查询投资者持仓响应
 public void OnRspQryInvestorPosition(ThostFtdcInvestorPositionField pInvestorPosition, ThostFtdcRspInfoField pRspInfo, int nRequestID, bool bIsLast)
 {
     if (!IsErrorRspInfo(pRspInfo) && pInvestorPosition != null)
     {
         cMainForm.SetTDRspQryInvestorPosition((object)pInvestorPosition);
     }
 }
Exemplo n.º 12
0
 /// <summary>
 /// 查询投资者持仓应答
 /// </summary>
 /// <param name="pInvestorPosition"></param>
 /// <param name="pRspInfo"></param>
 /// <param name="nRequestID"></param>
 /// <param name="bIsLast"></param>
 void OnRspQryInvestorPosition(ThostFtdcInvestorPositionField pInvestorPosition, ThostFtdcRspInfoField pRspInfo, int nRequestID, bool bIsLast)
 {
     DebugPrintFunc(new StackTrace());
     if (bIsLast && !IsErrorRspInfo(pRspInfo))
     {
         //报单查询请求
         ReqQryOrder();
     }
 }
Exemplo n.º 13
0
 //查询返回时,昨仓和今仓会分开返回,所以要分别判断时间,取YDPosition或TodayPosition,Position是总持仓
 private void TraderAdapter_OnRspQryInvestorPosition(ThostFtdcInvestorPositionField pInvestorPosition,
                                                     ThostFtdcRspInfoField pRspInfo, int nRequestId, bool bIsLast)
 {
 }
Exemplo n.º 14
0
 public override void OnRspQryInvestorPosition(ThostFtdcInvestorPositionField pInvestorPosition, ThostFtdcRspInfoField pRspInfo, int nRequestID, bool bIsLast)
 {
     throw new NotImplementedException();
 }
Exemplo n.º 15
0
 void trader_OnRspQryInvestorPosition(ThostFtdcInvestorPositionField pInvestorPosition, ThostFtdcRspInfoField pRspInfo, int nRequestID, bool bIsLast)
 {
     if (!bIsLast)
     {
         investorPositionList.Add(pInvestorPosition);
         return;
     }
     this.SetMsg("正在查询合约代码……");
     try
     {
         Thread.Sleep(1000);
         trader.ReqQryInstrument(new ThostFtdcQryInstrumentField(), requestID++);
     }
     catch (Exception exp)
     {
         this.SetMsg("合约代码查询失败," + exp.Message);
     }
 }