- ago
I installed the update for the finantic scorecards (Build 3) today. After the update and trying to backtest a building block strategy, this error occurred.

Since I suspected that this had something to do with this extension update, I removed the two "Scorecard" DLLs from the WL system folder. Then everything works again without any problems.

So apparently there are still problems with this extension. Please check this out. Thanks!



System.ArgumentException: An item with the same key has already been added. Key: RecoveryFactor
at System.Collections.Generic.Dictionary`2.TryInsert(TKey key, TValue value, InsertionBehavior behavior)
at System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value)
at finantic.ScoreCard.ScorecardIsOss.CheckMNL()
at finantic.ScoreCard.ScorecardIsOss.LayoutMetricsReport(IMetricsReportHost reportHost)
at finantic.ScoreCard.FavouritesScorecard.CheckReportHost()
at finantic.ScoreCard.FavouritesScorecard.LayoutMetricsReport(IMetricsReportHost reportHost)
at finantic.ScoreCard.WPF.CompareControl.Summary()
at finantic.ScoreCard.WPF.CompareControl.set_ActiveA(Boolean value)
at finantic.ScoreCard.WPF.CompareControl.Initialize()
at WealthLab8.cwStrategy.PostIndexer()
at WealthLab8.cwStrategy.onLoad(Object sender, RoutedEventArgs e)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.BroadcastEventHelper.BroadcastEvent(DependencyObject root, RoutedEvent routedEvent)
at System.Windows.BroadcastEventHelper.BroadcastLoadedEvent(Object root)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
0
727
3 Replies

Reply

Bookmark

Sort
- ago
#1
The root cause for this Exception is the fact that "RecoveryFactor" exist on two different ScoreCards supplied by WL:

Basic Scorecard has a Recovery Factor:


and Extended ScoreCard has also a RecoveryFactor:


This should not be harmful, but IS/OS Scorecard collects all existing metrics and arrives at this exception if it finds a duplicate.

Possible solutions:
* Ask WL team to rename (or remove) one of the RecoveryFactors
* wait for a more robust handling in IS/OS Scorecard
* remove finantic.ScoreCard.DLL from WL app folder.
* Go back to WL build 76 and and Build 2 of finantic.ScoreCard

I'll hurry to get this fixed in IS/OS ScoreCard.
Sorry for the trouble.
0
- ago
#2
QUOTE:
* Ask WL team to rename (or remove) one of the RecoveryFactors

It needn't be there in the Extended ScoreCard, let's remove that leftover for next PowerPack's build. Thanks.
0
- ago
#3
@DrKoch
Seems to be the same issue with the PositionCount property. As soon as I remove the ScoreCard dll, the error disappears.
Please provide a fix!

CODE:
System.ArgumentException: An item with the same key has already been added. Key: PositionCount at System.Collections.Generic.Dictionary`2.TryInsert(TKey key, TValue value, InsertionBehavior behavior) at System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value) at finantic.ScoreCard.ScorecardIsOss.CheckMNL() at finantic.ScoreCard.ScorecardIsOss.LayoutMetricsReport(IMetricsReportHost reportHost) at finantic.ScoreCard.FavouritesScorecard.CheckReportHost() at finantic.ScoreCard.FavouritesScorecard.LayoutMetricsReport(IMetricsReportHost reportHost) at finantic.ScoreCard.WPF.CompareControl.Summary() at finantic.ScoreCard.WPF.CompareControl.set_ActiveA(Boolean value) at finantic.ScoreCard.WPF.CompareControl.Initialize() at WealthLab8.cwStrategy.ConcatStub() at WealthLab8.cwStrategy.onLoad(Object sender, RoutedEventArgs e) at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised) at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args) at System.Windows.BroadcastEventHelper.BroadcastEvent(DependencyObject root, RoutedEvent routedEvent) at System.Windows.BroadcastEventHelper.BroadcastLoadedEvent(Object root) at System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks() at System.Windows.Media.MediaContext.RenderMessageHandlerCore(Object resizedCompositionTarget) at System.Windows.Media.MediaContext.RenderMessageHandler(Object resizedCompositionTarget) at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs) at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
0

Reply

Bookmark

Sort