Можно сохранять все что нужно в xml файл вот так.
В вашей стратегии создаем пару свойств 
Код
  
private bool _firstStart = true;
public SettingsStorage SettingsStorage;
 В конструкторе стратегии создаем файл
Код
 if (!Name) throw new ArgumentNullException("Strategy Name");
          if (File.Exists(Name + "_settings.xml"))
          {
              SettingsStorage = new XmlSerializer<SettingsStorage>().Deserialize(Name + "_settings.xml");
          }
          else
          {
              SettingsStorage = new Ecng.Serialization.SettingsStorage();
          }
 В метод "на старте" стратегии добавляем код
Код
 base.OnStarted();
        
          if (_firstStart)
          {
              LoadState(SettingsStorage);
              _firstStart = false;
 
          }
          
 Хотя в в расширениях для стратегий, кажется есть такой метод, делаем свой, или как хотите)
В моем есть немного мусора, плюс то что нужно мне. Вам стоит обратить внимание на "OrderByTransactionIds".
Код
  protected virtual void LoadState(SettingsStorage storage)
      {
          if (storage == null)
              throw new ArgumentNullException("storage");
          var settings = storage.GetValue<SettingsStorage>("Settings");
          if (settings != null && settings.Count != 0)
          {
             /* if (settings.Contains("security"))
                  Security = Trader.Securities.FirstOrDefault(s => s.Id == settings.GetValue<string>("security"));
              if (settings.Contains("portfolio"))
                  Portfolio = Trader.Portfolios.FirstOrDefault(p => p.Name == settings.GetValue<string>("portfolio"));
              
              var id = Id;
           
              if (Id != id)
                  throw new InvalidOperationException();
               * */
          }
          else
          {
                settings = new SettingsStorage();
                settings.SetValue("PortfolioCurrentMinValue", _defaultCurrentMinValue);
                settings.SetValue("MaxPositionValue", _defaultMaxPositionValue);
                settings.SetValue("MinPnL", _defaultMinPnL);
                settings.SetValue(TradeSize, _defaultSize);
                settings.SetValue(IsTradeAllowed, _defaultIsTradeAllowed);
              
              
                storage.SetValue("Settings", settings);
          }
             Load(storage);
         
          var statistics = storage.GetValue<SettingsStorage>("Statistics");
          if (statistics != null)
          {
              foreach (var parameter in StatisticManager.Parameters.Where(parameter => statistics.ContainsKey(parameter.Name)))
              {
                  parameter.Load(statistics.GetValue<SettingsStorage>(parameter.Name));
              }
          }
          var orderTransactionIds = storage.GetValue<Dictionary<long, Order>>("OrderByTransactionIds");
          if (orderTransactionIds != null)
          {
              foreach (var transactionId in orderTransactionIds.Keys)
              {
                  var order = Trader.Orders.First(o => o.TransactionId == transactionId);
                  if (order != null) AttachOrder(order, order.GetTrades());
                  
              }
          }
      }
 Ну и переопределяем метод сохранения. 
Код
public override void Save(SettingsStorage storage)
      {
          
          var ordersToWrite = new Dictionary<long, Order>();
          foreach (var order in Orders)
          {
              ordersToWrite.Add(order.TransactionId, order);
          }
          if (storage.ContainsKey("OrderByTransactionIds")) storage["OrderByTransactionIds"] = ordersToWrite;
          else storage.Add("OrderByTransactionIds", ordersToWrite);
          var xmlSerializer = new XmlSerializer<SettingsStorage>();
          xmlSerializer.Serialize(storage, Name + "_settings.xml");
          base.Save(storage);
      }
 Так стратегия будет восстанавливать orders, trades, positions,pnl и т.д. Но только в том случае, если из шлюза приходят зарегестрированные ранее заявки,сделки и т.д. 
Если нет, то нужно наследоваться от шлюза Trader и нечто похожее на то, что делалось для стратегии проделать и там, сохраняя сделки, ордера, портфели, инструменты.
В стокшарпе есть как бы ORM для этого - EntityStorage. Но у меня ее как бы не особо получается заставить работать. 
После добавления недостающих полей в БД, без которых, естественно, ничего никуда не сохраняется, можно с горем пополам сохранять ордера, сделки, инструменты, портфели.
Но отношения между таблицами нихрена не работают, подозреваю, что в Ecng.Data какая-то жопа.
Почему бы не мигрировать S# на EntityFramework и не сделать прекрасную модель данных для всего, что только можно. Понятно, что будут возникать проблемы при обновлении версий, но они ж и так возникают=))
И даже, видимо, не обязательно ковырять и перенаследовать все сущности, благодаря first code with POCO.