Log in to see Cloud of Tags

**Main Page**- Category List
- Knowledge Base
- Traders Tips
- Indicator documentation
- Addin examples

Log in to search

`public static DIMinus Series(WealthLab.Bars bars, int period)`

bars |
The Bars object |

period |
Indicator calculation period |

The DIMinus value represents downward price movement as a percentage of true range. The more each down bar's price is equal to the true range, the larger the value of the DIMinus. The DIPlus and the DIMinus are not mirror images.

- DIMinus measures a market's negative directional movement. If DIMinus is greater then DIPlus, prices have a stronger negative directional movement.
- If prices fall for the number of periods specified then the DIMinus would be a high value and the DIPlus value would be near zero.
- If prices rise for the number of periods specified then the DIMinus value would be near zero and DIPlus would have a high value.
- If prices fluctuate for the number of periods specified, like in a trading range, then DIPlus and DIMinus will have similar values.
- The greater the difference between the DIPlus and DIMinus the stronger the trend. The DX indicator takes advantage of this.

where,

-DI = DIMinus

TR = True Range of current bar

The -DI is then smoothed over the Period specified, the same way as a simple moving average, and, -DM is calculated as follows:

- For uptrending days, -DM = zero
- For downtrending days, -DM = yesterday's low - today's low
- For inside days, -DM = zero
- For outside days, if yesterday's low - today's low, is greater than today's high- yesterday's high, then -MD = yesterday's low - today's low, otherwise -DM = zero
- For upwards gap days, -DM = zero
- For downwards gap days, -DM = yesterday's low - today's low

```
using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using WealthLab;
using WealthLab.Indicators;
```

namespace WealthLab.Strategies
{
public class MyStrategy : WealthScript
{
protected override void Execute()
{
// Color bars green when DI+ > DI-, otherwise color them red
ChartPane ADXPane = CreatePane( 50, true, true );
PlotSeries( ADXPane, DIMinus.Series( Bars, 14 ), Color.Red, LineStyle.Solid, 2 );
PlotSeries( ADXPane, DIPlus.Series( Bars, 14 ), Color.Green, LineStyle.Solid, 2 );
// DIPlus and DIMinus require stabilizing so start the bar count 3 to 4 times their period
for(int bar = 50; bar < Bars.Count; bar++)
{
if( DIPlus.Series( Bars, 14 )[bar] > DIMinus.Series( Bars, 14 )[bar] )
SetBarColor( bar, Color.Green ); else
SetBarColor( bar, Color.Red );
}
}
}
}