Hello,
I found out that HistoricalTester can not work with strategies which are using custom periods (via IContext.subscribeToBarsFeed(...) method)
Take a look at the example strategy bellow - the strategy has practically no application logic, it is just sample of "empty" strategy which is using custom Period.
When you will run the strategy in HistoricalTester, the progress bar shows you "Running" but the test is not really running - all the historical tester is frozen.
Here is source code of the example strategy, using method IContext.subscribeToBarsFeed(...). When you will run the strategy in HistoricalTester you will see it will freez.
import com.dukascopy.api.*;
import com.dukascopy.api.listener.IBarFeedListener;
public class LS_S_Test implements IStrategy, IBarFeedListener {
public void onStart(IContext context) throws JFException {
Period selectedPeriod = Period.createCustomPeriod(Unit.Minute, 3);
context.subscribeToBarsFeed(Instrument.EURUSD, selectedPeriod, OfferSide.BID, this);
}
public void onTick(Instrument instrument, ITick tick) throws JFException {
}
public void onBar(Instrument instrument, Period period, IBar askBar, IBar bidBar) throws JFException {
}
public void onMessage(IMessage message) throws JFException {
}
public void onAccount(IAccount account) throws JFException {
}
public void onStop() throws JFException {
}
public void onBar(Instrument instrument, Period period, OfferSide offerSide, IBar bar) {
}
}
I tested it on LastMoth historical data, EURUSD Ticks