package jforex;
import java.util.*;
import com.dukascopy.api.IEngine.OrderCommand;
import com.dukascopy.api.*;
public class BarsAndTicksTrade implements IStrategy {
private IEngine engine;
private IConsole console;
private IHistory history;
private IContext context;
private IIndicators indicators;
private IUserInterface userInterface;
private IBar previousBar;
private ITick myLastTick;
private String myString;
@Configurable( value = "通貨ペア" )
public Instrument myInstrument = Instrument.EURGBP;
@Configurable( value = "オーダータイプ", obligatory = true )
public OfferSide myOfferSide = OfferSide.ASK;
@Configurable( value = "時間軸" )
public Period myPeriod = Period.TEN_MINS;
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();
Set<Instrument> instruments = new HashSet<Instrument>();
instruments.add(myInstrument);
context.setSubscribedInstruments(instruments, true);
previousBar = history.getBar( myInstrument, myPeriod, myOfferSide, 1 );
myLastTick = history.getLastTick( myInstrument );
console.getOut().println(previousBar);
console.getOut().println(myLastTick);
OrderCommand myCommand = previousBar.getOpen() > previousBar.getClose() ? OrderCommand.SELL : OrderCommand.BUY;
engine.submitOrder( "MyStrategyOrder2" , myInstrument, myCommand, 0.001);
}
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 {
}
}