In this post, we are going to discuss a volume breakout trading strategy which scans for stocks which breaks out of a price range with high volumes. This is a very simple strategy with no fancy indicators, however the profitability is quite impressive. This works on majority of liquid and high beta stocks that we have tested. We have a coded an AFL for this strategy and back-tested it on Banknifty futures traded at NSE. The compounded annual return is around 23% for the last 11 years backtest period.
Please visit Trading Tuitions Academy to learn AFL coding and create your own Trading systems.
Volume Breakout Trading Strategy – AFL Overview
Parameter | Value |
Preferred Time-frame |
Daily |
Indicators Used | EMA |
Buy Condition |
|
Short Condition |
|
Sell Condition |
|
Cover Condition |
|
Stop Loss | 3% |
Targets | 30% |
Position Size | 120 Quantities |
Initial Equity | 200000 |
Brokerage | 100 per order |
Margin | 10% |
Volume Breakout Trading Strategy – AFL Code
Click here to download the AFL code for this system.
AFL Screenshot
Volume Breakout Trading Strategy – Backtest Report
Parameter | Value |
BankNifty | |
Initial Capital | 200000 |
Final Capital | 1973764.04 |
Scrip Name | NSE Banknifty |
Backtest Period | 25-Aug-2005 to 17-June-2016 |
Timeframe | Daily |
Net Profit % | 886.88% |
Annual Return % | 23.09% |
Number of Trades | 78 |
Winning Trade % | 37.18% |
Average holding Period | 19.28 periods |
Max consecutive losses | 10 |
Max system % drawdown | -34.03% |
Max Trade % drawdown | -75.56% |
Clearly, drawdown is on a higher side. It could be overcome with proper Risk Management strategies. Download the detailed backtest report here.
Equity Curve
Profit Table
This volume breakout trading strategy has been profitable on all the years except 2015 and 2012.
Additional Amibroker settings for backtesting
Goto Symbol–>Information, and specify the lot size and margin requirement. The below screenshot shows lot size of 40 and margin requirement of 10% for NSE Banknifty:
Disclaimer:
All the AFL’s posted in this section are for learning purpose. Trading Tuitions does not necessarily own these AFL’s and we don’t have any intellectual property rights on them. We might copy useful AFL’s from public forums and post it in this section in a presentable format. The intent is not to copy anybody’s work but to share knowledge. If you find any misleading or non-reproducible content then please inform us at support@tradingtuitions.com
what about normal users like me who use zerodha pi????
_N(Title = StrFormat(“{{NAME}} – {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) {{VALUES}}”, O, H, L, C ));
I am getting Error 61. The number of format specifier(s) (%) does not match the number of arguments passed.
Please help
Hi Rahul,
What is your Amibroker version?
Version is 6.20.1
GETTING ERROR 61 ON THIS LINE SIR
_N(Title = StrFormat(“{{NAME}} – {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) {{VALUES}}”, O, H, L, C ));
Hi Vaibhave,
This happens on some versions of Amibroker. Please comment out this line for the time being. It wouldn’t affect the strategy at all.