# Directional Movement Index (DMI)

#### Description <a href="#description_31" id="description_31"></a>

Welles Wilder Jr. developed the Directional Movement concept in 1978. His concept includes the following components:

Directional Movement Index (DMI)

Average Directional Movement Index ([*ADX*](/standard-indicators/average-directional-index-adx.md))

True Range (TR)

The Directional Movement Index comes before the Average Directional Movement Index. The DMI shows the strengths of the trend-favoring price movements in percentages. Its standard application is the smoothed ADX.

#### Interpretation <a href="#interpretation_15" id="interpretation_15"></a>

The DMI shows the strength of the trend, but not the trend direction. This means that it is particularly suited as a filter for trading systems employing the Parabolic SAR, for example, in order to filter out sideways phases. When the DMI rises (especially above 25), a trend is displayed; anything below that is recognized as a sideways phase. The +DI and the –DI point towards a trend. An uptrend is classified when the +DI is above the –DI. The further apart they drift, the stronger the trend.

#### Further information <a href="#further-information_15" id="further-information_15"></a>

VTAD: <http://vtadwiki.vtad.de/index.php/DMI_-_Directional_Movement_Index>

#### Usage <a href="#usage_32" id="usage_32"></a>

```csharp
DMI(int period)
DMI(IDataSeries inSeries, int period)
DMI(int period)[int barsAgo]
DMI(IDataSeries inSeries, int period)[int barsAgo]
```

#### Return value <a href="#return-value_32" id="return-value_32"></a>

**double**

When using this method with an index (e.g. **DMI**(20)\[**int** barsAgo] ), the value of the indicator will be issued for the referenced bar.

#### Parameters <a href="#parameters_29" id="parameters_29"></a>

inSeries Input data series for the indicator

period Number of bars included in the calculations

#### Visualization <a href="#visualization_33" id="visualization_33"></a>

![Directional Movement Index (DMI)](https://agenatrader.github.io/AgenaIndicator-documentation/media/DMI.jpg)

#### Example <a href="#example_32" id="example_32"></a>

```csharp
//Output for the DMI
Print("The current DMI value is: " + DMI(20)[0]);
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://indicators.agenatrader.com/standard-indicators/directional-movement-index-dmi.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
