/// <summary> /// Output all executed state switches to filepath. /// </summary> /// <param name="filepath">Filepath to store trades at.</param> /// <param name="stateSwitchEvents">List of state switches during the backtest.</param> private static void OutputStateSwitches(string filepath, List <StateSwitchEvent> stateSwitchEvents) { var builder = new StringBuilder(); builder.AppendLine(StateSwitchEvent.GetStaticCsvHeader(Delimiter)); foreach (var stateSwitch in stateSwitchEvents) { builder.AppendLine(stateSwitch.GetCsvRepresentation(Delimiter)); } WriteAllText(filepath, builder.ToString()); }
private void OnNext(Type stateSwitch) { var item = new StateSwitchEvent( DateTimeOffset.Now.ToUnixTimeMilliseconds(), stateSwitch.Name, Session); lock (Lock) { _database.StateSwitchEvents.Add(item); _database.SaveChanges(); } }