A simple very profitable strategy, let’s find out together..
The Directional Movement Index (DMI) was created by Welles Wilder and presented in his 1978 book New Concepts in Technical Trading Systems. The DMI indicator measures the amount of directional movement or “trendiness” in a market, and is composed of three lines: DMI+ (DMIPlus), DMI- (DMIMinus), and ADX (Average Directional Index). When DMI+ is greater than DMI-, the trend is up; when DMI- is greater than DMI+, the trend is down. ADX is derived from the spread between DMI+ and DMI-. When ADX is rising, the market is considered to be in a trending mode. When ADX is falling, the market is considered to be in a nontrending mode.
The idea behind the Directional Movement Index System is that markets tend to cycle from a nontrending period to a trending period, back to a nontrending period, and so on. The longer a market trades in a nontrending mode, the more likely it is that the ensuing trend will offer a good trading opportunity. We will watch for stocks that have been in a nontrending mode and enter new positions when the stocks begin to trend.
To determine whether or not a stock is currently trending, we’ll use the Directional Movement Index (DMI). If ADX is below both the DMI+ and the DMI- lines, then we’ll consider the stock as not trending. Once we’ve determined that the stock is not trending, we’ll look at the behavior of the DMI for our entry conditions.
As discussed, the market is not trending when ADX is below both the DMI+ and DMI- lines; however, the market’s direction is considered to be up when DMI+ is above DMI- and down when DMI- is above DMI+.Therefore, when DMI+ is greater than DMI-, and ADX crosses above DMI-, we have a buy setup. When DMI- is greater than DMI+, and ADX crosses above DMI+, we have a setup to sell short.
Once a buy setup occurs, we establish our entry point as the high of the setup bar plus one point. When a sell setup occurs, our entry point is set at the low of the setup bar minus one point. The buy setup remains in effect until the entry point is reached or until ADX declines below DMI-; likewise, the sell setup remains in effect until the entry point is reached or until ADX declines below DMI+. Figure 1 shows the Directional Movement Index System applied to a chart along with the DMI Indicator.

When prices rally to our entry point for a buy, we’ll set our initial protective stop at the low of the setup bar minus one point. When prices decline to our entry point to sell short, we’ll set our initial protective stop at the high of the setup bar plus one point.
We have chosen two ways to exit our position in addition to the initial protective stop. We’ll exit our position with whichever exit criteria is met first. First, we will exit either a long or a short position on the next open when ADX reaches 30 and then ticks down (by “ticks down” wemean that ADX is less than it was on the previous bar). Alternatively, we will exit a long position when DMI+ crosses below DMI- or a short position when DMI- crosses below DMI+.
DEFINING YOUR TRADING RULES
In this system, we defined both long entries and short entries as well as exit orders. We also did some setup work to calculate the DMI. The setup, entries and exits are described next:
Setup
a) Calculate the DMI values: DMI+, DMI- and ADX.
Long Entries
a) When DMI+ is greater than DMI-, and ADX crosses above DMI-, and we are not in a long position, we have a buy setup.
b) Once a buy setup occurs, we establish our entry point as the high of the setup bar plus one point.
c) The buy setup remains in effect until the entry point is reached or until ADX declines below DMI-.
Short Entries
a) When DMI- is greater than DMI+, and ADX crosses above DMI+, and we are not in a short position, we have a setup to sell short.
b) When a sell setup occurs, our entry point is set at the low of the setup bar minus one point.
c) The sell setup remains in effect until the entry point is reached or until ADX declines below DMI+.
Exit Orders
a) When prices rally to our entry point for a buy, we’ll set our initial protective stop at the low of the setup bar minus one point.
b) When prices decline to our entry point to sell short, we’ll set our initial protective stop at the high of the setup bar plus one point.
c) We will exit either a long or a short position at the close once we’ve been in the position at least one bar and when ADX reaches 30 and then ticks down (by “ticks down” we mean that ADX is less than it was on the previous bar).
d) We will exit a long position when we’ve been in the position at least one bar and when DMI+ crosses below DMI- or a short position when we’ve been in the position at least one bar and when DMI- crosses below DMI+.
DESIGNING & FORMATTING
This section presents the EasyLanguage instructions and formatting for the system, with the EasyLanguage instructions broken down and explained line by line. I remind you that you can find the complete system on my Telgram channel.


Inputs
Following is the list of all the inputs we used in this system:

Long & Shorts Entries
If the DMI+ is greater than the DMI- and the ADX crosses over the DMI — and we are not in a long position already, we will set our entry price for a long position to the high of the current bar plus 1 point (stored in the variable BuyPrice). In addition, we set our exit price to the low minus 1 point as well as the variable BuySetup to True, meaning that the buy setup conditions have been met:

If the ADX declines back under the DMI- or we enter a long position, we set the BuySetup variable to False. This means we will no longer be looking for entry points:

If the DMI- is lower than the DMI- and the ADX crosses over the DMI- and we are not in a short position already, we will set our entry price for a short position to the low of the current bar minus 1 point (stored in the variable SellPrice). In addition, we set our exit price to the high plus 1 point as well as the variable SellSetup to True, meaning that the sell setup conditions have been met:

We will set the SellSetup variable to False if the ADX declines back under the DMI- or we enter a short position. This means we will no longer be looking for short entry points.

If the variable BuySetup is true, then we will place an order to buy on the next bar when the market reaches the price specified by the BuyPrice.
Once we enter a long position, we will set the variable BuySetup to False, this to avoid placing additional entry orders. Also, we will place a stop loss exit at the ExitPrc, this will have the value of the low minus 1 point of the setup bar, as defined previously.

Once we enter a short position, we will set the variable SellSetup to False, this to avoid placing additional entry orders. Also, we will place a stop loss exit at the ExitPrc, this will have the value of the high plus 1 point of the setup bar as defined previously.

Long & Short Exits
If the ADX reaches the value specified in theADXExit input (30 by default), and then declines once we have been in the position for more than 1 bar, we will exit either our long or short positions:

If the DMI+ declines and crosses under the DMI- we consider the market position to have changed so we will exit our long position (provided we’ve been in the position at least one bar):

If DMI Minus crosses under DMI-, we will exit our short position (provided we’ve been in the position at least one bar):

General System Format
When we apply a system to a chart, we normally use the options in the Format dialog box to format costs, stops, and properties. However, in this system we did not enter an amount for slippage and commission although those costs must certainly be taken into account before a system is traded. We did not specify a default number of shares to trade per order. Instead, we want to focus on what we believe to be a much improved method for determining the number of shares to trade. Please see the section at the end of this chapter, titled, “Investing a Fixed Dollar Amount,” for an explanation of how we are calculating the number of shares to trade.
Note: Remember that Commissions are calculated on a per contract/share basis. When you are trading stocks, you would enter the average commission you are charged divided by the number of shares the system is buying and selling.
We also did not enable a money management stop or a trailing stop for this system. Our initial protective stop for a long position is set at the low of the setup bar plus one point; our initial stop for a short position is set at the high of the setup bar plus one point.
Rather than enabling a trailing stop, we decided to demonstrate a system that exits on signals generated by indicators. We’ll exit our positions with one of two possible strategies. When ADX reaches 30 and ticks down, we’ll exit on the next open. Alternatively, we’ll exit a long position when DMI+ crosses below DMI- and exit a short position when DMI- crosses below DMI+ (we’ll exit with whichever strategy occurs first).
Conclusion
Now I leave it up to you to test this strategy on as many underlyings as you want, I did it but I don’t want to spoil anything! Have fun and let me know your results with a comment on this article! I remind you that you can find the complete system on my Telgram channel.
Bye🤘