Successful backtesting in FX

Good Morning / Afternoon folks

A lot of people are willing to teach you their trading style, yet it’s not because I’ve watched cooking movies I’m a chef

(but fuck, I do like Burnt)

I can tell you the entries many strategies available for free are profitable. Heck, if I shared this strategy, which is pretty darn straightforward you could generate a profit

Yet, I can guarantee you that if you were to implement it straight out of the box without testing it & trying to develop a few filters & figuring out a clear exit plan you won’t go far.

Now, before I start diving into it, I shall mention one thing:

A technical analysis/trading plan to enter trades isn’t the only thing you need to develop to become a good trader.

  • You’ll need to develop clear exit rules.
  • You’ll need to develop a strong mental understanding of your strategy.
  • You’ll have to come to accept that you will lose money (from time to time).
  • You’ll have to continually work to either refine or even only execute this strategy.

Where to look for potential reversals

To make it easier we’re going to look at a daily chart with an indicator I have developed

This removes all discretion and we can be sure that every single zone will be created following the exact same rule

The chart represents the Australian Canadian Dollar from August 2020 till today with a single indicator.

Now before going on too far, let’s just explain what I am trying to highlight with my indicator

The indicator objective is to highlight areas where the price is likely to reverse

The logic behind their creation is to find days where the price saw quite a lot of hesitation in terms of direction (creating wicks that are bigger than the body of the candle) that are then engulfed on the following day

You’ll probably notice that it happens quite a few more times than where my boxes are created. Some appear to have been “missed” the reason for that is that I want those zone to be created either close/below (for demand zones) to the HMA to avoid having zones created when the run is rather extended and in need of a pullback.

This logic was to reduce the number of zones & improve their likelihood of success.

On this chart you can notice that out of the 16 zones that were created since August 2020 9 of them showed a rejection or at least a small reaction.

That doesn’t mean too much, it may only be Aussie Canadian Dollar that is as successful, but it highlights that the areas created are interesting.

The aim of these daily zones is purely to highlight potential areas of reversal

I am not looking to take a trade purely based on these boxes my indicator creates.

This is where multi-timeframe analysis comes in.


Using multiple timeframe analysis

While it is perfectly fine to use only one timeframe to find areas and potential entry levels, I personally prefer to use a different timeframe to find the confirmation I am looking for.

This enables us to ensure that all the timeframes are “speaking” the same language.

If the daily shows that price has reached an area of reversal (a box) that is great, however, I’ll only know that the level has been respected a few days afterward.

Instead of waiting multiple days I prefer to dig into the hourly (or even 4hour) chart

Using the hourly chart, I decided to use a rather simple indicator showing highs and lows according to a formula as to keep it as mechanical as possible (this however has a delay of three candles for a confirmation)

Let’s pop up the hourly chart on the main screen to make it easier for your eyes

As you can see each time a cross is created we can see that the high or low was respected for a few candles afterward/before.

Since we already have areas on the daily where we are interested in a potential reversal, I will be using these highs/low as my entry method.

A break and a retest is a nice quick and dirty set-up to analyze so let’s dive into it.

(If I wasn’t using my daily chart to find areas of interest, this strategy would require a lot more fine tuning to be profitable, that’s why multiple timeframe analysis is key)

My daily chart shows potential areas of reversal

My hourly shows a break in the current pattern of lower highs / or higher lows.

Both indicate that a potential change will take place in the market. That is the strategy I am looking to use.


Backtesting requirements

When I backtest I want to be as precise as possible with details, to be able to

  1. Find flaws in my model
  2. Find potential filters to increase the average return / strike rate
  3. Understand if I can change my target method or exit strategy
  4. Get as much data as possible to build a true probabilistic understanding
  5. Have clear rules once I implement it live

For example, in my recent backtest, I decided to add 3 filters based on the daily chart.

The hourly is still relatively new so I wanted to build a large data-set and let my unconsious learn as I went before diving back into it and adding filters.

Here’s an example of how I set-up my initial excel (or google sheet) before I start adding comments / screenshots / analysis of my filters etc.

It then tends to look like this

Yep, removed the dates, you guys can do sonme work!

As you can see, I track the set-up, the daily filters and the return, I’ve personally stopped taking screenshots since it reduces the speed of my workflow, I find it easier to look back on the charts (Alt G) on TradingView.

These trades represent price action since 2018 till today.


A few examples

Now I’ll be honest, I do not want to go into too much detail about my targeting or stop placement or even trade management.

I’ve spent over a hundred hours into this so far (my regular trading plan is over several thousands of hours)

So if you want access to the really detailed information I’ll invoice you the number of hours I’ve spent on this with my consulting rate 😉

