Dynamic Position Sizing: Is It Time to Go Big?

Nov 5, 2021

Not all entries are created equal. Can we identify higher probability entries, and apply larger position sizing to them?

Here I’ll attempt to augment a GBPJPY trend following strategy with dynamic position sizing, and backtest its performance over 18 years. 

I was reading The Art of Currency Trading by Brent Donnelly, where he lists his 25 rules of forex trading.

In particular, rule #14 states: There is a time and a place to go big.

The idea is to increase your position sizing when you come across very high probability trades, thus increasing your number of outsized wins.

Sounds logical, but does it work over the long-term? Let’s program a dynamic position sizing scheme and see whether it improves trend following performance on the 30-minute GBPJPY.

Baseline Strategy with Fixed Position Sizing

To establish a performance baseline, I’ll take advantage of the Bollinger Bands and its inbuilt trailing stops.

This strategy goes long when price penetrates the upper Bollinger Band, with the lower band acting as a trailing stop loss.

With a fixed 0.1 lot size, performance has been decent from 2003-2021.

Together with its simplicity, this strategy offers a great platform for further development.

Programming a Dynamic Position Sizing Scheme

To calibrate my position sizes, I’ll add three optional conditions to the baseline strategy. If true, each of these conditions should increase the probability of a successful trade.

Since these three conditions are optional, they differ from traditional entry filters. The Bollinger Band breakout remains the only mandatory entry condition.

1. Channel Breakout Condition

For all three optional conditions, I’ll first include the Bollinger Band entry condition. This means that position sizes will only be calculated when an entry is imminent, thus reducing unnecessary EA activity.

For the first optional condition, I’ll use an 80-period SR% indicator to detect channel breakouts. It calculates the percentage of time the current close falls within the high-low range of each of the previous 80 bars.

Low SR% values mean that:

  • The market is trending, or
  • Prices are trading close to the top/bottom of their range. 

In this case, the breakout condition is true when SR% equals 0, meaning that prices have broken out of the highest highs/lowest lows of the previous 80 periods.

Isn’t this the same as the classic Donchian breakout used by the Turtles?

Yes it is, but by using the SR% indicator and adjusting the threshold, you are also able to detect when prices are approaching (but haven’t penetrated) the boundaries of the trading range.

You can toggle the threshold to say, something in the 5-10 range, to achieve this.

For explanations on the other SR% inputs, check out my detailed guide on the SR% indicator.

2. High Volatility Condition

This high volatility condition is satisfied when the previous bar’s range (high-low) is at least twice the 14-period ATR.

The probability of a sustainable trend increases when you have an impulsive Bollinger Band penetration.

3. Moving Average Condition

This final optional condition looks for trend alignment across two timeframes. I’ll use the direction of the 30-period exponential moving average on the 4-hour timeframe.

If this EMA has been rising for at least five consecutive bars, there’s a higher probability I’ll get an uptrend on the 30-minute timeframe.

Likewise, for shorts, I’ll be looking for the 4-hour EMA to have fallen for at least five consecutive bars.

The programming structure is slightly different here, because the EMA direction has to be paired with its respective Bollinger Band breakout condition.

Calibrating Position Sizing

Position sizes will be separately calculated for every entry.

As per the baseline strategy, the default position size will be 0.1 lots.

For each of the three optional conditions that is true, I’ll add an additional 0.1 lots.

For example, if only the moving average condition is true, I’ll trade 0.2 lots. If all three optional conditions are true, I’ll trade 0.4 lots.

To program this in AlgoWizard, I’ll need a multiplier for the default 0.1 position size. This will vary from 1 to 4, thus creating lots in the 0.1 to 0.4 range.

First, I’ll need to reset the multiplier to 1. I don’t want my current position size to be affected by previous trades.

The logic tabs in AlgoWizard are executed from left to right. Next we have the three optional conditions described previously.

If any of these three conditions are satisfied, the lot multiplier is increased by 1. I’ll show the channel breakout condition as an example.

After cycling through the three optional conditions, I’ll finally compute the position size by applying the lot multiplier to the default 0.1 size.

This Lot_Size variable is then called up when programming the strategy’s market order.

That’s it for programming.

Here’s an example of a trade where the high volatility and channel breakout optional conditions were satisfied. 0.3 lots were opened as a result.

Now let’s backtest the strategy to see if the programming has paid off.

Backtesting the Dynamic Position Sizing Scheme

As per the baseline, I tested the strategy on the M30 GBPJPY, from 2003-2021.

The equity curve looks very similar because the trade sequence and profits/losses (in pips) are identical.

Here’s the breakdown of the position sizes traded:

Profit factor has increased from 1.24 to 1.30, while return/drawdown has increased from 7.13 to 11.8.

