void TakeOverBondArbYesterdayPosition(String path) { // 포지션 승계는 한번만 해야 되고 포지션 저장을 한 뒤에는 못한다. // 포지션 저장을 먼저 한 뒤에 승계를 해버리면 중복해서 매도 주문이 나갈 가능성이 생기는 데, 이건 큰 문제이다. if (_bTakeOverBondArbYesterdayPosition) { logger.Warn("You already TakeOverBondArbYesterdayPosition"); return; } _bTakeOverBondArbYesterdayPosition = true; if (_bSaveBondArbPosition) { logger.Warn("You already SaveBondArbPosition. If you continue this process, remain position data will be broken, so I jump out this process for safety..."); return; } // file에서 값을 읽어온다. RemainBondArbPositionDataManager.Ins().ReloadData(path); List<RemainPositionDatum> data = RemainBondArbPositionDataManager.Ins().GetData(); foreach (RemainPositionDatum datum in data) { RmdManager.Ins().BondSpot.Register(datum.EnterCodeWithMarketType); RmdManager.Ins().BondSpot.Register(datum.PairCodeWithMarketType); RawMarketData rmdEnter = RmdManager.Ins().BondSpot.GetDataClone(datum.EnterCodeWithMarketType); POrder o = new POrder( TradingDirection.Long, datum.EnterCodeWithMarketType, datum.CurTargetCount, datum.EnterPrice, this.BondAccount, rmdEnter, BondUtil.GetMarketType(datum.EnterCodeWithMarketType), false); this.BondAccount.RegisterAsAllContract(o); Sweeper_BondArb sweeper = new Sweeper_BondArb(); sweeper.SetAsSweeperMode(this.BondAccount, datum); this._bondArbNode.GetSweeperCollection().Add(sweeper); } }