Simple ADX Strategy

Trader J

Junior member
Messages
21
Likes
0
Simple ADX Strategy

I have called this strategy: Simple ADX. It is my intention to provide the code for a basic trading strategy with the intention to learn from the input from other traders using this forum.

The basics of the strategy are as follows:

When the 14 period ADA rises from below 15 to above 15 with a change in the ADX of 0.5 or more, a big trend might be underway.
A simple Parabolic Stop is used.

Let's look at the code as I use it in Genesis Trade Navigator:

For a Long Entry:
IF DMI plus (14 , 0) > DMI minus (14 , 0) And ADX (14 , 0) <= 15 And ADX (14 , 0) > ADX (14 , 0).1 And Next Bar DayOfWeek <> 3 And Next Bar WeekOfMonth <> 4

For Long Exit:
IF Crosses Below (Low , Parabolic (0 , 0.02 , 0.2))
Then Sell Market

For Short Entry:
IF DMI minus (14 , 0) > DMI plus (14 , 0) And ADX (14 , 0) <= 15 And ADX (14 , 0) > (ADX (14 , 0)).1 And Next Bar DayOfWeek <> 2

For Short Exit:
IF Crosses Above (High , Parabolic (0 , 0.02 , 0.2))
Then Sell Market



The Long Entry looks at a DMI Plus > DMI Minus and the ADX must be rising ADX > ADX.1 (= one bar ago)
The last two conditions were added after back testing: it should not be the 3rd day of the week; it should not be the 4th week of the month.

I tested it on the Japanese Yen (in Genesis G6J-067).
Looking at the results over a long period of time (1977 – 2009):

Total Net profit: $102.538
Profit Factor: 3.05
Winning Percentage: 51.8%
Return %: 966.7%
Average trade: $932
Max Closed-out drawdown: -$6400
Max IntraDay Drawdown: -$7908
Percent in the market: 18.9%
Total trades: 110

Looking at a time when electronic trading was more common (2001 – 2009):
Total Net profit: $24.903
Profit Factor: 3.43
Winning Percentage: 57.1%
Return %: 290.7%
Average trade: $889
Max Closed-out drawdown: -$ 5145
Max IntraDay Drawdown: -$ 5865
Percent in the market: 14.6 %
Total trades: 28

What I like about this system is the low drawdown. It does not trade often but it has been a consistent winner with an average profit per trade around $ 900.

Money Management has not been applied. For slippage and commission I used $ 45 per trade.

So, now it is time to start shooting holes in this system and improve it. It would be great to make this into a robust trading system applicable to more Commodities than just the Japanese Yen. By the way, it also show promising results on the DAX.
One of the improvements could be on the Stops and/or Exits being used.

I am very interested to hear constructive input and/or improvements.

Trader J
 

Attachments

  • JPY Results.jpg
    JPY Results.jpg
    37.3 KB · Views: 883
Last edited:
Looking at the DAX with the same strategy but a slightly different exit gives the following results - see thumbnails.
The table showing the trades indicate the principle of cutting your losses and letting your profits run
I used $ 45 for slippage and commission. No Money Management technique was used. This is for 1 contract.
No forward testing or Monte Carlo simulation was done.
 

Attachments

  • DAX Results 1.jpg
    DAX Results 1.jpg
    37.9 KB · Views: 709
  • DAX Results 2.jpg
    DAX Results 2.jpg
    118.7 KB · Views: 757
Looks pretty interesting.

Using money managment should make it v. promising, but will make the drawdowns bigger, although hopefully you can offset the effect by simultaneously trading several more markets.

Obviously you have to have the cash for the margins, but you want to get the results for other markets like Crude, Gold, Treasuries, Wheat or Coffee (or another Ag.) - i.e. put together a basket of less correlated markets. Then combine the returns and see what the collated results look like. Might well be quite tradeable.

By the way, DAX is a big fat contract with high volatility and margin. Did you try the SP eMini?
 
Hi Adamus,

I tested this strategy on all trade-able futures markets: the JPY and DAX showed interesting and consistent results with an acceptable drawdown. In this case I chose for "market selection".
The JPY was optimized by taking out the worst day of the week and week of the month.
The DAX was not optimized at all. It only uses a different exit strategy.