Most notably, net profit has increased 2.5x from $21200 to $55700. Is this simply the result of trading more lots, or did I successfully target the high probability trades?

To find out, I computed the average lot size of the above backtest, which came to 0.21 lots. I then retested the original strategy with a fixed 0.21 lots throughout.

The net profit was $44600 in that case. Looks like going big on the higher probability trades netted me an additional 25% profit.

Lastly, I wanted to check whether the three optional conditions were effective at picking out higher probability trades. I decided to plot the win rate for each of the four position sizes.

Indeed, entries that satisfied at least two of the optional conditions had win rates of 47%, significantly higher than the overall win rate of 41%. Despite consisting only a third of the 1640 trades, these entries accounted for 74% of the overall profits.

Wrapping Up

A dynamic position sizing scheme that increases lot sizes for higher probability trades can indeed pay dividends.

Identifying these higher probability trades is central to your success. The three optional conditions above (channel breakout, high volatility and trend alignment) adhere to traditional technical analysis principles. They are good starting points.

The lot size increments will depend on your risk appetite and account capital. If in doubt, consult your historical drawdowns and be conservative.

Powered By

Development Platform

Forex VPS

FXVM Forex VPS

Popular Posts

Laguerre RSI Trend Following Strategy

The Laguerre RSI attempts to improve the responsiveness of the regular RSI, whilst keeping whipsaw trades to a minimum. Let’s see how well it detects short-term pullbacks for a trend following strategy!

read more

What is Fixed Ratio Money Management?

Have you heard of fixed ratio money management? How does it compare to the popular fixed fractional approach? Here I’ll explain how fixed ratio works, and see how it stacks up against fixed fractional money management.

read more

Build a Diversified Portfolio With QuantAnalyzer

The ability to efficiently trade a diversified portfolio of strategies is one of the biggest advantages of algorithmic trading. Here we will use QuantAnalyzer’s Portfolio Master to build a portfolio consisting of high performing, uncorrelated strategies.

read more

What Is the QQE Indicator?

The QQE is a mysterious indicator that sometimes pops up in trading forums. Does it deserve a place alongside the more traditional momentum indicators like the RSI and CCI? Let’s add it to a trend following strategy to find out!

read more

Make your money work for you!

Get promotions, trading ideas and strategy development tips delivered to your inbox!

Comments

7 Comments

  1. Flibidi

    Thx for your work man! Great content as always!

    Reply
  2. KC

    Thank you Sir

    Interesting

    How do you download the strategy for MT4 use ?

    Thank you

    Regards
    kc

    Reply
  3. Anonymous

    This gives me so many other ideas… 💡

    Reply
    • Janmen

      Wow awesome work.
      Thx for the insight

      Reply
  4. Alitz

    Thank you Wayne for such great content

    Reply
    • Wayne

      My pleasure. Do spread the word 🙂

      Reply

Submit a Comment

Your email address will not be published. Required fields are marked *

Trading Strategies

What’s the Best Time to Trade Forex?

What’s the Best Time to Trade Forex?

The forex markets are open 24/5, but not all hours are created equal. Here I dissect my broker data to determine the best time to trade forex.

Forex Weekend Gaps: Can You Exploit Them?

Forex Weekend Gaps: Can You Exploit Them?

Have you noticed that forex weekend gaps usually reverse within 3 days? Here I’ll program a mean reversion strategy to exploit gaps over the last 18 years!

Money Flow Index: An Improved RSI?

Money Flow Index: An Improved RSI?

The Money Flow Index is sometimes called the volume-weighted RSI. Can it outperform the RSI in this trend following strategy?

Automated Bollinger Bands Squeeze Forex Strategy

Automated Bollinger Bands Squeeze Forex Strategy

StrategyQuant’s BBWR indicator is the perfect tool to detect a Bollinger Bands squeeze. Here I explain how it’s calculated, and use it to program a breakout strategy for the AUDJPY!

Should You Use the Kelly Criterion for Forex Trading?

Should You Use the Kelly Criterion for Forex Trading?

The Kelly criterion is a famous mathematical formula that attempts to maximize your long-term capital growth. In this post, I’ll apply it to a EURUSD breakout strategy and explain some of its potential shortcomings when applied to forex trading.

Can a Trading Pause Improve Your Trend Following Results?

Can a Trading Pause Improve Your Trend Following Results?

A temporary trading pause can improve your win rate if you’re trend following a volatile market. Here I’ll program a trading pause into a simple breakout strategy, and test its effectiveness on the Widow Maker – the GBPJPY.

Laguerre RSI Trend Following Strategy

Laguerre RSI Trend Following Strategy

The Laguerre RSI attempts to improve the responsiveness of the regular RSI, whilst keeping whipsaw trades to a minimum. Let’s see how well it detects short-term pullbacks for a trend following strategy!

