Dukascopy Support Board
http://www.dukascopy.com/swiss/english/forex/jforex/forum/

Strange indicators.ma() behavior - ArrayIndexOutOfBoundsException
http://www.dukascopy.com/swiss/english/forex/jforex/forum/viewtopic.php?f=16&t=57301
Page 1 of 1

Author:  fxer [ Thu 26 Mar, 2020, 15:02 ]
Post subject:  Strange indicators.ma() behavior - ArrayIndexOutOfBoundsException

Hello,


I have the following code:
package jforex.simpletests;

import com.dukascopy.api.*;
import com.dukascopy.api.util.DateUtils;

@SuppressWarnings({"FieldCanBeLocal"})
public class TestEmptySMA implements IStrategy {
    @Configurable(value="SMAPeriods", stepSize=1)
    public int SMAPeriods = 30;

    @Override
    public void onStart(final IContext context) throws JFException {
        double[] SMAs = new double[0];
        try {
            SMAs = context.getIndicators().ma(
                    Instrument.EURUSD,
                    Period.DAILY,
                    OfferSide.BID,
                    IIndicators.AppliedPrice.CLOSE,
                    SMAPeriods,
                    IIndicators.MaType.SMA,
                    Filter.WEEKENDS,
                    0,
                    DateUtils.parse("2020-01-08 00:00:00:000"),
                    1);
        } catch (Exception e) {
            e.printStackTrace(context.getConsole().getErr());
        }
        context.getConsole().getOut().println(SMAs.length);
        context.getConsole().getOut().println(String.format("%.5f;", SMAs[0]));

        context.stop();
    }

    @Override
    public void onAccount(IAccount account) throws JFException {}

    @Override
    public void onMessage(final IMessage message) throws JFException {}

    @Override
    public void onStop() throws JFException {}

    @Override
    public void onTick(Instrument instrument, ITick tick) throws JFException {}

    @Override
    public void onBar(final Instrument instrument, final Period period, final IBar askBar, final IBar bidBar) {}
}


For
SMAPeriods = 10
it works fine, but for
SMAPeriods = 30
it returns empty SMAs table, what generates
Quote:
13:58:25 java.lang.ArrayIndexOutOfBoundsException: 0 @ jforex.simpletests.TestEmptySMA.onStart(TestEmptySMA.java:30)


I do not know if that is the cause, but it was working fine before JForex 3.6.14. What might be the cause? Should I handle this in different way now?

Best regards,
FXer

Attachments:
File comment: Issue demonstration code
TestEmptySMA.java [1.53 KiB]
Downloaded 236 times

Author:  API Support [ Tue 26 May, 2020, 17:34 ]
Post subject:  Re: Strange indicators.ma() behavior - ArrayIndexOutOfBoundsException

Hello.

That issue was fixed in JForex 3.6.18

Kind regards.

  Page 1 of 1