bulls[shift] != 0
bears[shift] != 0
Modified code
if(MathMode == 0)
{
if(mMA[0] - mMA[1] != 0)
bulls[shift] = 0.5*(MathAbs(mMA[0] - mMA[1]) + (mMA[0] - mMA[1]));
bears[shift] = 0.5*(MathAbs(mMA[0] - mMA[1]) - (mMA[0] - mMA[1]));
}
else
if(MathMode == 1)
{
double up = 0;
double dn = 10000000000;
for(int i=0;i<Length;i++)
{
up = MathMax(up,High[shift+i]);
dn = MathMin(dn,Low [shift+i]);
}
bulls[shift] = mMA[0] - dn;
bears[shift] = up - mMA[0];
}
else
if(MathMode == 2)
{
mLo[0] = allAverages(1,3,PreSmooth,MA_Method,masize,PreSmoo th + Length + 2,shift);
bulls[shift] = MathMax(0,0.5*(MathAbs(mMA[0] - mMA[1]) + (mMA[0] - mMA[1])));
bears[shift] = MathMax(0,0.5*(MathAbs(mLo[1] - mLo[0]) + (mLo[1] - mLo[0])));
if(bulls[shift] > bears[shift]) bears[shift] = EMPTY_VALUE;
else
if(bulls[shift] < bears[shift]) bulls[shift] = EMPTY_VALUE;
else {bulls[shift] = EMPTY_VALUE; bears[shift] = EMPTY_VALUE; }
}
else
if(MathMode == 3)
{
double slow = allAverages(1,price,Length,MA_Method,masize,PreSmo oth + Length + 2,shift);
if(mMA[0] - slow != 0)
bulls[shift] = 0.5*(MathAbs(mMA[0] - slow) + (mMA[0] - slow));
bears[shift] = 0.5*(MathAbs(mMA[0] - slow) - (mMA[0] - slow));
}
if(MathMode == 2) ,Wilder's DMI Book ,A reverse result was given !
why?
Bookmarks