How to Use the Supertrend Indicator

How to Use the Supertrend Indicator

Despite its cool name, the Supertrend indicator often seems to slip under the radar. Here I explain how it’s calculated, and combine it with moving averages to produce a simple trend following strategy.

Ichimoku Trend Following Strategy

Ichimoku Trend Following Strategy

Like candlesticks, the Ichimoku indicator is a fine Japanese creation. Here I’ll explain how the Ichimoku is plotted, and use it to build a trend following strategy for the USDJPY.

Strategy Development

Do You Know Your System Quality Number?

Do You Know Your System Quality Number?

The System Quality Number measures the profitability & consistency of your trading system. Here’s how to calculate your SQN and use it to improve your trading!

How to Get a Realistic Backtest Spread

How to Get a Realistic Backtest Spread

Your choice of backtest spread can certainly make or break a strategy. This post will show you how to study the intraday spread variations of your market, and suggest several ways to avoid paying ridiculous spreads.

Do You Know Your Strategy’s Optimization Profile?

Do You Know Your Strategy’s Optimization Profile?

Your strategy’s optimization profile often reveals its robustness, helping you select strategies that will remain profitable in live trading. Here I explain why an optimization profile is important, and how you can easily obtain one using StrategyQuant’s optimizer.

Which MT4 Backtest Report Metrics Should You Use?

Which MT4 Backtest Report Metrics Should You Use?

Understanding your backtest report is an essential part of being a successful strategy developer. Here I explain what the numbers mean, and how you can make use of each metric during strategy development.

Out-of-sample Testing Using Monte Carlo Simulations

Out-of-sample Testing Using Monte Carlo Simulations

Traders often use Monte Carlo simulations to estimate worst-case drawdowns, but did you know they can be used for out-of-sample testing too? This post demonstrates the use of StrategyQuant’s Monte Carlo simulator to randomize historical prices and strategy parameters, helping you select robust strategies for live trading.

How Many Trades Should Your Backtest Have?

How Many Trades Should Your Backtest Have?

We all want a large sample of trades in our backtests, but practical limitations such as data availability often get in the way. Here I’ll explain why 30 trades is insufficient, and how you can use standard error to quantify the uncertainty arising from a small sample size.

Build a Diversified Portfolio With QuantAnalyzer

Build a Diversified Portfolio With QuantAnalyzer

The ability to efficiently trade a diversified portfolio of strategies is one of the biggest advantages of algorithmic trading. Here we will use QuantAnalyzer’s Portfolio Master to build a portfolio consisting of high performing, uncorrelated strategies.

Strategy Optimization Using MT4

Strategy Optimization Using MT4

How do you improve your trading strategy in MT4? This post will show you how to optimize the entry and exit parameters for a moving average crossover strategy. Finally, an intraday time filter will be added to help avoid false breakouts.

Debugging & Backtesting Using MT4

Debugging & Backtesting Using MT4

With a fresh algorithm at your fingertips, how do you verify that it has been programmed correctly? This guide will show you how to use Metatrader 4’s visual backtester to debug and backtest your strategy.

Create Your Trading Algorithm in 15 Minutes (FREE)

Create Your Trading Algorithm in 15 Minutes (FREE)

Converting your trading idea into an algorithm is the first step towards reaping the benefits of automated trading. This guide will cover the creation of a simple moving average crossover algorithm, without any actual programming.

What Is Drawdown in Trading?

What Is Drawdown in Trading?

Are you getting a comprehensive assessment of your strategy’s downside? This post will discuss several methods to measure drawdowns, helping you build and select strategies that better suit your risk appetite.

Live Trading

What’s the Best Time to Trade Forex?

What’s the Best Time to Trade Forex?

The forex markets are open 24/5, but not all hours are created equal. Here I dissect my broker data to determine the best time to trade forex.

How to Find a Real Trading Guru

How to Find a Real Trading Guru

Every day I come across a trading guru offering educational content on the internet. Many of them speak of huge returns with minimal effort. Should these be trusted? Here’s some tips on how to separate the wheat from the chaff.

How to Enjoy Stress-Free Trading

How to Enjoy Stress-Free Trading

Trading is a great way to make some additional income, but not if you’re constantly pulling your hair out. Here I offer 7 tips to help make your trading profitable and stress-free.

How to Select the Best Forex VPS

How to Select the Best Forex VPS

A virtual private server (VPS) is a virtual computer that you can rent and access remotely. It provides a reliable platform on which to execute your forex strategies. This post will help you decide whether you need a VPS, and show you how to select an optimal VPS.

Make your money work for you!

Make your money work for you!

 

Get trading ideas and strategy development tips delivered to your inbox!

Thanks for subscribing!

Pin It on Pinterest

Share This