Percentage wise, using Money Management (MM) does not make a difference in drawdown, only in absolute money value.
 
Hi Adamus,

I tested this strategy on all trade-able futures markets: the JPY and DAX showed interesting and consistent results with an acceptable drawdown. In this case I chose for "market selection".
The JPY was optimized by taking out the worst day of the week and week of the month.
The DAX was not optimized at all. It only uses a different exit strategy.

Percentage wise, using Money Management (MM) does not make a difference in drawdown, only in absolute money value.

If you optimised it then it will be useless going forward, you might as well take out all the losing days and says it 100% accurate. There's no way you will know going forward which days or weeks will be losers so you wont know which ones not to trade. Just because it lost money on Tuesdays in January doesnt mean that it will be the same next month. Likewise with testing different SL and TP levels, just because a 10 point SL and TP would have given the best results last month doesnt mean it will be the same next month and the month after that.
 
I tested this strategy on all trade-able futures markets: the JPY and DAX showed interesting and consistent results with an acceptable drawdown. In this case I chose for "market selection". The JPY was optimized by taking out the worst day of the week and week of the month. The DAX was not optimized at all. It only uses a different exit strategy.

Percentage wise, using Money Management (MM) does not make a difference in drawdown, only in absolute money value.

So the unoptimised system looked totally unprofitable on all the other markets? Or you tried optimising it for them and still got nothing useful?

Regarding MM - I guess it depends on what method you are talking about. I don't use any money management in the optimisation, analysis, testing or walk-forward stages. I just apply - or will apply more correctly when I start - fixed fractional lot sizing. It's pretty obvious that 2 lots on the same system will suffer more drawdown than 1 lot. What sort of MM are you talking about?

By the way, I don't see why your "no trading on tuesdays" rule shouldn't work if you optimised over long enough periods. Just make sure you walk-forward the system on data you didn't optimise on, and run it in simulated trading for a while first.

And be prepared to miss some big profits on Tuesdays :jester:
 
Here are the results of testing the system against a basket of Commodities - see thumbnail. This system is not optimized.
One is arranged on return %, the other on net profit. Drawdown has it's own column.
 

Attachments

  • Basket Results.jpg
    Basket Results.jpg
    251.7 KB · Views: 577
  • Basket Results002.jpg
    Basket Results002.jpg
    192.4 KB · Views: 442
This is pretty much what I'm doing as well, in terms of research. I end up with a huge bunch of stats on my screen too. I was slightly surprised that there's no total or average row at the bottom of your columns.
 
Hi Adamus,

Here all the "summary results" if all markets would be traded. This includes the markets with a severe and unacceptable drawdown or negative net profit to start off with. These markets were not shown on the previous thumbnail.
That does not make sense of course, one would select one or more markets to trade. But just to give you a different perspective, even including these markets would give a positive outcome.
 

Attachments

  • Summary all trades.jpg
    Summary all trades.jpg
    34.9 KB · Views: 619
Let's take only those markets that might have some kind of promising result. In other words, markets with an initial net profit of about 100% over the period 2001 - 2010.
That would be: DAX, T-Notes 5 yrs, EBI, Bean Oil, Copper, T-notes 10 yrs, Eurodollar, T-notes 2 yrs, AUD, SF, EBM, Soybeans, Can $, Sugar, Oats, Euro, Crude Light, Silver.
Here are the back testing results:
 

Attachments

  • Selected Markets.jpg
    Selected Markets.jpg
    33.4 KB · Views: 379
If we subsequently select:
the best performing markets - that is with higher net profit
correlating markets
leaving out Crude Light because of the high(er) draw down.

Then the list becomes:
GX
AN (not TY or AF)
EBI (not EBM)
Bean Oil (not Soybeans)
Copper (not silver)
AUD (not Can $, Euro or SF)
Sugar

(Remember, I used a slightly different exit here than the parabolic)

In other words 7 markets. Then the result becomes (2001 - 2010)
 

Attachments

  • Selected Markets 2.jpg
    Selected Markets 2.jpg
    31.6 KB · Views: 399
Last edited:
Yes that's obviously an edge. How many markets in that 'all markets' basket?

My philosophy is that a system could work on any market if it is sensibly tweaked to take that market's character into account.

Haven't proved that philosophy yet - still workiing on it.
 
Simple ADX Strategy

I have called this strategy: Simple ADX. It is my intention to provide the code for a basic trading strategy with the intention to learn from the input from other traders using this forum.

The basics of the strategy are as follows:

When the 14 period ADA rises from below 15 to above 15 with a change in the ADX of 0.5 or more, a big trend might be underway.
A simple Parabolic Stop is used.

Let's look at the code as I use it in Genesis Trade Navigator:

For a Long Entry:
IF DMI plus (14 , 0) > DMI minus (14 , 0) And ADX (14 , 0) <= 15 And ADX (14 , 0) > ADX (14 , 0).1 And Next Bar DayOfWeek <> 3 And Next Bar WeekOfMonth <> 4

For Long Exit:
IF Crosses Below (Low , Parabolic (0 , 0.02 , 0.2))
Then Sell Market

For Short Entry:
IF DMI minus (14 , 0) > DMI plus (14 , 0) And ADX (14 , 0) <= 15 And ADX (14 , 0) > (ADX (14 , 0)).1 And Next Bar DayOfWeek <> 2

For Short Exit:
IF Crosses Above (High , Parabolic (0 , 0.02 , 0.2))
Then Sell Market



The Long Entry looks at a DMI Plus > DMI Minus and the ADX must be rising ADX > ADX.1 (= one bar ago)
The last two conditions were added after back testing: it should not be the 3rd day of the week; it should not be the 4th week of the month.

I tested it on the Japanese Yen (in Genesis G6J-067).
Looking at the results over a long period of time (1977 – 2009):

Total Net profit: $102.538
Profit Factor: 3.05
Winning Percentage: 51.8%
Return %: 966.7%
Average trade: $932
Max Closed-out drawdown: -$6400
Max IntraDay Drawdown: -$7908
Percent in the market: 18.9%
Total trades: 110

Looking at a time when electronic trading was more common (2001 – 2009):
Total Net profit: $24.903
Profit Factor: 3.43
Winning Percentage: 57.1%
Return %: 290.7%
Average trade: $889
Max Closed-out drawdown: -$ 5145
Max IntraDay Drawdown: -$ 5865
Percent in the market: 14.6 %
Total trades: 28

What I like about this system is the low drawdown. It does not trade often but it has been a consistent winner with an average profit per trade around $ 900.

Money Management has not been applied. For slippage and commission I used $ 45 per trade.

So, now it is time to start shooting holes in this system and improve it. It would be great to make this into a robust trading system applicable to more Commodities than just the Japanese Yen. By the way, it also show promising results on the DAX.
One of the improvements could be on the Stops and/or Exits being used.

I am very interested to hear constructive input and/or improvements.

Trader J

Hello TraderJ

what do you mean for " .1" , " 3 " and " 4 " below?

- ADX (14 , 0).1
- Next Bar DayOfWeek <> 3
- Next Bar WeekOfMonth <> 4

thanks
 
In Trade Navigator ADX(14,0).1 means 1 day ago. In other words the ADX (14 bar) from today compared to the ADX (14) from yesterday. In this case, the ADX should be rising which is an indication of a possible trend coming up.
Next Bar DayofWeek <> 3 means: It should not be the 3rd day of the Week, in other words Wednesday is excluded. This was only done for the JPY
Next Bar WeekofMonth <>4 means: it should not be the 4th week of the month. Again, this was only applied to the JPY. For the DAX no improvements were made.
 
ADX/DMI is a great system, but Imho here the system is not complete, without the DMI's. ADX signals the level of strength of the trend, but it does'nt tell its direction nor when to get in a trade. DMI do.


Is there any further update as to the system..?
 
Hi,
thank you for the strategy. So just for understanding.
You wrote:"When the 14 period ADA rises from below 15 to above 15 with a change in the ADX of 0.5 or more"
1) ADA is ADX?
2) I dont see in your code anything that ADX has to rise above 15? And that the change has to be 0,5 or more.. ?
3) What is your timeframe for this strategy?

Regards
 
Top