marceizi wrote:
How can i get the total of orders still opened on buy side only and on sell side only?
Consider the following example strategy:
package jforex.orders;
import com.dukascopy.api.*;
import com.dukascopy.api.IEngine.OrderCommand;
@RequiresFullAccess
public class OrderManagement implements IStrategy {
private IConsole console;
private IEngine engine;
@Override
public void onStart(IContext context) throws JFException {
console = context.getConsole();
engine = context.getEngine();
engine.submitOrder("Order1", Instrument.EURUSD, OrderCommand.BUY, 0.1);
engine.submitOrder("Order2", Instrument.EURUSD, OrderCommand.BUYLIMIT, 0.12, 1.5);
engine.submitOrder("Order3", Instrument.EURUSD, OrderCommand.SELL, 0.123);
print("long orders");
for(IOrder order : engine.getOrders()){
if(order.isLong()){
print(order);
}
}
print("BUY orders");
for(IOrder order : engine.getOrders()){
if(order.getOrderCommand() == OrderCommand.BUY){
print(order);
}
}
}
private void print(Object o){
console.getOut().println(o);
}
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 {}
@Override
public void onStop() throws JFException {
//close all orders on strategy stop
for(IOrder o : engine.getOrders()){
o.close();
}
}
}
marceizi wrote:
How do I set a stoploss with trail to a specific order since I have many opened?
See JForex wiki
https://www.dukascopy.com/wiki/ section Strategy API/Orders/Set Stop Loss price