Dukascopy
 
 
Wiki JStore Search Login

removeAll() doesn't work on test speed 8x.
 Post subject: removeAll() doesn't work on test speed 8x. Post rating: 0   New post Posted: Sat 11 Feb, 2012, 10:04 

User rating: 0
Joined: Wed 18 May, 2011, 23:19
Posts: 8
Location: Czech Republic,
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.
 

Jump to:  

cron
  © 1998-2025 Dukascopy® Bank SA
On-line Currency forex trading with Swiss Forex Broker - ECN Forex Brokerage,
Managed Forex Accounts, introducing forex brokers, Currency Forex Data Feed and News
Currency Forex Trading Platform provided on-line by Dukascopy.com