Recommendations to start the strategy:

  1. Upload your strategy source file on "My strategies" page. Before uploading, please make sure that the strategy can be compiled in the JForex platform.
  2. Return back to "My page" and select the strategy for the current month and confirm it.
  3. You can run the platform in the "view only" mode in order to monitor positions of the strategy and use reports.
  4. You can update your strategy during the contest month but only once.
  5. You can get up to 35 additional bonus points by disclosing the source code of your strategy.

Recommendations for achieving higher Dukascopy expert evaluation:

  1. Profit factor - this value is defined as the gross profit divided by the gross loss. It is recognized as one of the most trusted statistics measures for evaluating strategy performance. Values above 1 indicate that the strategy is profitable.
  2. Share of the biggest profit in the balance - you need to trade with more equal targets trying to win in the contest not with a single profitable trade but with many similar profitable trades.
  3. Share of winning trades - the criterion reflects the amount of winning trades against amount of losing trades. The higher share, the better is the quality of the strategy.
  4. Maximum sum of consecutive losses - this measure is important from the psychological point of view and in the sense of avoiding large negative drawdown on the balance. The criterion represents an evaluation that is similar to the maximum drawdown.
  5. Clear and easy-to-read source of the strategy - the participant must use Java Code Conventions, custom methods, and add comments to the strategy in order to improve its readability.
  6. Meaningful, interesting comments - we will pay particular attention to how trader justified his activities. Whether his blog was informative, interesting to follow etc.
  7. Other factors - in special cases Dukascopy Bank leaves the right to attribute points for some factors that it found outstanding in the activity of the trader.

Programming recommendations:

  1. Subscribing to instruments
@Override public void onStart(IContext context) throws JFException {
Set subscribedInstruments = new HashSet();
  1. Trading only on specific instruments and periods:
@Override public void onBar(Instrument instrument, Period period, IBar askBar, IBar bidBar) throws JFException {
//first line if (instrument != Instrument.EURUSD || period != Period.ONE_HOUR) return;