public PositionCloserStrategy(decimal priceToClose, PriceDirection securityDesirableDirection, decimal positionToClose) { _priceToClose = priceToClose; _securityDesirableDirection = securityDesirableDirection; _strategyOrderSide = positionToClose > 0 ? Sides.Sell : Sides.Buy; Volume = Math.Abs(positionToClose); }
public PriceLayerChange(decimal price, decimal oldquantity, decimal newquantity, PriceDirection dir) { this.PriceLayerRef = price; this.QuantityBefore = oldquantity; this.QuantityAfter = newquantity; this.TheChoice = dir; }
public PriceLayer(decimal price, decimal quantity, PriceDirection dir) { Price = price; Direction = dir; if (dir == PriceDirection.Ask) { this.AskQuantity = quantity; } else { this.BidQuantity = quantity; } }
public void AddHedgeLevel(PriceDirection direction, decimal value) { if (value <= 0) { throw new ArgumentException("all prices must be above zero: " + value); } if (PriceLevelsForHedge == null) { PriceLevelsForHedge = new List <PriceHedgeLevel>(); } PriceLevelsForHedge.Add(new PriceHedgeLevel(direction, value)); if (!_isPriceLevelsForHedgeInitialized && ProcessState == ProcessStates.Stopped) { _isPriceLevelsForHedgeInitialized = true; } }
public PriceHedgeLevel(PriceDirection direction, decimal price) { Direction = direction; Price = price; }
public void CreateNewCondtrategy(decimal priceToClose, Security securityToClose, PriceDirection securityDesirableDirection, decimal positionToClose) { //StrategyForTest = new PositionCloserStrategy(priceToClose, securityToClose, securityDesirableDirection, positionToClose); StrategyForTest.SetStrategyEntitiesForWork(StConnector, StSecurity, StPortfolio); }