Partner Center Find a Broker

Greetings, ladies and gents!

After testing out a few things, I finally came up with my first prototype trading system. Now, I have to warn y’all that I’ll be using quasi-programming language to present the rules of the system.

However, don’t fret if you feel overwhelmed, since I’ll also do my best to explain the rules in simple English (with pictures to boot). And as always, you can just shoot me a comment below if you have any questions (or if you noticed an error somewhere).

With that said, here are the topics I’ll be covering today, so feel free to jump to the topic you want to see first, although it would make much more sense if you read everything. And if you haven’t already, you may also want to read my 2018 Trading Resolution to understand my goals for this system, as well as the underlying trading principles that form the foundation of this system.

Definitions

First, let’s set up some definitions:

  • 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

Almost everything should be pretty self explanatory. But why use the 120-period average true range (ATR), I hear none of you ask?

Well, my rationale for this is that is I want to build a trading system that automatically adapts to and can (hopefully) survive changing market conditions. And one of the simplest way to do that is to base my stop loss and targets on the ATR.

However, I also want to have a large enough sample size for the ATR. Too small and the ATR will be too sensitive to recent price action. Too big a sample size and the ATR may end up being too inflexible for setting targets and stops. Anyhow, a week’s worth of data is good enough, which is why I used a 120-period ATR (24 hours in 1 day, 5 days in 1 trading week).

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

Translation: If two consecutive candlesticks form lower highs and lower lows, and if the the low of the signal bar (i.e. recently formed candlestick) is lower than the lows of the three previous candlesticks, then set a buy stop order at the high of the candlestick prior to the signal bar. And while you’re at it, set your stop loss by subtracting the value of ATRH from your entry level. After that, you set your target profit level by adding the value of ATRH to your entry price.

Illustration:

Step 1: Look for lower highs, lower lows
Step 1: Look for lower highs, lower lows
Step 2: Set you entry order
Step 2: Set you entry order
Step 3: Set your SL and TP
Step 3: Set your SL and TP

In the example above, the signal bar was completed on June 14, 2017, 3:00 pm GMT. The high of the candlestick prior to the signal bar was at 1.7552, so we set that as our entry. The ATRH at the time was 42 pips or 0.0042. Our SL is therefore at 1.7510 (1.7552 – 0.0042) while our TP is at 1.7594 (1.7552 + 0.0042).

And as marked above, our long order got filled four hours later at 7:00 pm GMT. And our target was hit four hours after that at 11:00 pm GMT. Simple, right?

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

Translation: This just means that if our existing long order isn’t filled and the next candlestick after the signal bar has lower highs and lower lows, then that means that the pair likely hasn’t found a bottom yet. We therefore basically use the newly formed candlestick (BarA) as the new signal bar and make the necessary adjustments to the existing stop entry order.

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

Translation: We only move our stops on our longs whenever there are higher highs, higher lows. And we use the low of prior bar as our new stop loss.

Illustration:

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

Translation: It’s basically just the opposite of the rules for going long. So if two consecutive candlesticks form higher highs, higher lows, and if the high of the signal bar (i.e. recently formed candlestick) is higher than the highs of the three previous candlesticks, then set a sell stop order at the low of the candlestick prior to the signal bar. And while you’re at it, set your stop loss by adding the value of ATRH from your entry level. After that, you set your target profit level by subtracting the value of ATRH to your entry price.

See? Told ya it was just the opposite of the rules for going long.

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

Translation: We just do the opposite of what we do for our long positions.

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

Translation: Yep, you guessed it. We just do the opposite of what we do for our long positions.

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.

Backtest Results (No Spread)

Before we move on, let me give y’all a quick summary of my assumptions for my backtests:

  • Starting balance of $10,000.00
  • Leverage is 1:100
  • NZD/USD is at 0.7200, so value of 1 pip using 1 standard lot is around $7.20
  • Spread: none
  • Testing period is from June 1-30, 2017

Okay, here are the results:

Equity Curve (No Spread)
Equity Curve (No Spread)

Pretty sweet, right? A win rate of 56.52% and 9.78% in just 22 days of trading. Moreover, we have positive expectancy and if we project that, we can expect to gain $10,989.35 in one year. In other words, we can expect to double our account in one year. Also, do note that our reward to risk ratio here is only 1:1 since we risk $50 or 0.50% of our account in order to also get 0.50%.

Backtest Results (With Spread)

Here are my assumptions again:

  • Starting balance of $10,000.00
  • Leverage is 1:100
  • NZD/USD is at 0.7200, so value of 1 pip using 1 standard lot is around $7.20
  • Spread: Fixed at 12 pips
  • Testing period is from June 1-30, 2017

Take note that I changed my spread from none to a fixed spread of 12 pips. Why 12 pips? Well, that’s because most brokers that offer fixed spread have them at 12 pips for GBP/NZD.

I can use a floating spread for my assumptions. And under normal market conditions the spread on GBP/NZD is usually between 5-6 pips. However, that tends to widen greatly when their are top-tier events, such as the RBNZ statement or the BOE statement.

Anyhow, I chose the fixed spread so that we have better control over our costs (and because historical floating spread data are harder to come by).

Okay, this is what we get:

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

Ouch! That ain’t good. We do have a win rate higher than 50% but since we take spread into account, our reward to risk ratio is no longer 1:1. Instead, our reward to risk ratio is now only 0.48:1. And since our win rate is just not high enough to compensate for our low reward to risk ratio, our expectancy ends up being negative.

Going Forward

This prototype trading system shows great promise on paper. However, if we apply real world conditions by using a fixed 12-pip spread, we can quickly see that the system ain’t really that good. And the reason for this is our gains are limited and the spread relative to our gains is just too big since ATRH, which forms the basis for our TP levels,  is usually around 34 pips.

However, one great lesson from this prototype is that using higher highs, higher lows and lower highs, lower highs as an entry does give us an edge since out hit rate is above 50%. In other words, we get better odds than simply using a coin toss to determine entries, so we definitely have an edge.

My goal for the next version, therefore, is to find a way to let our profits run. Alternatively, I can try to find the optimum fixed profit target since the high spread on GBP/NZD renders the current prototype ineffective.

At the moment, I’m planning to just remove the TP level and just let the trailing stop method do its magic, but that’s just my initial idea, so I may choose a completely different route.

Also, do note that we haven’t included the inside bar as part of our entry method yet, so I’ll also try to find a way to do that by next week. That’s a low priority at the moment, though.

Okay, I hope I didn’t cause any of you to suffer from brain freeze or convulsions.

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!

Cheers!

Happy

This content is strictly for informational purposes only and does not constitute as investment advice. Trading any financial market involves risk. Please read our Risk Disclosure to make sure you understand the risks involved.