Dukascopy
 
 
Wiki JStore Search Login

Attention! Read the forum rules carefully before posting a topic.

    Submit JForex API bug reports in this forum only.
    Submit Converter issues in Converter Issues.
    Off topics are strictly forbidden.

Any topics which do not satisfy these rules will be deleted.

ArrayIndexOutOfBoundsException when using setDataInterval
 Post subject: ArrayIndexOutOfBoundsException when using setDataInterval Post rating: 0   New post Posted: Wed 23 Sep, 2015, 20:50 
User avatar

User rating: 0
Joined: Tue 16 Apr, 2013, 13:56
Posts: 4
Location: Ukraine, Kremenchug
Hello support team!

Help me please!

I'm write my backtester using jforex api

In main class? i'm usins setup data period for testing...like in manual...
final SimpleDateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
        dateFormat.setTimeZone(TimeZone.getTimeZone("GMT"));
        Date dateFrom = dateFormat.parse("01/01/2015 12:00:00");
        Date dateTo = dateFormat.parse("09/22/2015 00:00:00");
        client.setDataInterval(DataLoadingMethod.ALL_TICKS, dateFrom.getTime(), dateTo.getTime());


in "strategy_play" classes is creating array of classes, that contains price range feeds
        
spectr = new ArrayList<mtfTimeFrame>();
        for (int i=0; i<cfg.numberTF; i++) {
            spectr.add(new mtfTimeFrame(context, cfg, cfg.startTF+cfg.stepTF*i));
        }// End for


constructor feed class create and subscribe to feed
    
//Constructor
    mtfTimeFrame(IContext fcontext, cfgTrading fcfg, int frangeValue) throws JFException {
...
        rangeBarFeedDescriptor = new RangeBarFeedDescriptor(cfg.instrument, PriceRange.valueOf(rangeValue), cfg.offerSide);
        context.subscribeToFeed(rangeBarFeedDescriptor, this);
...
}


feed class contain override method onFeedData...method is empty
@Override
    public void onFeedData(IFeedDescriptor feedDescriptor, ITimedData feedData) {

}


