While testing automated strategy, I got this error message:
java.lang.ArrayIndexOutOfBoundsException: 7315 >= 7315 at java.util.Vector.elementAt(Vector.java:427) at javax.swing.tree.DefaultMutableTreeNode.getChildAt(DefaultMutableTreeNode.java:230) at javax.swing.tree.VariableHeightLayoutCache.treeNodesRemoved(VariableHeightLayoutCache.java:543) at javax.swing.plaf.basic.BasicTreeUI$Handler.treeNodesRemoved(BasicTreeUI.java:3810) at javax.swing.tree.DefaultTreeModel.fireTreeNodesRemoved(DefaultTreeModel.java:530) at javax.swing.tree.DefaultTreeModel.nodesWereRemoved(DefaultTreeModel.java:310) at javax.swing.tree.DefaultTreeModel.removeNodeFromParent(DefaultTreeModel.java:244) at com.dukascopy.dds2.greed.gui.component.tree.o.b(Unknown Source) at com.dukascopy.dds2.greed.gui.component.chart.listeners.e.Y(Unknown Source) at com.dukascopy.charts.b.b.Y(Unknown Source) at com.dukascopy.charts.drawings.q.Y(Unknown Source) at com.dukascopy.charts.drawings.j.gt(Unknown Source) at com.dukascopy.charts.drawings.q.gt(Unknown Source) at com.dukascopy.charts.chartbuilder.r.removeAll(Unknown Source) at com.dukascopy.charts.d.b.removeAll(Unknown Source) at meridian.Pair.onBar(Pair.java:108) at meridian.EmCee.onBar(EmCee.java:31) at com.dukascopy.dds2.greed.agent.strategy.tester.b.a(Unknown Source) at com.dukascopy.dds2.greed.agent.strategy.tester.r.run(Unknown Source) at com.dukascopy.dds2.greed.agent.strategy.tester.b.Bb(Unknown Source) at com.dukascopy.dds2.greed.actions.StrategyTesterAction.yV(Unknown Source) at com.dukascopy.dds2.greed.actions.StrategyTesterAction.yu(Unknown Source) at com.dukascopy.dds2.greed.actions.c.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:680)
It seems that it happened during chart cleanup in removeAll().
After some more troubleshooting, I found out that removeAll() doesn't work correctly when test speed is set to 8x. In my strategy, I'm refreshing the chart after every bar (removeAll() and then draw latest chart objects). When running on test speed 7x, removeAll() worked correctly, and old objects were removed after every bar, on 8x they were still part of chart, even if not displayed.
I'm attaching a screenshot, where the same strategy was run on the same data on test speed 7x and 8x. You can see in Workspace, that on first run I have only 4 rectangles (as in chart), and on second run many of them, even only 4 are visible in chart.
Attachments: |
Screen Shot 2012-02-11 at 12.50.33 PM.png [437.38 KiB]
Downloaded 413 times
|
DISCLAIMER: Dukascopy Bank SA's waiver of responsability - Documents, data or information available on
this webpage may be posted by third parties without Dukascopy Bank SA being obliged to make any control
on their content. Anyone accessing this webpage and downloading or otherwise making use of any document,
data or information found on this webpage shall do it on his/her own risks without any recourse against
Dukascopy Bank SA in relation thereto or for any consequences arising to him/her or any third party from
the use and/or reliance on any document, data or information found on this webpage.
|
|