The winning strategy used in this particular contest month is a very simple one. From a technical point of view, the short description given on its contest page basically sums it up:

JScalp10May2020 is a momentum scalping strategy. It opens a long position when CCI(14) closes above 200 and a short position when CCI(14) closes below -200. The strategy opens one position per trading day (Monday to Friday). It may skip one trading day (usually NFP day) per month. It trades only when the spread is lower than or equal to 2 pips. The strategy uses EUR/USD currency pair on 1 Min timeframe. SL is set at 55 pips and TP at 5 pips but the latter is adjusted to 14 pips on a drawdown of $25K or more. Trade amount is calculated as follows: amount = Equity / 10000 / LastBidCandle.CandleOpen * 50 / stopLoss - 0.1. The strategy validates margin before the weekend leverage comes into force and closes a position if necessary.

Instead of going further into technical details, I will focus more on general principles that led me to develop this strategy.

One thing to notice is that we are trading on a contest account, which is basically a paper money account. We are given a fresh $100K each month and are encouraged to use it in the contest. There's really no downside risk here - in fact we are worse off if we don't attempt to use it for the purpose of trying to win some of the prize money from the monthly pool. So it makes sense to try and put as much of this paper money to work as possible.

It's useful to analyze results of past contests, in order to find out what is needed to win the contest. After just a casual inspection of the results, it becomes apparent that we need all bonus points and a high number of both performance and drawdown points. Getting all bonus points is easy - by just publishing the strategy on the first day of the contest month.

A simple way to try and maximize drawdown points is to minimize exposure time (the time that the strategy is exposed in the market, by having an open position), which means taking profit on the position as soon as possible. I usually set TP at 5 pips and SL at 55 pips. In addition, a position is opened in the direction of short-term momentum, as indicated by Commodity Channel Index.

Also, more positions mean more exposure time, so it makes sense to open as few of them as possible. According to the contest rules, the total number of positions opened during the contest month must be at least 20, so that's a good starting point. The strategy opens one position per trading day. There's typically 21 or 22 trading days in a month. That extra 1 or 2 days is no big deal and may even help in cases when one of the previous positions was open over multiple days or was for some reason not taken at all. On top of that, the strategy can be configured to skip one trading day in a month.

To calculate the approximate contest account balance required to win, we again turn to the results of past contests. Assuming maximum bonus points and maximum drawdown points that we are aiming for, we can deduce that in most cases $200K - $250K should be enough for a victory. See the table below for details:

If the strategy detects a certain amount of drawdown (this is usually set at $25K), it enters into a recovery mode. TP is extended (usually to 14 pips) since the strategy will need to recover from the slump and more performance points will be needed to make up for the lost drawdown points.
The strategy could be improved by:
  • Using a better entry signal (current one seems to often trigger buying right at the top or selling short right at the bottom).
  • Increasing pip value by using "cheaper" currency pairs.
  • Better recovery strategy.
I'd like to thank to Dukascopy for the prize and for organizing this contest, which gives us opportunity to win funds for our trading accounts, expand our knowledge of markets and automated trading, and hone our programming skills at the same time.
翻译为 英语 显示原始