|
Attention! Read the forum rules carefully before posting a topic.
Try to find an answer in Wiki before asking a question. Submit programming questions in this forum only. Off topics are strictly forbidden.
Any topics which do not satisfy these rules will be deleted.
| Cannot get the last tick for the EUR/USD |
|
leevo
|
| Post subject: Cannot get the last tick for the EUR/USD |
Post rating: 0
|
Posted: Sun 25 Jan, 2015, 17:23
|
|
User rating: 0
Joined: Sat 17 Jan, 2015, 18:46 Posts: 34 Location: China, Shanghai
|
|
Test a strategy in jforex platform, only get the info of title, why?
public void onStart(IContext context) throws JFException { console = context.getConsole(); history = context.getHistory(); indicators = context.getIndicators(); context.setSubscribedInstruments(java.util.Collections.singleton(Instrument.EURUSD), true); test(); } private int getNumberOfCandlesBefore(Period period){ return (int) (period.getInterval() / Period.ONE_HOUR.getInterval()) * 30; } private void test() throws JFException { long time = history.getBar(Instrument.EURUSD, Period.ONE_HOUR, OfferSide.ASK, 0).getTime(); double[] rsi14Results = indicators.rsi(Instrument.EURUSD, Period.ONE_HOUR, OfferSide.ASK, AppliedPrice.CLOSE, 14, Filter.NO_FILTER, getNumberOfCandlesBefore(Period.ONE_HOUR), time, 0); double[] rsi60Results = indicators.rsi(Instrument.EURUSD, Period.ONE_HOUR, OfferSide.ASK, AppliedPrice.CLOSE, 60, Filter.NO_FILTER, getNumberOfCandlesBefore(Period.ONE_HOUR), time, 0); for(double rsi14Result : rsi14Results){ console.getOut().println(rsi14Result); } for(double rsi60Result : rsi60Results){ console.getOut().println(rsi60Result); } }
|
|
|
|
|
 |
|
krassy1809
|
 |
Post subject: Re: Cannot get the last tick for the EUR/USD |
Post rating: 0
|
Posted: Sun 25 Jan, 2015, 19:50
|
|
User rating: 2
Joined: Thu 27 Jun, 2013, 07:45 Posts: 11
|
|
Hi , Today 25.01.2015 Sunday , i have suffer with the same message in the historical tester. I thing this is a bug who comes with Demo update. I haved runnig demo from the last week , and when i tried to test a strategy , i found something weird - the system isn`t drawing horisontal lines at the stoploss prices , also not drawing horisontal lines for offers and bids. After exiting , and starting the demo again in the Java console i saw line containing "update = true", after that i wasn`t able to test any of my strategies. in the historical tester start to apear the following message: "Cannot get the last tick for the EUR/USD" I created simlple strategy from scratch, install latest java update , clear temp files (installed applications too) in the java control panel , clear the cache in the JForex - and get the same result!
the code:
package jforex;
import com.dukascopy.api.*; 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.OrderCommand; import com.dukascopy.api.IEngine; import com.dukascopy.api.IHistory; import com.dukascopy.api.IIndicators; import com.dukascopy.api.IMessage; import com.dukascopy.api.IOrder; import com.dukascopy.api.IStrategy; import com.dukascopy.api.ITick; import com.dukascopy.api.IUserInterface; import com.dukascopy.api.Instrument; import com.dukascopy.api.JFException; import com.dukascopy.api.Period; import java.util.*;
public class PlaceBIDS implements IStrategy { private IEngine engine; private IConsole console; private IHistory history; private IContext context; private IIndicators indicators; private IUserInterface userInterface; private int counter = 0; 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(); ITick lastTick = history.getLastTick(Instrument.EURUSD); console.getNotif().println(lastTick.getBid()); }
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 (period == Period.FIVE_MINS){ this.counter++; double price = history.getLastTick(Instrument.EURUSD).getBid() - 50 * Instrument.EURUSD.getPipValue(); IOrder order = engine.submitOrder("order" + counter, Instrument.EURUSD, OrderCommand.PLACE_BID, 0.01, price, 0, 0, 0, 0); } } }
The Jave console registered the following:
25.01.2015 18:54:18.464 INFO a.b ] Connected to d-ja-gva-141-194 25.01.2015 18:54:18.464 INFO impl.JDK14LoggerAdapter ] Authorized 25.01.2015 18:54:19.514 INFO client.b ] Child session opened for [d-ja-gva-141-194.dukascopy.com/194.8.15.194:10443] 25.01.2015 18:54:20.454 WARNING datacache.cs ] Some or all of the requested data was not found, instrument [EUR/USD], period [Ticks], side [null], chunk from [2015-01-25 16:00:00:000], chunk to [2015-01-25 17:00:00:000] 25.01.2015 19:39:00.380 SEVERE actions.c ] Cannot get the last tick for the EUR/USD java.lang.RuntimeException: Cannot get the last tick for the EUR/USD at com.dukascopy.dds2.greed.actions.servicesources.StrategyTesterAction.ER(Unknown Source) at com.dukascopy.dds2.greed.actions.servicesources.StrategyTesterAction.El(Unknown Source) at com.dukascopy.dds2.greed.actions.c.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source)
|
|
|
|
|
 |
|
leevo
|
| Post subject: Re: Cannot get the last tick for the EUR/USD |
Post rating: 0
|
Posted: Mon 26 Jan, 2015, 07:24
|
|
User rating: 0
Joined: Sat 17 Jan, 2015, 18:46 Posts: 34 Location: China, Shanghai
|
|
When I test in eclipse, set the starttime and totime in testclient before call the strategy, I can get the data, because the time period contains weekdays, history.getLastTicks's starttime is not current weekend time. But I test in jforex, I set the starttime and totime in historical tester, why it still can not get the last tick's starttime, does it still point to current weekend time?
|
|
|
|
|
 |
|
API Support
|
| Post subject: Re: Cannot get the last tick for the EUR/USD |
Post rating: 0
|
Posted: Tue 27 Jan, 2015, 08:52
|
|
User rating: ∞
Joined: Fri 31 Aug, 2007, 09:17 Posts: 6139
|
|
|
|
|
 |
|
Pages: [
1
]
|
|
|
|
|