However, you’re able to notice a rather clear multi-timeframe breakdown

On the daily we reached an area of interest for a potential reversal

On the hourly we broke below one of the crosses which enabled me to place a short order

The two timeframes were sharing the exact same information, the same story so I felt comfortable executing a short.

We can see that it successfully ran 1R, actually 2.2R if the stop was at the high

It doesn’t mean the trade was a success in my trading plan, however, it does show the potential.

This was only one example, the most recent area of interest on the daily, so let’s look further back

Daily was interesting but the hourly failed to confirm the edge so no trade

Let’s look at the one before that?

Daily fit the story

Hourly (took a long time and went quite far before pulling back) also fits the same story, another 1:1 if you were to execute it and decide it was worth placing an order even tho it had ran quite far

The previous one?

Daily fits the story

Hourly fits the story as well, another 1:1

I’m not going to go all the way back, my objective isn’t to show you if the strategy works, and if I use a 1:1 set-up, the objective is to show the importance of collecting data


Using filters

While I was testing a few other things while collecting data here’s a breakdown of the numbers I collected

The breaker 3 set-up is the one that is of interest to us.

You can see I collected 151 trades

For a return of 80.5%

And an average return of 0.53%

If you recall the different filters I mentioned previously (it depends entirely on what strategy you are testing so don’t just copy the same ones as I am)

I tracked three different filters:

Zone nbr

Confirmation

Before/After

You can notice that using no filters whatsoever I had an average return of 0.53 so it isn’t really worth using the confirmation or before/after filters since they don’t have a big impact on the average R:R they just reduce the overall return and compounding

However, using only trades from the 1st zone I can see that my average return would go from 0.53% to 0.67% and only lower my returns by 7% over the four years while making me take 40 trades less (which means fewer commissions/fewer carryover fees/ less exposure to the market risk)

Using that filter appears to be worth it.

From there, I decided to look at the impact of combining the filters together in different combinations (there were a lot of combinations possible so I won’t share all of them)

An interesting combination for instance was having a valid confirmation and remaining in the 1st zone

This increased the average return from the original 0.53% and 0.67% for using only the zone as a filter to 0.74%

A return of 50.8% vs. 73.2%

You may be saying to yourself, why in the hell would I accept to “lose” 23.2% that’s nearly 50% of the return

Well, that’s entirely upon you.


Your average return & strike rate matters

I’m assuming most readers of this blog have a trading capital of 5,000$-100,000$, which means they want big returns and not necessarily “safe” ones

However, that also means that a lot of you are going to be using a “prop” firm to finance you, which is going to have a maximum drawdown.

I personally use the 5ers

Which is a great service, has a great team, and has always paid me when I invoice them very quickly. (P.S. They also have several scaling solutions I find interesting)

Anyway, this isn’t a blog post about how great they are (they are, just trust me, DYOR)

That means I have a maximum DD that I can accept before they cancel my funding

This means my strike rate is actually rather important. I do not want to have a large drawdown, hence a higher strike rate and a higher average return can be beneficial, even tho it may mean a lower overall return.

That being said, I want to use a caveat (is that the right word) here?

Do not search for the strategy that gives you only 5 trades a year with a high strike rate and high average return, well, you may, but the idea here is that the more trades you take the more compounding you’ll be able to achieve.

Using the exact same data

1 filter applied = Only zone 1 = 0.67% avg return

2 filters applied = Only zone 1 & valid confirmation = 0.74% avg return

Well, fuck that doesn’t illustrate well my example of reducing my maximum DD by increasing my strike rate, ugh. Anyway, IT USUALLY DOES!

The market isn’t perfect clearly ahah

However, you still see what I mean, the returns added up where respectively 73.2% vs 50.8%

Once you start compounding, a greater number of trades makes the compounding do its magic

Using one filter, you can see a 43% growth in the returns thanks to compounding, in the second filter, it’s “only” 28% growth from their starting numbers. So let’s keep in mind that compounding is magic, but it works only on a lot of trades, if you take nearly no trades there’s nearly no compounding benefit

Anyway


All that to say

You want to collect a LOT of trades

To have more data

To know if your strategy is profitable

To know if it’s worth using filters

To know the exact benefit and drawbacks of each filter

That is how you end up with a trading plan.

Data is king

But keep in mind it’s not because a strategy was profitable in the past that it will necessarily be profitable in the future


Your next steps

  • Find a mechanical way to look at charts on two timeframes
  • Create a first set of hypotheses of stop placement & target (you’ll probably change them)
  • Figure out a few filters you’ll want to track
  • Use the replay button on trading view
  • Spend hundred/thousands of hours working

One Reply to “Successful backtesting in FX”

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: