Apparently this is caused by IQFeed Data Provider and it is something to do with extended hours bars.
The workaround is to filter out the extended hours bars using Market Manager.
QUOTE:
System.Threading.ThreadAbortException: Thread was being aborted.
at WealthLab.DataSeries.a(Double A_0)
at WealthLab.Bars.Add(DateTime dt, Double open, Double high, Double low, Double close, Double volume, Boolean eliminateTimeIfNonIntraday)
at WealthLab.Bars.Add(DateTime dt, Double open, Double high, Double low, Double close, Double volume)
at c.f()
at WealthLab.DataProviders.MarketManagerService.MarketManager.a(Bars A_0, TimeZoneInfo A_1, DateTime A_2, DateTime A_3, Int32 A_4, String A_5)
at WealthLab.DataProviders.MarketManagerService.MarketManager.ConvertBars(Bars bars, DateTime startDate, DateTime endDate, Int32 maxBars, String providerName)
at WealthLab.DataProviders.IQFeed.IQFeedStaticProvider.RequestData(DataSource ds, String symbol, DateTime startDate, DateTime endDate, Int32 maxBars, Boolean includePartialBar)
at WealthLabPro.MainModule.LoadExternalSymbol(String dataSetName, String symbol)
at WealthLabPro.ChartForm.a(Object A_0, LoadSymbolFromDataSetEventArgs A_1)
at WealthLab.TradingSystemExecutor.a(String A_0, String A_1, Boolean A_2)
at WealthLab.WealthScript.GetExternalSymbol(String dataSetName, String symbol, Boolean synchronize)
at WealthLab.Strategies.MyStrategy1.Main()
at WealthLab.Strategies.MyStrategy1.Execute()
System.Threading.ThreadAbortException: Thread was being aborted.
at System.Threading.Monitor.Enter(Object obj)
at WealthLab.DataProviders.MarketManagerService.MarketManager.a(Bars A_0, TimeZoneInfo A_1, DateTime A_2, DateTime A_3, Int32 A_4, String A_5)
at WealthLab.DataProviders.MarketManagerService.MarketManager.ConvertBars(Bars bars, DateTime startDate, DateTime endDate, Int32 maxBars, String providerName)
at WealthLab.DataProviders.IQFeed.IQFeedStaticProvider.RequestData(DataSource ds, String symbol, DateTime startDate, DateTime endDate, Int32 maxBars, Boolean includePartialBar)
at WealthLabPro.MainModule.LoadExternalSymbol(String dataSetName, String symbol)
at WealthLabPro.ChartForm.a(Object A_0, LoadSymbolFromDataSetEventArgs A_1)
at WealthLab.TradingSystemExecutor.a(String A_0, String A_1, Boolean A_2)
at WealthLab.WealthScript.GetExternalSymbol(String dataSetName, String symbol, Boolean synchronize)
at WealthLab.Strategies.MyStrategy9.Main()
at WealthLab.Strategies.MyStrategy9.Execute()
System.Threading.ThreadAbortException: Thread was being aborted.
at Microsoft.Win32.SafeNativeMethods.OutputDebugString(String message)
at System.Diagnostics.DefaultTraceListener.Write(String message, Boolean useLogFile)
at System.Diagnostics.DefaultTraceListener.WriteLine(String message, Boolean useLogFile)
at System.Diagnostics.TraceInternal.WriteLine(String message)
at WealthLab.DataProviders.MarketManagerService.MarketManager.a(Bars A_0, TimeZoneInfo A_1, DateTime A_2, DateTime A_3, Int32 A_4, String A_5)
at WealthLab.DataProviders.MarketManagerService.MarketManager.ConvertBars(Bars bars, DateTime startDate, DateTime endDate, Int32 maxBars, String providerName)
at WealthLab.DataProviders.IQFeed.IQFeedStaticProvider.RequestData(DataSource ds, String symbol, DateTime startDate, DateTime endDate, Int32 maxBars, Boolean includePartialBar)
at WealthLabPro.MainModule.LoadExternalSymbol(String dataSetName, String symbol)
at WealthLabPro.ChartForm.a(Object A_0, LoadSymbolFromDataSetEventArgs A_1)
at WealthLab.TradingSystemExecutor.a(String A_0, String A_1, Boolean A_2)
at WealthLab.WealthScript.GetExternalSymbol(String dataSetName, String symbol, Boolean synchronize)
at WealthLab.Strategies.MyStrategy25.Main()
at WealthLab.Strategies.MyStrategy25.Execute()
System.NullReferenceException: Object reference not set to an instance of an object.
at WealthLab.ChartPane.SetBackgroundColor(Int32 bar, Color color)
at WealthLab.WealthScript.SetPaneBackgroundColor(ChartPane pane, Int32 bar, Color color)
at WealthLab.Strategies.MyStrategy44.PlotExtendedHours()
at WealthLab.Strategies.MyStrategy44.Main()
at WealthLab.Strategies.MyStrategy44.Execute()
Size:
Color:
Don't blame it all on IQFeed provider. Multiple streaming strategies with code unknown are making unknown external symbol requests. I'd start by reviewing this.
Size:
Color:
But if I filter out the extended hours bars using Market Manager, it's all gone.
Size:
Color:
The more so to believe it's not the culprit.
Size:
Color: