Article Highlights

  • Version 1.1 returned 2.74% in 22 days (with 12-pip spread)
  • Version 1.1 returned 19.85% in 22 days (if no spread)
  • Version 2.0 in the works
  • Incomplete Version 2.0 returned 1.36% in 22 days (with 12-pip spread)
  • Version 2.0's equity curve is more desirable
Partner Center Find a Broker

Hey there, guys and gals!

If you can still recall, I presented Version 1.0 of my prototype trading system last week. And back then, I showed that the system worked on paper since it had positive expectancy and raked in 9.72% worth of gains after 92 trades in 22 days.

However, I also applied real world conditions by assuming a fixed 12-pip spread. And, well, the system ended up being a failure, printing a loss 5.29% after 92 trades in 22 days.

I therefore resolved last week to find a way to let my profits run. And alternatively, I thought about trying to find the optimum fixed profit target in order to mitigate the negative effect of GBP/NZD’s high spread on the trading system’s profitability.

And to those ends (particularly the former), I developed Version 1.1, which is basically Version 1.0 but without a fixed TP, allowing the trailing rules to do their magic.

And it looks like the trailing rules I developed are indeed magical since Version 1.1 yielded positive returns and expectancy. Cyber high five!

However, I also attempted to find the optimal fixed TP target, which is what Version 2.0 is all about. Unfortunately, I wasn’t able to finish it, but I did leave a preview below, if you’re interested. And yes, Version 2.0 is also profitable, despite the painful 12-fix spread.

But before I discuss the trading systems, I would like to start by devoting a portion of today’s write-up on spreads and their “hidden costs” so to speak, so that newbies can understand why Version 1.0 went from a potential money-making machine into a disastrous money sink when we simply took a fixed 12-pip spread into account. And hopefully the newbies out there will take spreads more seriously into consideration when they trade.

But if you’re in a hurry, then you can always click on the topic of your choice below.

The Problem With Spreads

I mentioned in My 2018 Trading Resolution that the higher spread on GBP/NZD likely won’t be that big of a problem. And boy, oh boy, am I second guessing myself now.

Anyhow, if you’re wondering why taking a spread of 12 pips into account turned Version 1.0 into a failed system, then that’s what this portion is all about, so huddle up!

Okay, let’s assume that we are going long on GBP/NZD and that our entry price is at 1.7600. Now, let’s assume that our stop loss (SL) is 50 pips away at 1.7550 (1.7600 – 0.0050). Let’s now also assume that we want to maintain our reward-to-risk ratio at 1:1, which means that for every 1 pip we risk, we expect to gain another 1 pip. And since we risk 50 pips, that means we also expect to get 50 pips, so our target profit (TP) is at 1.7650 (1.7600 + 0.0050).

Pretty simple, right? Here’s a quick review.

  • TP: 1.7650 – 1.7600 = 0.0050 or 50 pips reward
  • SL: 1.7600 – 1.7550 = 0.0050 or 50 pips risked
  • 50 pips reward for 50 pips risked
  • 1:1 reward-to-risk ratio

Okay, let’s now take spread into account.

Since we are going long, we add 12 pips to our entry price, so our new entry is no longer 1.7600, but 1.7612. However, our TP and SL are unchanged and our reward-to-risk ratio is actually no longer 1:1.

Why? Here’s why:

  • TP: 1.7650 – 1.7612 = 0.0038 or 38 pips reward
  • SL: 1.7612 – 1.7550 = 0.0062 or 62 pips risked
  • 38 pips reward for 62 pips risked
  • 0.61:1 reward-to-risk ratio

See the difference? Our TP is now 24% smaller at 38 pips while our SL ballooned by 24% to 62 pips. And that’s why the effect of the 12-pip spread on Version 1.0’s performance was so devastating because Version 1.0’s +50% hit rate was just not enough to overcome the low reward-to-risk ratio.

Another way to think of it is this way:

Version 1.0 generated 92 trades in 22 days. Each trade gives up 12 pips to the broker, which means that I lost a grand total of *gasp* 1,104 pips (92 trades multiplied by 12 pips spread) in 22 days to spread. Mama mia! No wonder Version 1.0 quickly became a loser!

Anyhow, spread is less of a factor for longer-term traders who shoot for several 100’s of pips. But for my short-term trading system that relies on multiple trades per day, it’s actually a really big hurdle… more so than I originally anticipated.

Thankfully, there have been some promising developments.

Version 1.1 Backtest Results

I mentioned last week that I was planning to remove the TP level from Version 1.0 and just let the trailing stop method do its magic. Well, I did just that with Version 1.1 and here are the results.

Version 1.1 Equity Curve (Fixed 12-Pip Spread)
Version 1.1 Equity Curve (Fixed 12-Pip Spread)

By the way, our assumptions/parameters here are:

  • Starting account balance of $10,000.00
  • NZD/USD is at 0.7200, so value of 1 pip using 1 standard lot is around $7.20
  • Max risk per trade is 0.50% of starting account
  • Lot size varies; you’ll need the position size calculator
  • Testing period is from June 1-30, 2017

Anyhow, Version 1.1 is clearly superior in terms of absolute return and expectancy. However, it does come at the cost of win rate since Version 1.1 only has a win rate of 31.52% versus Version 1.0’s impressive 52.17%.

Version 1.1 really excels whenever GBP/NZD is trending and it does well enough if trends last at least for two days. However, Version 1.1 very quickly bleeds out whenever GBP/NZD traded sideways for a prolonged period.

Version 1.1 is also very vulnerable to false signals or getting prematurely kicked out of a profitable trade when there is high intraday volatility, such as during the first few days and last few days of June.

Here’s a chart of the testing period I used (June 1-30, 2017), just so you have an idea of what the system had to go through:

GBP/NZD: 1-Hour Forex Chart
GBP/NZD: 1-Hour Forex Chart

I specifically chose that testing period because of the abnormally low daily volatility, heavy intraday volatility, and range-bound price action near the end in order to see if the system will survive.

And while the system did survive, I still want to reduce the peak-to-trough drawdown if possible. So there is certainly still room for improvement.

And I guess it’s just trivia at this point, but here’s how the system would have fared without spreads.

Version 1.1 Equity Curve (No Spread)
Version 1.1 Equity Curve (No Spread)

Man, just look at the difference in stats! Without spread, the system would have generated a return of 19.85% in just 22 days. But with a 12-pip spread, we only get 2.74%. That’s just so sad!

Also note the win rate. If there are no spreads, then we get more trailed wins, but because of the 12-pip spread, some of those small wins ended up becoming small losses instead, messing up our win rate in the process.

Maybe one solution to improve profitability is to look for a fixed spread broker with spreads lower than 12 on GBP/NZD? Haha!

By the way, the rules are pretty much the same as Version 1.0, so I wouldn’t be explaining them anymore. So check out Version 1.0 out if you somehow missed it and need examples and explanations.


  • SBar – the signal bar; the recently formed candlestick
  • Bar1 – bar before SBar; the previous candlestick
  • Bar2 – bar before Bar1
  • Bar3 – bar before Bar2; you get the idea…
  • BarA – newly formed bar after SBar
  • BarB – newly formed bar after BarA
  • BarC – newly formed bar after BarB; you get the idea…
  • ATRH – 120-period average true range on 1H chart
  • SL – stop loss level
  • TP – target profit level

We no longer have a TP, so TP is scratched off our list of definitions. And I scratched off everything else related to the TP below.

Rules for entering long

  • IF SBar High < Bar1 High
  • AND SBar Low < Bar1 Low
  • AND SBar Low < Bar2 Low
  • AND SBar Low < Bar3 Low
  • THEN set buy stop order @ Bar1 High
  • AND set SL @ buy stop level – ATRH
  • AND set TP @ buy stop level + ATRH

Rules for adjusting unfilled long orders

  • IF buy stop order not triggered
  • AND BarA High < SBar High
  • AND BarA Low < SBar Low
  • THEN reset buy stop order @ SBar High
  • AND reset SL @ new buy stop level – ATRH
  • AND reset TP @ new buy stop level + ATRH

Rules for trailing stops on long positions

  • IF buy stop order is triggered
  • AND BarA High > SBar High
  • AND BarA Low > SBar Low
  • Then reset SL @ SBar Low


How we move our stops
How we move our stops

Rules for entering short

  • IF SBar High > Bar1 High
  • AND SBar Low > Bar1 Low
  • AND SBar High > Bar2 High
  • AND SBar High > Bar3 High
  • AND SBar High > Bar4 High
  • THEN set sell stop order @ Bar1 Low
  • AND set SL @ sell stop level + ATRH
  • AND set TP @ sell stop level – ATRH

Rules for adjusting unfilled short orders

  • IF buy stop order not triggered
  • AND BarA High > SBar High
  • AND BarA Low > SBar Low
  • THEN reset sell stop order @ SBar Low
  • AND reset SL @ new sell stop level + ATRH
  • AND reset TP @ new sell stop level – ATRH

Rules for trailing stops on short positions

  • IF sell stop order is triggered
  • AND BarA High < SBar High
  • AND BarA Low < SBar Low
  • Then reset SL @ SBar High

Miscellaneous rules

  • IF buy/sell stop order not filled
  • AND time elapsed = 6 hours
  • THEN cancel order

Translation: If 6 hours have passed since the signal bar was completed and we placed our order, then cancel that order.

Version 2.0 Preview

As I mentioned earlier, I’ve also been working on finding the optimal fixed TP. And while it’s not complete yet, I do have some promising preliminary results.

Version 2.0 Equity Curve (Fixed 12-Pip Spread)
Version 2.0 Equity Curve (Fixed 12-Pip Spread)

Looking at the stats above, it’s quite obvious that Version 2.0 has no trailing rules yet, so it’s either a hit or miss whenever a trade is opened.

And stats-wise, Version 1.1 looks superior. However, I’m more interested in the equity curve. As you can see above, Version 2.0’s equity curve began to tilt to the upside near the end. In contrast, Version 1.1’s equity curve took a dive from taking several hits. And that, in my opinion, is a sign of a more reliable system.

Of course, I have to iron out the kinks first, so look forward to it next week!

And as always, I enjoy getting your feedback. So if you have any suggestions, questions, or if just want to say “hi” then don’t be shy and write a comment down below!