Combining a Moving Average with the ATR to create Mean Reversion Keltner Channels
In this second article of the Mean Reversion series, we are going to go back to my initial example of utilizing a Moving Average to determine when price has moved too far from the mean. In very technical terms, we will be building a Keltner Channel.
A Keltner Channel is a volatility-based channel calculated from a Moving Average as a baseline. It’s used by adding and subtracting an ATR value to the Moving Average value to create an upper and lower band. In this example, today we will only focus on the lower band and will thus subtract an ATR value from the Moving Average to create the band.
Disclaimer: Templates are for educational purposes only!
👉 Get the Keltner Channel Template → Template Link
This template is designed to run on the 4-hour timeframe, with the example being on GBPUSD.
The Keltner Channel Strategy is a very typical mean reversion strategy that takes into consideration market volatility. The entry is determined by volatility because the ATR is involved in the calculation of the channel. We enter a trade when the long-term trend is up, but the price closes outside the Keltner Channel Lower Band. We use a rather large stop loss for the trade to give it enough room to breathe before reversing back to the mean. This stop loss is also based on volatility using the ATR.
As a result, if the market is ranging and volatility is low, the system will take more trades in a row and will have a higher win rate. Also, targets will be smaller, and thus you’ll have an asymmetric risk-to-reward ratio, mainly negative. However, if volatility picks up, we are looking at bigger moves, bigger stoploss sizes, but also more distance to cover before the trade can exit for a winner.

Let’s write down all the rules of this strategy, step-by-step.
Pretty simple, right? Now let’s build it together in Profectus AI

Want to see how the Keltner Strategy works when fully automated?
Access the automation template used to turn this trading concept into a deployable MQ5 trading bot inside Profectus AI. The template includes the entry logic and the trade close module. It’s ready for testing!
You can test it on different symbols, adjust the timeframe, change the session window, and change the floating parameters for entering and exiting the trade.
Disclaimer: Templates are for educational purposes only!
👉 Get the Keltner Channel Template → Template Link
This template is designed to run on the 4-hour timeframe, with the example being on GBPUSD
Dive into a world of knowledge, trends, and industry updates on the Variable blog. Our curated content covers a spectrum of topics.