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);
 }