Dukascopy
 
 
Wiki JStore Search Login

Attention! Read the forum rules carefully before posting a topic.

    Submit JForex API bug reports in this forum only.
    Submit Converter issues in Converter Issues.
    Off topics are strictly forbidden.

Any topics which do not satisfy these rules will be deleted.

getOfflineTimeDomain call returns null
 Post subject: getOfflineTimeDomain call returns null Post rating: 0   New post Posted: Wed 12 Aug, 2020, 03:56 

User rating: 0
Joined: Wed 12 Aug, 2020, 03:50
Posts: 1
Location: Australia,
Hi

I run the example delivered by the API support team in other subjects in this forum in order to test the getOfflineTimeDomain call and I always get "null" as a response. The old, deprecated call to this method works ok with previous API versions. What has changed? Currently running API 3.6.14

Test code:

import java.util.*;
import com.dukascopy.api.*;

public class Offline_Test_Strategy implements IStrategy {
private IEngine engine;
private IConsole console;
private IHistory history;
private IContext context;
private IIndicators indicators;
private IUserInterface userInterface;

@Configurable("Instrument")
public Instrument myInstrument = Instrument.EURUSD;

@Configurable("Period")
public Period myPeriod = Period.ONE_MIN;

private ITimeDomain curWeekend;

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();

curWeekend = context.getDataService().getOfflineTimeDomain(myInstrument);
console.getOut().println("Current weekend: " + curWeekend);
}

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 (!instrument.equals(myInstrument) || !period.equals(myPeriod)) {
return;
}

if (askBar.getTime() >= curWeekend.getStart() && askBar.getTime() < curWeekend.getEnd()) {
console.getOut().println("Skip weekend bar: " + askBar);
return;
}

if (askBar.getTime() >= curWeekend.getEnd()) {
curWeekend = context.getDataService().getOfflineTimeDomain(myInstrument);
console.getOut().println("Current weekend: " + curWeekend);
}

console.getOut().println("Processing bar: " + askBar);
}
}


 
 Post subject: Re: getOfflineTimeDomain call returns null Post rating: 0   New post Posted: Wed 09 Sep, 2020, 10:09 
User avatar

User rating:
Joined: Fri 31 Aug, 2007, 09:17
Posts: 6102
Greetings.

Strategy must subscribe on instrument to load trading breaks schedule.

context.setSubscribedInstruments(Collections.singleton(myInstrument), true);
curWeekend = context.getDataService().getOfflineTimeDomain(myInstrument);

Regards.


 

Jump to:  

  © 1998-2011 Dukascopy® Bank SA
On-line Currency forex trading with Swiss Forex Broker - ECN Forex Brokerage,
Managed Forex Accounts, introducing forex brokers, Currency Forex Data Feed and News
Currency Forex Trading Platform provided on-line by Dukascopy.com