I was working with a strategy that I was unable to compile. I have identified the issue I am having and have prepared a simple example to demonstrate the problem. It seems as though I am not able to access bar history from a custom function. Please keep in mind that this example is a demonstration only and that my intended use requires access of bar history from a custom function.
package jforex;
import java.util.*;
import com.dukascopy.api.*;
public class Test implements IStrategy {
private IEngine engine;
private IConsole console;
private IHistory history;
private IContext context;
private IIndicators indicators;
private IUserInterface userInterface;
public void onStart(IContext context) throws JFException {
this.engine = context.getEngine();
this.console = context.getConsole();
this.history = context.getHistory();
this.context = context;
this.indicators = context.getIndicators();
this.userInterface = context.getUserInterface();
}
public void onAccount(IAccount account) throws JFException {
}
public void onMessage(IMessage message) throws JFException {
}
public void onStop() throws JFException {
}
public void onTick(Instrument instrument, ITick tick) throws JFException {
}
public void onBar(Instrument instrument, Period period, IBar askBar, IBar bidBar) throws JFException {
if (period.equals(Period.DAILY)) {
console.getOut().println(testHistory(instrument, period));
}
}
private double testHistory(Instrument instrument, Period period) {
IBar historyBar;
historyBar = history.getBar(instrument, period, OfferSide.ASK, 1);
return historyBar.getClose();
}
}
The above code will not compile. Produces the following error:
Quote:
22:11:49 ----------
22:11:49 Unhandled exception type JFException
22:11:49 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
22:11:49 historyBar = history.getBar(instrument, period, OfferSide.ASK, 1);
22:11:49 1. ERROR in /var/folders/m1/qst780192j39ncwbzk7cjtkh0000gn/T/jfxide/tmp/compile/Test.java (at line 44)
22:11:49 ----------
22:11:48 Compiling Test.java
Any help at resolving this issue would be most appreciated.
Best regards,
Brad