It's result...
...
2015-09-23 22:07:53.916 INFO  mTF_tester - Connected
2015-09-23 22:07:53.916 INFO  mTF_tester - Subscribing instruments...
2015-09-23 22:07:54.550 INFO  ClientConnector - Child session opened for [d-ja-msk-10.dukascopy.com/195.208.187.197:10443]
2015-09-23 22:07:56.958 INFO  mTF_tester - from: Thu Jan 01 15:00:00 MSK 2015 to: Tue Sep 22 03:00:00 MSK 2015
2015-09-23 22:07:56.958 INFO  mTF_tester - Downloading data
2015-09-23 22:07:57.313 INFO  mTF_tester - Starting strategy
2015-09-23 22:07:59.285 INFO  mTF_tester - Strategy started: 1
2015-09-23 22:07:59.469 INFO  mTF_tester - Getting prices before start time
2015-09-23 22:07:59.626 INFO  mTF_tester - Creating data loading threads
2015-09-23 22:07:59.634 INFO  mTF_tester - Getting prices before start time
2015-09-23 22:07:59.721 WARN  WLabelData - White Label Image is not received
2015-09-23 22:07:59.745 INFO  mTF_tester - Filling in-progress candles
2015-09-23 22:07:59.860 INFO  mTF_tester - Executing onStart
2015-09-23 22:07:59.860 INFO  strategy_play - *********************
2015-09-23 22:07:59.861 INFO  strategy_play - *   mTF started...  *
2015-09-23 22:07:59.861 INFO  strategy_play - *********************
2015-09-23 22:08:00.072 INFO  mtfTimeFrame - subscribe to feed=FeedDescriptor [dataType=PRICE_RANGE_AGGREGATION, instrument=GBP/USD, offerSide=Ask, period=7 Days, priceRange=10_PIPS, interpolationDescriptor=DEFAULT]
2015-09-23 22:08:00.222 INFO  mtfTimeFrame - subscribe to feed=FeedDescriptor [dataType=PRICE_RANGE_AGGREGATION, instrument=GBP/USD, offerSide=Ask, period=7 Days, priceRange=20_PIPS, interpolationDescriptor=DEFAULT]
2015-09-23 22:08:00.312 INFO  mtfTimeFrame - subscribe to feed=FeedDescriptor [dataType=PRICE_RANGE_AGGREGATION, instrument=GBP/USD, offerSide=Ask, period=7 Days, priceRange=30_PIPS, interpolationDescriptor=DEFAULT]
2015-09-23 22:08:00.461 INFO  mtfTimeFrame - subscribe to feed=FeedDescriptor [dataType=PRICE_RANGE_AGGREGATION, instrument=GBP/USD, offerSide=Ask, period=7 Days, priceRange=40_PIPS, interpolationDescriptor=DEFAULT]
2015-09-23 22:08:00.616 INFO  mtfTimeFrame - subscribe to feed=FeedDescriptor [dataType=PRICE_RANGE_AGGREGATION, instrument=GBP/USD, offerSide=Ask, period=7 Days, priceRange=50_PIPS, interpolationDescriptor=DEFAULT]
2015-09-23 22:08:00.694 INFO  mtfTimeFrame - subscribe to feed=FeedDescriptor [dataType=PRICE_RANGE_AGGREGATION, instrument=GBP/USD, offerSide=Ask, period=7 Days, priceRange=60_PIPS, interpolationDescriptor=DEFAULT]
2015-09-23 22:08:00.778 INFO  mtfTimeFrame - subscribe to feed=FeedDescriptor [dataType=PRICE_RANGE_AGGREGATION, instrument=GBP/USD, offerSide=Ask, period=7 Days, priceRange=70_PIPS, interpolationDescriptor=DEFAULT]
2015-09-23 22:08:01.366 INFO  mtfTimeFrame - subscribe to feed=FeedDescriptor [dataType=PRICE_RANGE_AGGREGATION, instrument=GBP/USD, offerSide=Ask, period=7 Days, priceRange=80_PIPS, interpolationDescriptor=DEFAULT]
2015-09-23 22:08:01.567 INFO  mtfTimeFrame - subscribe to feed=FeedDescriptor [dataType=PRICE_RANGE_AGGREGATION, instrument=GBP/USD, offerSide=Ask, period=7 Days, priceRange=90_PIPS, interpolationDescriptor=DEFAULT]
2015-09-23 22:08:01.608 INFO  mtfTimeFrame - subscribe to feed=FeedDescriptor [dataType=PRICE_RANGE_AGGREGATION, instrument=GBP/USD, offerSide=Ask, period=7 Days, priceRange=100_PIPS, interpolationDescriptor=DEFAULT]
2015-09-23 22:08:01.608 INFO  mTF_tester - Running
2015-09-23 22:08:02.974 INFO  mTF_tester - Running, Thu 2015.01.01 12:30 Eq: 1,000.00 UoL: .00%
2015-09-23 22:08:03.004 INFO  mTF_tester - Running, Thu 2015.01.01 13:00 Eq: 1,000.00 UoL: .00%
2015-09-23 22:08:03.031 INFO  mTF_tester - Running, Thu 2015.01.01 13:30 Eq: 1,000.00 UoL: .00%
2015-09-23 22:08:03.058 INFO  mTF_tester - Running, Thu 2015.01.01 14:00 Eq: 1,000.00 UoL: .00%
2015-09-23 22:08:03.078 INFO  mTF_tester - Running, Thu 2015.01.01 14:30 Eq: 1,000.00 UoL: .00%
2015-09-23 22:08:03.097 INFO  mTF_tester - Running, Thu 2015.01.01 15:00 Eq: 1,000.00 UoL: .00%
2015-09-23 22:08:03.122 INFO  mTF_tester - Running, Thu 2015.01.01 15:30 Eq: 1,000.00 UoL: .00%
2015-09-23 22:08:03.149 INFO  mTF_tester - Running, Thu 2015.01.01 16:00 Eq: 1,000.00 UoL: .00%
2015-09-23 22:08:03.174 INFO  mTF_tester - Running, Thu 2015.01.01 16:30 Eq: 1,000.00 UoL: .00%
2015-09-23 22:08:03.562 INFO  mTF_tester - Running, Thu 2015.01.01 17:00 Eq: 1,000.00 UoL: .00%
2015-09-23 22:08:03.582 INFO  mTF_tester - Running, Thu 2015.01.01 17:30 Eq: 1,000.00 UoL: .00%
2015-09-23 22:08:03.603 INFO  mTF_tester - Running, Thu 2015.01.01 18:00 Eq: 1,000.00 UoL: .00%
2015-09-23 22:08:03.614 INFO  mTF_tester - Running, Thu 2015.01.01 18:30 Eq: 1,000.00 UoL: .00%
2015-09-23 22:08:03.625 INFO  mTF_tester - Running, Thu 2015.01.01 19:00 Eq: 1,000.00 UoL: .00%
2015-09-23 22:08:03.635 INFO  mTF_tester - Running, Thu 2015.01.01 19:30 Eq: 1,000.00 UoL: .00%
2015-09-23 22:08:03.645 INFO  mTF_tester - Running, Thu 2015.01.01 20:00 Eq: 1,000.00 UoL: .00%
2015-09-23 22:08:03.657 INFO  mTF_tester - Running, Thu 2015.01.01 20:30 Eq: 1,000.00 UoL: .00%
2015-09-23 22:08:03.673 INFO  mTF_tester - Running, Fri 2015.01.01 21:00 Eq: 1,000.00 UoL: .00%
2015-09-23 22:08:03.695 INFO  mTF_tester - Running, Fri 2015.01.01 21:30 Eq: 1,000.00 UoL: .00%
2015-09-23 22:08:03.832 INFO  mTF_tester - Running, Fri 2015.01.01 22:00 Eq: 1,000.00 UoL: .00%
2015-09-23 22:08:04.215 INFO  mTF_tester - Running, Fri 2015.01.01 22:30 Eq: 1,000.00 UoL: .00%
2015-09-23 22:08:04.689 INFO  mTF_tester - Running, Fri 2015.01.01 23:00 Eq: 1,000.00 UoL: .00%
2015-09-23 22:08:05.071 ERROR StrategyRunner -
java.lang.ArrayIndexOutOfBoundsException
   at com.dukascopy.charts.math.dataprovider.priceaggregation.buffer.ShiftableBuffer.setUp(ShiftableBuffer.java:154)
   at com.dukascopy.dds2.greed.agent.strategy.tester.TesterHistory.checkAndFillRangeBarBuffer(TesterHistory.java:1754)
   at com.dukascopy.dds2.greed.agent.strategy.tester.TesterHistory.addRangeBar(TesterHistory.java:1735)
   at com.dukascopy.dds2.greed.agent.strategy.tester.AbstractStrategyRunner.historicalPriceRangeReceived(AbstractStrategyRunner.java:487)
   at com.dukascopy.dds2.greed.agent.strategy.tester.StrategyRunner.run(StrategyRunner.java:396)
   at java.lang.Thread.run(Thread.java:745)
