"if sentence"

 
Immediately after the following conditioners (if....) one prints the variables: It´s stranger what MacdCurrent = to SignalCurrent(-0.0005) and MaCurrent = to MaPrevious (1.3109). Please, Who can explain it?

At the end I reproduce the records of the Log.
if (MacdCurrent < 0 &&
MacdPrevious < SignalPrevious &&
MacdCurrent > SignalCurrent &&
MathAbs(MacdCurrent) >(MACDOpenLevel*Point) &&
MaCurrent > MaPrevious)
// debbuging sentences
{Print("MacdCurrent:",MacdCurrent);
Print("MacdPrevious:",MacdPrevious);
Print("SignalPrevious:",SignalPrevious);
Print("SignalCurrent:",SignalCurrent);
Print("MathAbs(MacdCurrent):",MathAbs(MacdCurrent));
Print("MACDOpenLevel*Point:",MACDOpenLevel,Point);
Print("MaCurrent:",MaCurrent);
Print("MaPrevious:",MaPrevious);

Log
22:18:00 2005.01.14 15:16 MACD2_PGM EURUSD,H1:MacdCurrent:-0.0005
22:18:00 2005.01.14 15:16 MACD2_PGM EURUSD,H1:SignalCurrent:-0.0005
22:18:00 2005.01.14 15:16 MACD2_PGM EURUSD,H1:MaCurrent:1.3109
22:18:00 2005.01.14 15:16 MACD2_PGM EURUSD,H1:MaPrevious:1.3109
 
See MetaEditor dictionary please. Common functions - Print
===
Prints a message to the experts log. Parameters can be of any type. Arrays cannot be passed to the Print() function. Arrays should be printed elementwise. Data of double type are printed with 4 decimal digits after point. To print more precisely, use the DoubleToStr() function. Data of bool, datetime and color types will be printed as their numeric presentation. To print values of datetime type as string, convert them with the TimeToStr() function.
===
Reason: