Directional Movement Index
The Directional Movement Index (DMI) is a popular technical indicator used by traders to assess the strength and direction of a trend in a financial instrument. It was developed by J. Welles Wilder and is particularly useful in identifying trending markets. The DMI consists of three returned values: the Average Directional Index (ADX), the Positive Directional Indicator (PDI), and the Negative Directional Indicator (NDI).
The ADX is the primary component of the DMI and measures the strength of a trend, regardless of its direction. It provides traders with a numerical value ranging from 0 to 100. A higher ADX value indicates a stronger trend, while a lower value suggests a weaker or non-existent trend. Traders often look for ADX values above 25 to confirm the presence of a significant trend.
The PDI and NDI are secondary components of the DMI and provide insights into the direction of the trend. The PDI measures the strength of upward price movements, while the NDI measures the strength of downward price movements. Both indicators range from 0 to 100. When the PDI is above the NDI, it suggests a bullish trend, indicating buying pressure. Conversely, when the NDI is above the PDI, it suggests a bearish trend, indicating selling pressure.
Traders use the DMI to identify potential entry and exit points in the market. When the ADX is rising, it indicates an increasing trend strength, and traders may consider opening positions in the direction of the trend. Conversely, when the ADX is falling or below the 25 threshold, it suggests a weakening trend, and traders may consider closing their positions or waiting for a new trend to develop.
In summary, the DMI is a valuable technical indicator that helps traders assess the strength and direction of a trend. The ADX provides a measure of trend strength, while the PDI and NDI indicate the direction of the trend. By using these three values together, traders can make more informed decisions and improve their trading strategies.
Note: in our API responses, we use “mdi” (“minus DI”) instead of NDI, but that is just a naming difference.
Get started with the dmi
Simply make an HTTPS [GET] request or call in your browser:
[GET] https://api.taapi.io/dmi?secret=MY_SECRET&exchange=binance&symbol=BTC/USDT&interval=1h
API response
The dmi
endpoint returns a JSON response like this:
{
"adx": 32.79044853218805,
"pdi": 25.418284332339116,
"mdi": 16.2144851753789
}
Example response from TAAPI.IO when querying dmi endpoint.
API parameters
binance
, binancefutures
or one of our supported exchanges. For other crypto / stock exchanges, please refer to our Client or Manual integration methods.
BTC/USDT
Bitcoin to Tether, or LTC/BTC
Litecoin to Bitcoin...
1m
, 5m
, 15m
, 30m
, 1h
, 2h
, 4h
, 12h
, 1d
, 1w
. So if you're interested in values on hourly candles, use interval=1h
, for daily values use interval=1d
, etc.
backtrack
parameter removes candles from the data set and calculates the dmi value X amount of candles back. So, if you are fetching the dmi on the hourly and you want to know what the dmi was 5 hours ago, set backtrack=5
. The default is 0
.
chart
parameter accepts one of two values: candles
or heikinashi
. candles
is the default, but if you set this to heikinashi
, the indicator values will be calculated using Heikin Ashi candles. Note: Pro & Expert Plans only.
true
or false
. Defaults to false
. By setting to true
the API will return a timestamp with every result (real-time and backtracked) to which candle the value corresponds. This is especially helpful when requesting a series of historical values using the results
parameter.
1685577600
1731456000
If you only use fromTimestamp, the API will return all results from that time until present.
true
or false
. Defaults to true
. By setting to false
, the API will ensure that there are no candles missing. This often happens on lower timeframes in thin markets. Gaps will be filled by a new candle with 0 volume, and OHLC set the the close price of the latest candle with volume.
number
or max
. Use this parameter to access historical values on the past X candles until the most recent candle. Use max
to return all available historical values. Returns an array with the oldest value on top and most recent value returned the last.
Sets the number of candles used in the indicator calculation.
Default: 14
More examples
Let's say you want to know the dmi
value on the last closed candle on the 30m
timeframe. You are not interest in the real-time value, so you use the backtrack=1
optional parameter to go back 1 candle in history to the last closed candle.
[GET] https://api.taapi.io/dmi?secret=MY_SECRET&exchange=binance&symbol=BTC/USDT&interval=30m&backtrack=1
Get dmi values on each of the past X candles in one call
Let's say you want to know what the dmi
daily value was each day for the previous 10 days. You can get this returned by our API easily and efficiently in one call using the results=10
parameter:
[GET] https://api.taapi.io/dmi?secret=MY_SECRET&exchange=binance&symbol=BTC/USDT&interval=1d&results=10
Looking for even more integration examples in different languages like NodeJS, PHP, Python, Curl or Ruby? Continue to [GET] REST - Direct documentation.