Strategy tester: java.lang.ArrayIndexOutOfBoundsException @ com.dukascopy.charts.math.dataprovider.priceaggregation.buffer.ShiftableBuffer.setUp(ShiftableBuffer.java:154)
null: java.lang.ArrayIndexOutOfBoundsException
   at com.dukascopy.charts.math.dataprovider.priceaggregation.buffer.ShiftableBuffer.setUp(ShiftableBuffer.java:154)
   at com.dukascopy.dds2.greed.agent.strategy.tester.TesterHistory.checkAndFillRangeBarBuffer(TesterHistory.java:1754)
   at com.dukascopy.dds2.greed.agent.strategy.tester.TesterHistory.addRangeBar(TesterHistory.java:1735)
   at com.dukascopy.dds2.greed.agent.strategy.tester.AbstractStrategyRunner.historicalPriceRangeReceived(AbstractStrategyRunner.java:487)
   at com.dukascopy.dds2.greed.agent.strategy.tester.StrategyRunner.run(StrategyRunner.java:396)
   at java.lang.Thread.run(Thread.java:745)
2015-09-23 22:08:05.075 ERROR TesterClientImpl$DefaultStrategyExceptionHandler - Exception thrown while running onBar method: null
java.lang.ArrayIndexOutOfBoundsException
   at com.dukascopy.charts.math.dataprovider.priceaggregation.buffer.ShiftableBuffer.setUp(ShiftableBuffer.java:154)
   at com.dukascopy.dds2.greed.agent.strategy.tester.TesterHistory.checkAndFillRangeBarBuffer(TesterHistory.java:1754)
   at com.dukascopy.dds2.greed.agent.strategy.tester.TesterHistory.addRangeBar(TesterHistory.java:1735)
   at com.dukascopy.dds2.greed.agent.strategy.tester.AbstractStrategyRunner.historicalPriceRangeReceived(AbstractStrategyRunner.java:487)
   at com.dukascopy.dds2.greed.agent.strategy.tester.StrategyRunner.run(StrategyRunner.java:396)
   at java.lang.Thread.run(Thread.java:745)
2015-09-23 22:08:05.089 INFO  mTF_tester - Strategy stopped: 1
2015-09-23 22:08:05.093 INFO  strategy_play - ***********************
2015-09-23 22:08:05.098 INFO  strategy_play - *    mTF stoped...    *
2015-09-23 22:08:05.098 INFO  strategy_play - ***********************


When i'm testing strategy in JForex Platform tester, this code to subscribe custom feeds work-fine!

What is the problem? In my code? Or not?

P.S.
ubuntu 15.04
JForex-SDK 2.45.14
netbeans-8.0.2
-maven-plugin:1.2.1
jdk1.7.0_80
jdk1.8.0_60


Attachments:
output_with_jdk1.8.0_60.txt [27.56 KiB]
Downloaded 154 times
File comment: Main class - mTF.tester.mTF_tester.java
JForex-SDK.zip [484.25 KiB]
Downloaded 116 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.
 
 Post subject: Re: ArrayIndexOutOfBoundsException when using setDataInterval Post rating: 0   New post Posted: Mon 09 Nov, 2015, 13:34 
User avatar

User rating:
Joined: Fri 31 Aug, 2007, 09:17
Posts: 6139
We were unable to repeat this on ubuntu, JClient SDK 2.45.24


 

Jump to:  

  © 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