Math::Business::DMI - Technical Analysis: Directional Movement Index (aka ADX)
use Math::Business::DMI; my $dmi = new Math::Business::DMI; $dmi->set_days(14); # alternatively/equivilently my $dmi = new Math::Business::DMI(14); # or to just get the recommended model ... (14) my $dmi = Math::Business::DMI->recommended; my @data_points = ( [ 5, 3, 4 ], # high, low, close [ 6, 4, 5 ], [ 5, 4, 4.5 ], ); # choose one: $dmi->insert( @data_points ); $dmi->insert( $_ ) for @data_points; my $adx = $dmi->query; # ADX my $pdi = $dmi->query_pdi; # +DI my $mdi = $dmi->query_mdi; # -DI # or my ($pdi, $mdi, $adx) = $dmi->query; if( defined $adx ) { print "ADX: $adi.\n"; } else { print "ADX: n/a.\n"; }
The ADX/DMI was designed by J. Welles Wilder Jr circa 1978.
The +DI and -DI signals measure the force of directional changes. When the +DI crosses above the -DI it may indicate that it's time to buy and when the -DI crosses above the +DI it may be time to sell.
The ADX tries to combine the two. It may indicate the strength of the current trend (but not it's direction). When it moves above 20 it may be the beginning of a trend and when it falls below 40, it may be the end of it.
The DMI uses the ATR to try to measure volatility.
NOTE: The +DI, -DI and ADX returned by this module are probabilities ranging from 0 to 1. Most sources seem to show the DMI values as numbers from 0 to 100. Simply multiply the three tuple by 100 to get this result.
my @DMI = map { 100*$_ } = $dmi->query;
Paul Miller <jettero@cpan.org>
<jettero@cpan.org>
I am using this software in my own projects... If you find bugs, please please please let me know. There is a mailing list with very light traffic that you might want to join: http://groups.google.com/group/stockmonkey/.
Copyright © 2013 Paul Miller
This is released under the Artistic License. See perlartistic.
BobBack <drchap...@gmail.com>
<drchap...@gmail.com>
perl(1), Math::Business::StockMonkey, Math::Business::StockMonkey::FAQ, Math::Business::StockMonkey::CookBook
http://fxtrade.oanda.com/learn/graphs/indicators/adx.shtml
To install Math::Business::DMI, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Math::Business::DMI
CPAN shell
perl -MCPAN -e shell install Math::Business::DMI
For more information on module installation, please visit the detailed CPAN module installation guide.