protected void ProcessDelayedPositions() { double lowestAsk = Ticker.OrderBook.Asks[0].Value; bool continueCheck = true; while (continueCheck) { continueCheck = false; foreach (DelayedPositionInfo info in DelayedPositions) { if (info.Type == OrderType.Buy) { if (StrategyData.Count - 1 - info.DataItemIndex > info.LiveTimeLength) { DelayedPositions.Remove(info); continueCheck = true; break; } if (lowestAsk <= info.Price) { OpenDelayedPosition(info); continueCheck = true; break; } } } } }
protected virtual void OpenDelayedPosition(DelayedPositionInfo info) { DelayedPositions.Remove(info); }