Q1:
private void updateVariables() {
try {
AllPositions = engine.getOrders(defaultInstrument);
List<IOrder> listMarket = new ArrayList<IOrder>();
for (IOrder order: AllPositions) {
if (order.getState().equals(IOrder.State.FILLED)){
listMarket.add(order);
}
}
List<IOrder> listPending = new ArrayList<IOrder>();
for (IOrder order: AllPositions) {
if (order.getState().equals(IOrder.State.OPENED)){
listPending.add(order);
}
}
OpenPositions = listMarket;
PendingPositions = listPending;
} catch(JFException e) {
e.printStackTrace();
}
}
Why "
AllPositions = engine.getOrders(defaultInstrument);"?
Why not "
AllPositions = engine.getOrders();"?
Q2:
Why this?
public void onBar(Instrument instrument, Period period, IBar askBar, IBar bidBar) throws JFException {
if (instrument.equals(defaultInstrument)) {
LastAskCandle = new Candle(askBar, period, instrument, OfferSide.ASK);
LastBidCandle = new Candle(bidBar, period, instrument, OfferSide.BID);
updateVariables();
}
}
why not be like a this?
public void onBar(Instrument instrument, Period period, IBar askBar, IBar bidBar) throws JFException {
LastAskCandle = new Candle(askBar, period, instrument, OfferSide.ASK);
LastBidCandle = new Candle(bidBar, period, instrument, OfferSide.BID);
updateVariables();
}
Who put a "instrument.equals(defaultInstrument){}"???
This line is very annoying for me.And also, this
public void onMessage(IMessage message) throws JFException {
if (message.getOrder() != null && message.getOrder().getInstrument().equals(defaultInstrument)) {...}
why not this.
public void onMessage(IMessage message) throws JFException {
if (message.getOrder() != null) {...}