public SweepController_KtbSkel(Position_KtbSkel targetPosition, Account futureAccount) { this.TargetPosition = targetPosition; this.UnsignedSpotContractedCount = 0; this.SpotDone = false; this.FuturePositionTakers = new List<PositionTakerController>(); _futureAccount = futureAccount; }
public Position_KtbSkel GetPosition() { if (IsDone()) { String futureCode = this.TargetPosition.FutureCode; double futureAvgPrice = GetAvgFuturePrice(); long tmpFutureCount = GetFutureMaxPossibleCount(); LongShortCount tmpFutureLsc = new LongShortCount(this.TargetPosition.SignedFutureCount); LongShortCount futureLsc = new LongShortCount(tmpFutureLsc.LongShort, Convert.ToUInt64(tmpFutureCount)); long signedFutureCount = futureLsc.GetSignedCount(); String spotCode = this.TargetPosition.SpotCode; double spotAvgPrice = this.TargetPosition.SpotAvgPriceTimeAdjust; LongShortCount tmpSpotLsc = new LongShortCount(this.TargetPosition.SignedSpotCount); LongShortCount spotLsc = new LongShortCount(tmpSpotLsc.LongShort, Convert.ToUInt64(this.UnsignedSpotContractedCount)); long signedSpotCount = spotLsc.GetSignedCount(); DateTime tradingDate = CoreLib.DateUtil.GetTodayDateTime(0, 0, 0); Position_KtbSkel position = new Position_KtbSkel( spotCode, signedSpotCount, spotAvgPrice, futureCode, signedFutureCount, futureAvgPrice, tradingDate, 0); return position; } else { String ex = "Invalid"; logger.Error(ex.ToString()); Util.KillWithNotice(ex.ToString()); } return null; }
public void SetRealPosition(Position_KtbSkel real) { _sweepController.SetRealPosition(real); }
void SetTargetPosition(RawMarketData spotRmd, RawMarketData futureRmd) { DateTime tradingDate = CoreLib.DateUtil.GetTodayDateTime(0, 0, 0); if (_enterExitPolicy.GetInOutType() == InOutType.InType) { _targetPosition = new Position_KtbSkel( spotRmd.Code, _unsignedNotional, spotRmd.AskPrice1, futureRmd.Code, (-1) * _unsignedNotional, futureRmd.BidPrice1, tradingDate, 0); } else { _targetPosition = new Position_KtbSkel( spotRmd.Code, (-1) * _unsignedNotional, spotRmd.BidPrice1, futureRmd.Code, _unsignedNotional, futureRmd.AskPrice1, tradingDate, 0); } }
public void SetRealPosition(Position_KtbSkel pos) { this.RealPosition = pos; this._bDone = true; }
public ManualSweepController_KtbSkel(Position_KtbSkel targetPosition) { this.TargetPosition = targetPosition; }
public void ExecuteAfterSweeperDone(ProcessController_KtbSkel controller, Position_KtbSkel position) { // Out, controller.SortedPositionStack.Erase(position); }