In the interim you could use the following:

// set up factor to convert to Pip value

double iPipsFactor=MathPow(10, Digits);

double y=2; // and testing on chart EURUSD

double x;

double Price1=1.2012, Price2=1.201;

Price1*=iPipsFactor;

Price2*=iPipsFactor;

x=Price1-Price2;

Print("x1=",x);

if(x == y) Print("x2=",x);

else Print("x3=",x);

// set up factor to convert to Pip value

double iPipsFactor=MathPow(10, Digits);

double y=2; // and testing on chart EURUSD

double x;

double Price1=1.2012, Price2=1.201;

Price1*=iPipsFactor;

Price2*=iPipsFactor;

x=Price1-Price2;

Print("x1=",x);

if(x == y) Print("x2=",x);

else Print("x3=",x);

In following example, if x=0.0002 then x=y is true.

However, if x is calculated x=1.2012 - 1.201 = 0.0002 then result is false.

double y=0.0002;

double x;

x=0.0002;

x=1.2012-1.201;

Print("x1=",x);

if(x == y)

Print("x2=",x);

else

Print("x3=",x);

printout if x=0.0002

2005.11.01 19:51:50 merlin4xz6 EURUSD,M1: x2=0.0002

2005.11.01 19:51:50 merlin4xz6 EURUSD,M1: x1=0.0002

printout if x=1.2012 - 1.201

2005.11.01 19:51:50 merlin4xz6 EURUSD,M1: x3=0.0002

2005.11.01 19:51:50 merlin4xz6 EURUSD,M1: x1=0.0002

The subtraction shows:

Print(DoubleToStr(1.2012-1.201,8));

2005.11.01 20:54:54 merlin4xz6 EURUSD,M1: 0.00020000

I have 184 Buid 24 Oct. 2005

The problem shows even when y=0.2 and x=1.2 - 1;