I seem to have had a lot of problems applying equations
to the contents of Watch Screens.
For example, if I apply the following simple equation
'rsi(14,0)', it sometimes works, but more often dosen't.
The output in the console is:
Exception in thread "Thread-11"
java.lang.ArrayIndexOutOfBoundsException: -1
at java.util.ArrayList.get(ArrayList.java:323)
at
org.mov.quote.IDQuoteCache.getQuotesForTime(IDQuoteCache.java:231)
at
org.mov.quote.IDQuoteCache.getQuoteCacheQuote(IDQuoteCache.java:215)
at
org.mov.quote.IDQuoteCache.getQuote(IDQuoteCache.java:184)
at
org.mov.quote.IDQuoteBundle.getQuote(IDQuoteBundle.java:91)
at
org.mov.quote.MixedQuoteBundle.getQuote(MixedQuoteBundle.java:88)
at
org.mov.quote.MixedQuoteBundle.getQuote(MixedQuoteBundle.java:80)
at
org.mov.quote.QuoteBundleFunctionSource.getValue(QuoteBundleFunctionSource.java:90)
at
org.mov.quote.QuoteFunctions.rsi(QuoteFunctions.java:248)
at
org.mov.parser.expression.RSIExpression.evaluate(RSIExpression.java:59)
at
org.mov.ui.ExpressionColumn.calculate(ExpressionColumn.java:142)
at
org.mov.ui.AbstractQuoteModel.setExpressionColumns(AbstractQuoteModel.java:100)
at org.mov.ui.AbstractTable$2.run(AbstractTable.java:283)
Logged In: YES
user_id=22830
Originator: NO
This seems like a similar backtrace. Accidentally saw venice on freshmeat and thought it'd be fun to see what the GP comes up with, alas I'm having problems getting it to run without throwing exceptions. Curiously the first generation always seems to complete, and if the exception doesn't get thrown during the first few generations after that, it seems like it will never get thrown.
Exception in thread "Thread-23" java.lang.ArrayIndexOutOfBoundsException: -2147483383
at java.util.ArrayList.get(Unknown Source)
at org.mov.quote.EODQuoteCache.getQuotesForDate(EODQuoteCache.java:303)
at org.mov.quote.EODQuoteCache.getQuoteCacheQuote(EODQuoteCache.java:287)
at org.mov.quote.EODQuoteCache.getQuote(EODQuoteCache.java:183)
at org.mov.quote.EODQuoteBundle.getQuote(EODQuoteBundle.java:126)
at org.mov.analyser.gp.GPQuoteBundle.getQuote(GPQuoteBundle.java:90)
at org.mov.quote.QuoteBundleFunctionSource.getValue(QuoteBundleFunctionSource.java:90)
at org.mov.quote.QuoteFunctions.avg(QuoteFunctions.java:115)
at org.mov.quote.QuoteFunctions.sd(QuoteFunctions.java:58)
at org.mov.parser.expression.StandardDeviationExpression.evaluate(StandardDeviationExpression.java:67)
at org.mov.parser.expression.LessThanEqualExpression.evaluate(LessThanEqualExpression.java:37)
at org.mov.analyser.PaperTrade.buyTrades(PaperTrade.java:386)
at org.mov.analyser.PaperTrade.paperTrade(PaperTrade.java:678)
at org.mov.analyser.gp.Individual.paperTrade(Individual.java:232)
at org.mov.analyser.gp.GeneticProgramme.nextIndividual(GeneticProgramme.java:191)
at org.mov.analyser.GPModule.geneticProgramme(GPModule.java:327)
at org.mov.analyser.GPModule.access$300(GPModule.java:43)
at org.mov.analyser.GPModule$3.run(GPModule.java:193)
at java.lang.Thread.run(Unknown Source)