After submitting SELLLIMIT_BYASK conditional order, calling order.getOrderCommand() returns IEngine.OrderCommand.SELLSTOP instead of IEngine.OrderCommand.SELLLIMIT_BYASK.
JForex platform version: 2.40
JForex API version: 2.10.3
Java version: 1.7.0_55
package jforex;
import com.dukascopy.api.IAccount;
import com.dukascopy.api.IBar;
import com.dukascopy.api.IConsole;
import com.dukascopy.api.IContext;
import com.dukascopy.api.IEngine;
import com.dukascopy.api.IHistory;
import com.dukascopy.api.IMessage;
import com.dukascopy.api.IOrder;
import com.dukascopy.api.IStrategy;
import com.dukascopy.api.ITick;
import com.dukascopy.api.Instrument;
import com.dukascopy.api.JFException;
import com.dukascopy.api.Period;
import java.util.Date;
public class SellLimitByAsk implements IStrategy {
private IContext context;
private IConsole console;
private IEngine engine;
private IHistory history;
@Override
public void onStart(IContext context) throws JFException {
this.context = context;
this.console = context.getConsole();
this.engine = context.getEngine();
this.history = context.getHistory();
ITick tick = history.getLastTick(Instrument.EURUSD);
IOrder order = engine.submitOrder("label_" + (new Date().getTime()), Instrument.EURUSD, IEngine.OrderCommand.SELLLIMIT_BYASK, 1, tick.getAsk() + 0.0010, 10, 0, 0);
order.waitForUpdate(10000, IOrder.State.OPENED);
console.getOut().println(order.getOrderCommand()); // Should print "SELLLIMIT_BYASK", not "SELLSTOP"
}
@Override
public void onAccount(IAccount account) throws JFException {
}
@Override
public void onMessage(IMessage message) throws JFException {
}
@Override
public void onStop() throws JFException {
}
@Override
public void onTick(Instrument instrument, ITick tick) throws JFException {
}
@Override
public void onBar(Instrument instrument, Period period, IBar askBar, IBar bidBar) throws JFException {
}
}