Before testing, it is first necessary to define exactly what a Trading Strategy is. I like to specify a strategy as if I were going to convert it into computer code. Every variable that should be considered needs to be defined.
I break a strategy into 5 sections:
1. Setup
Let’s consider an example strategy: “I want to trade breakouts from an area of consolidation”. In order for a computer to determine an area of consolidation, it is necessary to be very specific. For example:
- What is the minimum length (in time) of the consolidation period?
- What is the minimum range (in ticks) of the consolidation period?
- Does the volume distribution within the consolidation period matter?
- How far away does the consolidation period need to be from a prior setup?
- How long can price break away from the consolidation bounds before re-entering and still consider the consolidation period valid?
Once these details are specified, it should be possible for a computer to highlight on a chart all the areas that meet the specification.
2. Context
Most methods work some of the time, and no method works all of the time. The key is understanding which methods work at which times!
It is necessary to define the times when a setup should be ignored by asking question such as:
- Has the setup occurred immediately after the open, or a few minutes before an interest rate announcement?
- Is volatility acceptable?
- How long is available before a trade would need to be closed? For example, is there a high risk event coming up where I want to be flat? How long until the cash close?
- How much volume has traded during the setup and is this enough to generate the expected move?
3. Signal
Once a setup is identified and it passes the context checks, it is time to identify the Signal - the actual entry point of the trade. For a consolidation breakout, examples of a signal could be:
- When price crosses a level on increasing volume.
- When price crosses a level, then pulls back to a particular point, then crosses the previous breakout extreme, with favourable bid and offer pulling/stacking.
- On a retest of the breakout level when a certain delta change is identified.
Some setups can break in either direction, so there may be a bullish signal and/or a bearish signal. Further constraints may need to be added, for example:
- What is happening on a higher timeframe? Do we really want to enter a bearish trade if the higher timeframe is trending up?
4. Targets
It is necessary to define how Stop and Targets are calculated. These can be based on market structure, Fibonacci levels, etc.
5. Validity
The final stage before classing the strategy as valid is to ask - “Does it make sense to execute”? For example:
- Is the initial Stop far enough away to accommodate the predicted level of volatility without triggering due to expected normal market fluctuations?
- Is the initial Target far enough away to generate an appropriate risk/reward?
- Is there sufficient liquidity to keep slippage within defined parameters?
Summary
A strategy is only limited by your imagination and there are an unlimited number of strategies! In order to test a strategy, it is first necessary to define all the details.
In a later post, I’ll discuss the ways a strategy can be tested, and what is necessary to convert a strategy into a fully automated or semi-automated “algo”.
What information do you consider important when building your own trading strategies?