Perfomance Visualizer error in 6.2.
Author: dansmo
Creation Date: 6/22/2011 5:38 AM
profile picture

dansmo

#1
With version 6.2 I get an error for combination strategy and my own visualizers:
QUOTE:
Error in Visualizer: TabPage: {Name of the Visualizer}, removing. Die angebene Umwandlung ist ungültig.


Are there adaptions to the API? Are there changes to my visualizers needed?
profile picture

Eugene

#2
1. No specific changes are required to existing visualizers in order to work in 6.2 as they did before.*

*Unless they call the TradingSystemExecutor class that has changed. (Existing users are advised to update Community Components to 2011.07 as some parts of it depend on it.)

2. Supporting Combo aggregate/child system performance a la built-in/MS123 visualizers requires modification to the GUI/code. Unfortunately, neither an updated API guide nor a code example are available right now.

---

You would have noticed the visualizers failing to load in usual strategies so that should be something else. But you need to give us something to work with and be able to reproduce the issue.
profile picture

dansmo

#3
- I dont get the error message in usual strategies.
- I do not call TradingSystemExecutor.

So the PV should load in a combination strategy just as it does in a usual strategy?

profile picture

Eugene

#4
QUOTE:
So the PV should load in a combination strategy just as it does in a usual strategy?

Yes, it's transparent so backward compatibility with existing visualizers is preserved. They will just display Aggregate results; the ability to switch between Aggregate/Combo children comes with extra code.
profile picture

dansmo

#5
Hmmm...I did not change anything to my PVs. Shall I send you the code via ticket?
profile picture

Eugene

#6
Let's identify the WL settings first to make sure it's always reproducible: data range, data provider, symbols, your Combo strategy settings (how many strategies, uses Default DataSet or not or both, position sizing, allocation).

After collecting these details, please send me the solution.
profile picture

dansmo

#7
Need to correct myself: I get the same error message in normal strategy. I did not have this problem in 6.1 when I created the PV. How should we continue?
profile picture

Eugene

#8
First I'd make it reproducible, then I'd use a debugger to see what happens inside my visualizer.
profile picture

dansmo

#9
Indeed I get an ArgumentOutOfRangeException at the bold line:
CODE:
Please log in to see this code.


I am sure that the PV worked before. Maybe I am doing sth totally wrong? The only purpose of this PV is to show the last bars date for each symbol in the dataset.
profile picture

Eugene

#10
What is the exact detailed error message? Un-representable DateTime or something?

This is an innocuous code line, it can't create an AOOR exception "per se" - without some help from the data (like unrecognized DateTime). So my question regarding detailed settings/environment identification is still actual.
profile picture

dansmo

#11
QUOTE:
System.ArgumentOutOfRangeException wurde nicht von Benutzercode behandelt.
Message=Der Index lag außerhalb des Bereichs. Er muss nicht negativ und kleiner als die Auflistung sein.
Parametername: index
Source=mscorlib
ParamName=index
StackTrace:
bei System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
bei System.ThrowHelper.ThrowArgumentOutOfRangeException()
bei System.Collections.Generic.List`1.get_Item(Int32 index)
bei System.Collections.ObjectModel.ReadOnlyCollection`1.System.Collections.Generic.IList<T>.get_Item(Int32 index)
bei Dansmo.Visualizers.LastBarDate.CreateVisualization(SystemPerformance performance, IVisualizerHost visHost) in U:\Eigene Dateien\Visual C# Express\Dansmo.Visualizers\Dansmo.Visualizers\LastBarDate.cs:Zeile 174.
bei WealthLabPro.ChartForm.r()
InnerException:


Which settings do you need? You see that there is an AOOR.
profile picture

Eugene

#12
Not exactly: you see an AOOR, I couldn't reproduce it. Please re-read my previous suggestions and take a careful look at your data input i.e. what's up there at bars.Date[bars.Count - 1];
profile picture

dansmo

#13
QUOTE:
what's up there at bars.Date[bars.Count - 1];

I dont understand. Whats up there is a normal dataset with OHCL prices. It is not a custom series or anything spectacular.
profile picture

dansmo

#14
I found the problem: due to the data range there are symbols that did not have data in the period. This causes the AOOR.
profile picture

Eugene

#15
This can happen in a multi-symbol backtest. I think it might be one of the consequences of WL not synchronizing the different historical data sets when backtesting.
profile picture

Eugene

#16
QUOTE:
2. Supporting Combo aggregate/child system performance a la built-in/MS123 visualizers requires modification to the GUI/code. Unfortunately, neither an updated API guide nor a code example are available right now.

The library's code has been updated to illustrate the process of supporting Combination strategies in your own visualizers.