OPEN-SOURCE SCRIPT

Crunchster's Normalised Trend Strategy

Updated
This is a unique rules-based, systematic trading strategy - in the trend following category.

The strategy is designed for use on the daily timeframe. Specific features of this strategy are outlined below:
1. Uses a transformed price series (which I dub "real price") to generate signals rather than ticker price
2. Uses advanced position sizing and risk management, usually reserved for institutional portfolio management, a proven technique utilised by Commodity Trading Advisors and Managed Futures funds (Algo/Quant funds).

"Real Price" is a transformed price series derived from the sum of volatility adjusted (daily) returns, over the entire price series of an asset. The lookback period of the volatility adjustment is user defined.

A Hull moving average (HMA) is derived from the real price, and used as the main trend determinant. The lookback period of the HMA is user defined. Default lookback of 100 periods (days) ensures a responsive trend indicator, but without leading to over-trading from frequent crossovers (average holding period 14 days on BTC).

The core strategy is very simple, go long when real price crosses over HMA, go short when real price crosses under HMA. New position triggers automatically close open positions in the counter direction.

Position sizing is based on recent price volatility and the user defined annualised risk target. In essence positions are inverse volatility weighted, so larger size is opened during lower volatility and smaller size during increased volatility. Recent volatility is calculated as the standard deviation of returns with 14 period lookback, then extrapolated into an annualised volatility of expected returns. Annualised recent volatility is then referenced to the risk target set by the user to adjust the position size. The default settings are a very conservative 10% annual risk target. Initial capital should be set as the maximum risk capital per trade (ie if $10,000 total capital and 10% risk per trade, initial capital should be $1000). Maximum leverage per position can be set independently, to facilitate hitting risk targets that are greater than the natural volatility of the traded asset, and to accommodate low volatility conditions, whilst maintaining overall risk controls.

Hard stop losses are based on multiples of the average true range of recent price (14 period lookback), user configurable.

Please leave comments regarding further features or refinements. I plan to develop further adding alternative moving average selections and the ability to select/deselect long and short strategies.

3 hours ago
Release Notes:
Added option to compound profits versus using a fixed position capital. Be mindful that compounding will potentially increase profits, but also increase drawdowns and overall risk. Leverage will still cap overall exposure with compounding and therefore provides an additional layer of risk control.
2 hours ago
Release Notes:
Added function to toggle long/short strategy legs on and off.
Release Notes
Chart appearance improved
forecastingMoving AveragesTrend Analysis

Open-source script

In true TradingView spirit, the author of this script has published it open-source, so traders can understand and verify it. Cheers to the author! You may use it for free, but reuse of this code in publication is governed by House rules. You can favorite it to use it on a chart.

Want to use this script on a chart?


Join me on Mizar.com and trade my strategies

Disclaimer