Many traders struggle to catch reversals early — either they enter too late, or get caught in false signals. But there’s a classic price action setup that’s stood the test of time: the 1-2-3 reversal pattern.
In this detailed video tutorial, I’ll guide you through everything you need to know about this powerful formation — how to spot it on a chart, how to set your entries with precision using stop orders, and most importantly, how to fully automate the strategy in StrategyQuant using AlgoWizard — no coding required.
We’ll walk through how to:
-
Identify valid 1-2-3 swing points using fractals
-
Set smart entry conditions that avoid false breakouts
-
Use random filters and buffers for better robustness
-
Build a reusable strategy template for MetaTrader 5
-
Generate dozens of variations automatically using the Builder
Whether you’re a manual trader curious about automation or an algo trader looking for new edges, this strategy is flexible, reliable, and easy to build into your workflow.
🎥 Watch the full breakdown and see how you can turn this classic setup into a fully functional algo strategy — in just minutes.
Transcript:
Today, we are going to look at a new strategy, which is actually the one-two-three reversal pattern.
It’s a price formation with three swings that signals a potential trend reversal.
Let’s take a look at the chart.
The one-two-three formation is made up of swing points where the price creates a lowest low.
Then it tries to move upward.
After that, we get another swing.
The second swing forms a higher high.
Then the price tries to, like, re-test swing one point, but it doesn’t reach the lowest low again, so it moves back up, breaking above point two.
At that moment, it’s time to enter the trade.
The point one, two, and three are always formed with specific price behavior.
Point one is the lowest low, surrounded on the right by two higher lows.
That means here we have higher low and higher low, and also two higher lows on the left side.
The point two is the opposite.
The middle bar is the highest high, with two bars on either side that are lower.
Here, here, and here.
Point three is the second-lowest low after the first swing, where the price doesn’t touch the first low again, and it’s also surrounded by higher lows on both sides.
Swings can be categorized as, like, larger or smaller depending on the number of bars.
Larger swings are made up of five bars, with a third bar being the peak and the other two on each side either higher or lower.
Alternatively, we can use a three-bar fractal where the highest or lowest point is surrounded by just one bar on each side.
In this strategy, we will be entering using a stop order at point two.
That means we want to wait until point one is formed.
The, then point two will form, which would be at the end of this line, and once we have both point and two, we want to see that the current high is lower than point two and the current low is higher than point one.
At that moment, we will place a stop order at a level of point two.
Now, let’s go to AlgoWizard to set this up.
So I switch to Strategic 1, open the AlgoWizard tab, and create a new strategy.
I’ll be preparing the strategy for MetaTrader 5, so I choose Full Editor and start with a basic template.
First, we will enter the condition where the current high must be lower than swing two.
So we set high is lower than or equal to swing two.
In Strategy Quant X, swings are defined using the fractal function.
Now we can choose either a three-bar or five-bar fractal.
I will go with a five-bar one so we get fewer signals and more reliable ones.
Since we want the high to be lower than swing two, which is a swing high, we will set the direction to up.
Now I want to check that the current low is greater than or equal to swing one.
So we choose price low, greater than or equal to.
Then again, we select a five-bar fractal.
And since this is a swing low, we set the direction to down.
For the short side, the conditions will be exactly the same.
We want the high to be lower than the swing high and the low to be higher than the swing low.
So I just copy and paste those.
Just choose these three little lines, choose copy to element, and then paste.
It’s very easy.
Now, we’ve got the basic conditions ready, but clearly, these conditions could trigger a lot of false signals.
So what we need is to add a filter.
Let’s switch to Strategy Template and add a random condition, random condition one.
For the short side, we will use the opposite, so a negated version of random condition one.
Now the entry conditions are set.
Next, we need to set the entry level.
Since we are entering with a stop order, we have to remove the default and choose, enter Add Stop.
We said that the entry level will be at swing two.
Also, we’ll add a buffer of a few pips so the price is not triggered exactly at the high.
So I used plus function.And the main level will again be defined by a fractal, this time a three-bar fractal with the up direction.
And then we will add a random number of pips using fixed pips.
And also, we will let the template decide with a range from one to ten, step one.
Now, the entry condition is complete and we will set the exit to be random.
That said, it means move stop loss to break even, stop loss to break even at pips, profit target, stop loss, trailing stop, and trailing stop activation level, everything set to generate randomly.
For the short side, we will do the opposite.
So, we delete the market order and enter using a stop order with a down fractal.
This time we will use the minus function, and we will use a three-bar fractal with direction down.
Again, we will add some buffer using fixed pips, just like with the long side, and we’ll add a value to be generated randomly.
And we’ll set the exits to generate randomly in the exactly the same way as you did it before.
So choose move stop loss to break even, profit target, stop loss, trailing stop, and trailing stop activation level, and set it to generate randomly.
And just like that, the strategy is ready.
We’ve got the entry conditions with random filtering for both long and short sides.
For long entries we are using a stop order, a buff swing two, with a pip buffer and random exit.
For shorts, we’re using the swing two point on the downside, with the same buffer.
I will save the strategy, and let’s put it into the files folder under the name Swing 1-2-3.
The template is ready, and now we will move to the builder to develop new strategies.
Open the builder, go to full settings, and start building based on the template.
So, choose option strategy from template, choose the one you just saved, and open it.
Now, the data tab.
We are building for MetaTrader 5 on the Dow Jones.
We are using 30-minute timeframe and use some out of sample data.
Now let’s define some building blocks and ranking.
For example, I want a profit factor greater than 1.2.
Then just hit start.
You can see that after a very short time, the template start generating strategies that looks kind of promising.
It seems they have some advantage, some edge.
This strategy can be traded as either counter-trend or trend-following.
It’s up to you.
But please remember, you need to adjust your template accordingly.
So, what more to say than keep building, and most importantly, don’t forget to run robustness tests.
And that was the Swing 1-2-3 strategy.
I hope you enjoyed this video.
Let me know your thoughts in the comments and see you next time.